Ask your portfolio a question from inside your AI assistant.
Projexion runs a hosted Model Context Protocol server, so Claude, ChatGPT, Cursor, or whatever your team already uses can read your dashboards, run your calculations, and update your projects. You sign in with your normal Projexion account, and the assistant sees exactly what you see.
Three steps, about two minutes
There's no API key to issue, paste, or rotate. Your client registers itself and sends you to a normal browser login.
The endpoint
One URL, the same tools in every client. Most clients take it in a JSON config file, and a few spell the transport streamable-http rather than http, so check your own client docs for where that file lives.
The tools
Every tool carries MCP annotations, a title plus the read-only, destructive, and idempotent hints, so your client can tell which calls are worth confirming before it makes one.
| Tool | What it does | Access |
|---|---|---|
| list_accounts | Lists the accounts this connection may work in and marks the default. Pass a returned id as accountId on any other tool to run it in that account. | read-only |
| get_graphql_schema | Returns the GraphQL SDL for the types you name, plus the types they reference, so one call gives the assistant a whole shape to work from. | read-only |
| validate_graphql | Checks a query or mutation against the schema without running it. | read-only |
| execute_graphql | Runs a query or mutation against the Projexion API. Subscriptions aren't supported. | writes |
| semantic_search | Finds projects, entities, and knowledgebase articles by meaning rather than exact name, so "the healthcare job in Baltimore" still lands. | read-only |
| search_knowledgebase | Searches the Projexion product knowledgebase for how a feature actually works. | read-only |
| list_integrations | Lists which integrations supply the account's data, and which data types each one populates. | read-only |
| run_calculation | Runs a stored calculation graph and returns the number, optionally scoped to projects and a resolution. Waits up to 30 seconds, then hands back a pollId to call it again with. | writes |
| get_table_content | Reads a table or scorecard widget's calculated rows with their column headers, straight from the render cache, so no calculation gets triggered. Pages with offset and limit. | read-only |
| get_widget_content | Reads a widget's rendered content: single numbers, table rows, chart series, and so on. | read-only |
| get_skill | Returns step-by-step instructions for a Projexion skill, which is a reusable procedure for a complex task. | read-only |
Pass widgetIds to the two content readers to name the widgets you want, from any dashboard you can reach. Leaving widgetIds off falls back to whatever is on your screen in the Projexion web app, which is nothing over an MCP connection.
What people actually ask it
The same questions you would bring to an analyst, answered against live data instead of last Thursday's export.
The assistant inherits your permissions, it doesn't bypass them.
You log in as yourself and grant the connection a specific set of accounts at the consent screen. It can work in those accounts and no others.
Every tool call re-authenticates and re-checks your own user's permissions server-side against the account it resolves to. If you can't see a project, dashboard, or cost figure in Projexion, neither can the assistant, whichever model is behind it.
Authentication is OAuth 2.1 with PKCE and dynamic client registration, so there's no token to paste and no secret to store on your machine. Projexion is SOC 2 Type II compliant.
Questions people ask before they connect
Does this only work with Claude?
No. MCP is an open standard, so the server isn't tied to one model or one vendor. Claude Code has a one-command plugin, and everything else, ChatGPT, Gemini, Cursor, VS Code, Windsurf, Zed, points at the same URL and gets the identical tools.
What does it cost?
Nothing extra. The MCP server is part of your Projexion subscription, and any user in your account can connect with their own login.
Can it change our data?
Yes, within your own permissions. execute_graphql is the one tool annotated destructive, because the schema's mutations reach every entity your role allows. Most clients will ask you to confirm those calls, and everything else either reads or fills a calculation cache.
What happens on a portfolio-wide calculation?
A big graph can outrun a single tool call, so run_calculation waits up to 30 seconds and otherwise returns a pollId. The assistant calls it again with that id and reports progress in the conversation instead of holding a request open.
Is there a live progress stream?
No, and that's deliberate. The server answers each request and closes, with no server-to-client event stream, which is what keeps it behaving identically in every MCP client rather than only the ones that implement progress notifications.
Where do we get support?
Email support@projexion.io and a construction-native team answers, or ask your Projexion contact directly.
Put the portfolio where your team already works.
Book a demo and we'll connect it to data like yours.