---
title: "Handle MCP JSON-RPC requests"
method: POST
path: "/mcp"
tags: ["MCP"]
---

# Handle MCP JSON-RPC requests

`POST /mcp`

## Request

- Base URL: `https://api.skills-hub.ai`
- URL: `https://api.skills-hub.ai/mcp`
- Auth: one of:
  - HTTP bearer
  - API key in header `Authorization`

Public MCP Streamable HTTP endpoint (Model Context Protocol). Accepts JSON-RPC requests for the `skills-hub` tools, prompts, and resources, establishing a new session (returned via the `mcp-session-id` response header) or reusing an existing one. Callers may be anonymous or authenticated — a valid `Authorization` credential attaches an org principal so install-policy filtering is enforced.

## Response `200`

Successful response. The returned fields are described in this endpoint's summary/description; typed per-field response schemas are being added incrementally.

- object: JSON-RPC 2.0 response written by the MCP StreamableHTTP transport (reply.hijack()). Body carries the result of the invoked JSON-RPC method (tools/list, tools/call, prompts/list, prompts/get, resources/list). Content-Type is application/json or text/event-stream depending on negotiation; the mcp-session-id response header names the session.
  - `jsonrpc` '2.0'
  - `id` union
    - string
    - number
  - `result` object: Method-specific payload — e.g. { tools: [...] }, { prompts: [...] }, { resources: [...] }, or a tool-call result { content: [{ type: 'text', text: '...' }] }.

---

[API](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api.md) · [All operations](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skills-hub/apis/skills-hub-ai-api/revisions/cb5d46d80300?raw)
