Connect Your Agent
The MCP endpoint is your Pharus API host plus /mcp:
https://<pharus-backend>.run.app/mcp
It speaks Streamable HTTP (the current MCP remote transport), stateless — no sessions to
manage. You need a personal access token (pharus_pat_...).
Replace https://<pharus-backend>.run.app below with the API URL for your environment — the same
host your Pharus web client talks to.
Claude Code
claude mcp add --transport http pharus https://<pharus-backend>.run.app/mcp \
--header "Authorization: Bearer pharus_pat_YOUR_TOKEN"
Then just ask: "using pharus, how much raw cotton do we have in stock?"
Claude Desktop / claude.ai
Add a custom connector (Settings → Connectors → Add custom connector) with the URL
https://<pharus-backend>.run.app/mcp. For clients that don't yet support sending a custom
Authorization header, bridge with mcp-remote in your
claude_desktop_config.json:
{
"mcpServers": {
"pharus": {
"command": "npx",
"args": [
"mcp-remote",
"https://<pharus-backend>.run.app/mcp",
"--header",
"Authorization: Bearer pharus_pat_YOUR_TOKEN"
]
}
}
}
Claude API (MCP connector)
Pass the server directly in a Messages API call:
{
"model": "claude-opus-4-8",
"max_tokens": 2048,
"mcp_servers": [
{
"type": "url",
"url": "https://<pharus-backend>.run.app/mcp",
"name": "pharus",
"authorization_token": "pharus_pat_YOUR_TOKEN"
}
],
"messages": [{ "role": "user", "content": "List our open purchase orders" }]
}
Any other MCP client
Standard Streamable HTTP configuration:
- URL:
https://<pharus-backend>.run.app/mcp - Header:
Authorization: Bearer pharus_pat_YOUR_TOKEN - Transport: Streamable HTTP (POST only; the server is stateless and returns JSON responses)
First contact
Your token is bound to a single organization and every call is scoped to it automatically — there is no identity or "who am I" step. Jump straight into the data plane: the Tool Reference is the menu.
Troubleshooting
| Symptom | Cause |
|---|---|
401 Unauthorized | Missing/invalid/expired/revoked token, or a non-PAT bearer (the MCP endpoint only accepts pharus_pat_* tokens). |
403 forbidden on a tool call | Your role in the organization doesn't allow that operation (e.g. member trying an admin-only delete). |
405 Method Not Allowed | The client tried GET/SSE on /mcp — the server is stateless; use a Streamable-HTTP client. |
Tool error validation_failed | The arguments don't match the tool's input schema — the error details name the offending fields. |