# MCP

## List available MCP tools

> Returns all registered MCP tools with their schemas.\
> \
> \*\*Authentication\*\*: Requires bearer token via \`Authorization: Bearer \<token>\` header.\
> \
> \*\*Testing with MCP Inspector\*\*:\
> \`\`\`bash\
> npx @modelcontextprotocol/inspector --transport streamable-http --url <http://localhost:3478/sfp/api/mcp\\>
> \`\`\`\
> Then enter your application token in the "Bearer Token" field.\
> \
> \*\*Client configuration\*\* (e.g., .claude/settings.json or .vscode/mcp.json):\
> \`\`\`json\
> {\
> &#x20; "mcpServers": {\
> &#x20;   "sfp": {\
> &#x20;     "type": "http",\
> &#x20;     "url": "<https://your-server.com/sfp/api/mcp",\\>
> &#x20;     "headers": {\
> &#x20;       "Authorization": "Bearer \<your-application-token>"\
> &#x20;     }\
> &#x20;   }\
> &#x20; }\
> }\
> \`\`\`

````json
{"openapi":"3.0.0","info":{"title":"sfp server","version":"51.3.0"},"paths":{"/sfp/api/mcp/tools":{"get":{"operationId":"McpController_listTools","summary":"List available MCP tools","description":"Returns all registered MCP tools with their schemas.\n\n**Authentication**: Requires bearer token via `Authorization: Bearer <token>` header.\n\n**Testing with MCP Inspector**:\n```bash\nnpx @modelcontextprotocol/inspector --transport streamable-http --url http://localhost:3478/sfp/api/mcp\n```\nThen enter your application token in the \"Bearer Token\" field.\n\n**Client configuration** (e.g., .claude/settings.json or .vscode/mcp.json):\n```json\n{\n  \"mcpServers\": {\n    \"sfp\": {\n      \"type\": \"http\",\n      \"url\": \"https://your-server.com/sfp/api/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer <your-application-token>\"\n      }\n    }\n  }\n}\n```","parameters":[],"responses":{"200":{"description":"List of available MCP tools"},"403":{"description":"Forbidden - Requires role: owner, member, application"}},"tags":["MCP"]}}}}
````

## MCP Streamable HTTP GET endpoint

> Receives responses and notifications via Streamable HTTP transport. Part of the bidirectional MCP communication flow. Requires bearer token authentication.

```json
{"openapi":"3.0.0","info":{"title":"sfp server","version":"51.3.0"},"paths":{"/sfp/api/mcp":{"get":{"operationId":"McpController_handleMcpGet","summary":"MCP Streamable HTTP GET endpoint","description":"Receives responses and notifications via Streamable HTTP transport. Part of the bidirectional MCP communication flow. Requires bearer token authentication.","parameters":[],"responses":{"200":{"description":"Streamable HTTP response"},"403":{"description":"Forbidden - Requires role: owner, member, application"}},"tags":["MCP"]}}}}
```

## MCP JSON-RPC endpoint

> Handles 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>

```json
{"openapi":"3.0.0","info":{"title":"sfp server","version":"51.3.0"},"paths":{"/sfp/api/mcp":{"post":{"operationId":"McpController_handleMcpPost","summary":"MCP JSON-RPC endpoint","description":"Handles 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","parameters":[],"responses":{"201":{"description":"JSON-RPC response or SSE stream"},"403":{"description":"Forbidden - Requires role: owner, member, application"}},"tags":["MCP"]}}}}
```

## Close MCP session

> Terminates an active MCP session and cleans up server-side resources. Requires bearer token authentication.

```json
{"openapi":"3.0.0","info":{"title":"sfp server","version":"51.3.0"},"paths":{"/sfp/api/mcp":{"delete":{"operationId":"McpController_handleMcpDelete","summary":"Close MCP session","description":"Terminates an active MCP session and cleans up server-side resources. Requires bearer token authentication.","parameters":[],"responses":{"200":{"description":"Session closed"},"403":{"description":"Forbidden - Requires role: owner, member, application"}},"tags":["MCP"]}}}}
```
