Struvia in your AI
Use Struvia inside Claude or ChatGPT
Ask your AI to start a takeoff, check an estimate, or send a bid package, all from your own Struvia account. Setup takes about two minutes.
Connect Claude
About 2 minutes · works on the free plan- 1
Open Connectors, click Add, then Add custom connector
In claude.ai or the Claude app, open Settings → Connectors.
Settings → Connectors → Add → Add custom connector
- 2
Name it Struvia, paste this link, and click Continue
https://struvia.co/api/mcp/mcp
- 3
Sign in to Struvia and click Allow
Claude opens a Struvia sign-in window. No account yet? You can create one there.
- 4
Ask your first question
Start a new chat and try “Using Struvia, how many credits do I have left?” The first time, Claude asks before it uses each Struvia tool. Click Allow once, or Always allow so it stops asking for that tool.

Free Claude plan: one custom connector. Team or Enterprise: your admin adds Struvia once under Organization settings, and everyone gets it.
No Struvia account yet? You sign in with one when you connect. It's free.
Create a free accountUsing Cursor, Codex, VS Code, or Claude Code? Developer setup
After you connect
Try one of these
Copy a prompt into a new chat. Struvia shows you a preview and asks before anything costs money or emails someone.
“Using Struvia, how many credits do I have left?”
“Show my Struvia jobs and where each estimate stands.”
“Create a Struvia job for the Main St. remodel and upload these plans.”
“Compare the drywall bids on my latest job and tell me who to pick.”
- Does it cost extra?
- No. Struvia charges the same credits as the web app. Ask your AI how many you have left at any time.
- Can it do things without asking?
- Not the things that matter. Before it spends credits, sends an email, or awards a bid, it shows you a preview and asks you to confirm. Measuring saves its marks to your plan as it goes, where you can review or remove them in the plan viewer. Hands-off bid outreach (autopilot) only runs if your company has turned it on and you ask for it.
- What can it see?
- The same jobs and plans you can see when you sign in, and nothing else. Disconnect anytime in Struvia settings.
For developersCursor, VS Code, Codex, Claude Code, API keys
Cursor
Add to Cursor{
"mcpServers": {
"struvia": {
"url": "https://struvia.co/api/mcp/mcp"
}
}
}VS Code
code --add-mcp '{"name":"struvia","type":"http","url":"https://struvia.co/api/mcp/mcp"}'{
"servers": {
"struvia": {
"type": "http",
"url": "https://struvia.co/api/mcp/mcp"
}
}
}Codex
codex mcp add struvia --url https://struvia.co/api/mcp/mcp
codex mcp login struviaClaude Code
claude mcp add --transport http struvia https://struvia.co/api/mcp/mcp
# Then run /mcp inside Claude Code and complete the OAuth sign-in.
# API-key fallback (no OAuth):
# claude mcp add --transport http struvia https://struvia.co/api/mcp/mcp --header "Authorization: Bearer struvia_..."One installer prompt for any local AI
Tells an agent to detect its host, configure Struvia safely, and prove the connection with read-only calls. Agents can also read the plain-text guides at /llms.txt.
Connect this environment to the Struvia MCP server. Do it now, without editing application source code.
Server name: struvia
Endpoint: https://struvia.co/api/mcp/mcp
Transport: Streamable HTTP. OAuth is discoverable from the endpoint via RFC 9728 protected-resource metadata, so OAuth-capable clients can sign in with no key.
1. Detect which MCP client you are running inside, then register the server with its native mechanism:
- Claude Code: claude mcp add --transport http struvia https://struvia.co/api/mcp/mcp
then run /mcp and complete the OAuth sign-in.
- Codex CLI: codex mcp add struvia --url https://struvia.co/api/mcp/mcp
then: codex mcp login struvia
- Cursor: merge {"mcpServers":{"struvia":{"url":"https://struvia.co/api/mcp/mcp"}}} into .cursor/mcp.json (project) or ~/.cursor/mcp.json (global), then enable the server.
- VS Code: code --add-mcp '{"name":"struvia","type":"http","url":"https://struvia.co/api/mcp/mcp"}'
- Any other MCP client or CLI: register a Streamable HTTP server named "struvia" at the endpoint using that client's own configuration format.
2. Prefer OAuth. If this client cannot complete OAuth, fall back to a per-user API key:
- I can create one at https://struvia.co/dashboard/settings?section=integrations (keys look like struvia_<64 hex chars>).
- Send it as an "Authorization: Bearer <key>" header, sourced from the client's environment-variable or secret storage (suggested name: STRUVIA_USER_API_KEY).
- Never ask me to paste the API key into chat, print it, commit it, or write it into a project file.
3. Reload or restart the client if it caches MCP configuration.
4. Verify: list the server's tools, then call the read-only account.whoami tool and report which Struvia account is connected. Do not invoke write, send, approval, or estimate-running tools during setup.Can't use OAuth?
Generate a key in Struvia Settings and expose it to the client asSTRUVIA_USER_API_KEY. Never paste the key into an AI conversation or commit it to a repository.
{
"mcpServers": {
"struvia": {
"type": "http",
"url": "https://struvia.co/api/mcp/mcp",
"headers": {
"Authorization": "Bearer ${STRUVIA_USER_API_KEY}"
}
}
}
}