MCP JSON-RPC endpoint (production)
Single JSON-RPC entry point that external MCP clients connect to in production. Dispatches the standard MCP methods (`initialize`, `tools/list`, `tools/call`, etc.); `tools/list` reflects the integration's `exposedToolIds`, and `tools/call` resolves the integration's published `configId` revision to authenticate against the real upstream API. Authenticated via API key (the `apiKeyId` configured on the MCP settings) and concurrency-rate-limited. Use `/integrations/{integration}/mcp:test` for the sandbox equivalent that routes through the integration simulator.
API-Only Endpoint
This endpoint is available via API only and requires a Fruxon bearer token: Authorization: Bearer YOUR_TOKEN.
Fill in your parameters below and the code samples will update automatically.
To generate a token, see the Settings guide.
Authorization
Token Fruxon token presented as a Bearer token: Authorization: Bearer fx_pat_… (personal) or fx_sat_… (service account). Generate one from Settings → API Access.
In: header
Path Parameters
The integration ID.
The tenant identifier
The JSON-RPC request envelope.
Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/integrations/string/mcp:call" \ -H "Content-Type: application/json" \ -d '{ "property1": {}, "property2": {} }'{
"property1": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {},
"root": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {},
"root": {}
}
},
"root": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {},
"root": {}
},
"root": {}
}
},
"property2": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {},
"root": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {},
"root": {}
}
},
"root": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {
"options": {
"propertyNameCaseInsensitive": true
},
"parent": {},
"root": {}
},
"root": {}
}
}
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Get MCP settings for an integration.
Returns the integration's MCP server configuration: whether it is `enabled`, which integration `configId` backs production calls, the `exposedToolIds` list that filters which tools the MCP server advertises, and the `apiKeyId` used to authenticate inbound JSON-RPC traffic. If no MCP config exists for the integration one is created lazily with defaults, so this endpoint is safe to call before any configuration step.
Update MCP settings for an integration.
Patches `enabled`, `configId`, `exposedToolIds`, and `description` on the integration's MCP server settings; null fields are preserved. When `enabled` transitions to `true` for the first time, a dedicated MCP-scoped API key is auto-minted and bound to this MCP; the raw secret is returned exactly once on `apiKey` — surface it to the user immediately. Use `POST /integrations/{integration}/mcp:rotateKey` to mint a fresh secret later. Toggling `enabled` to false causes the JSON-RPC endpoints to reject calls for this integration but leaves the bound key in place so re-enabling doesn't break already-distributed configs.