MCP
sfp server API reference for MCP: 4 endpoints.
/sfp/api/mcp/toolsReturns all registered MCP tools with their schemas.
Authentication — OAuth 2.1 (recommended): add the MCP URL with no credentials; the client discovers the authorization server from the 401 challenge, signs you in via the browser, and every tool call runs with YOUR user permissions.
{ "mcpServers": { "sfp": { "type": "http", "url": "https://your-server.com/sfp/api/mcp" } }}Equivalent: claude mcp add --transport http sfp https://your-server.com/sfp/api/mcp
Authentication — application token (headless/CI): pass an application token as a bearer header. Tokens scoped sfp:read cannot invoke write actions.
{ "mcpServers": { "sfp": { "type": "http", "url": "https://your-server.com/sfp/api/mcp", "headers": { "Authorization": "Bearer <your-application-token>" } } }}Testing with MCP Inspector:
npx @modelcontextprotocol/inspector --transport streamable-http --url http://localhost:3478/sfp/api/mcpComplete the OAuth flow in the opened browser, or enter an application token in the "Bearer Token" field.
Response Body
curl -X GET "https://example.com/sfp/api/mcp/tools"/sfp/api/mcpHandles MCP protocol requests via Streamable HTTP transport. Send JSON-RPC messages to invoke tools, list resources, or interact with the MCP server. Requires bearer token authentication. See https://modelcontextprotocol.io/docs/concepts/transports#streamable-http
Response Body
curl -X POST "https://example.com/sfp/api/mcp"/sfp/api/mcpReceives responses and notifications via Streamable HTTP transport. Part of the bidirectional MCP communication flow. Requires bearer token authentication.
Response Body
curl -X GET "https://example.com/sfp/api/mcp"/sfp/api/mcpTerminates an active MCP session and cleans up server-side resources. Requires bearer token authentication.
Response Body
curl -X DELETE "https://example.com/sfp/api/mcp"