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 authentication using the X-API-KEY header.
Fill in your parameters below and the code samples will update automatically.
To generate an API key, see the Settings guide.
Authorization
ApiKey API key passed in the X-API-KEY header. Generate one from the Fruxon settings.
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.