Factuarea APIDevelopers

MCP protocol and transport

Use revision 2026-07-28 with stateless discovery, explicit request headers and scoped pagination.

Factuarea supports protocol revision 2026-07-28 at https://mcp.factuarea.com. Requests use a JSON-RPC 2.0 envelope over HTTP, with the protocol context carried in every request. The server does not establish a session: start with server/discover; legacy initialize and ping are rejected. A client supporting an older MCP revision is not automatically compatible.

First request

curl https://mcp.factuarea.com \
  -H "Authorization: Bearer $FACTUAREA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: server/discover" \
  --data '{
  "jsonrpc": "2.0",
  "id": "discover-1",
  "method": "server/discover",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientCapabilities": {},
      "io.modelcontextprotocol/clientInfo": {
        "name": "erp-factuarea",
        "version": "1.0.0"
      }
    }
  }
}'

Send MCP-Protocol-Version and Mcp-Method on every call, matching the envelope. For named operations such as tools/call and prompts/get, add Mcp-Name matching params.name; resource reads identify the resource URI. Keep the _meta protocol version, capabilities and client information in each request. Authenticate every call with an API key or OAuth access token.

Discover and call

After server/discover, use tools/list, resources/list and prompts/list. Tool discovery is filtered by credential scopes and channel policy: the complete catalog has 457 tools, of which 368 are OAuth-reachable. Always use the returned schema; a tool hidden from your credential is not made available by knowing its name.

Successful results use the revision’s resultType: complete shape. Inspect error envelopes and tool errors separately; a protocol lookup failure and a business rejection have different remedies. Irreversible operations enforce idempotency_key according to their policy even when the input schema marks it optional. Replayed calls can return com.factuarea/idempotentReplay metadata.

Pagination and caching

Follow opaque nextCursor values while retaining the same credential and request context. Cursors expire; restart discovery when one becomes invalid. The default cursor lifetime is 120 seconds, with a configured maximum of 300 seconds. Respect returned cache hints and their private scope; never reuse another company’s or credential’s tool list. Default discovery/resource cache hints are 60 seconds, but the response is authoritative.

On this page

Need a hand?Contact support