---
title: "Documentation MCP server — JSON-RPC 2.0 endpoint (no auth)"
method: POST
path: "/api/mcp-docs"
---

# Documentation MCP server — JSON-RPC 2.0 endpoint (no auth)

`POST /api/mcp-docs`

## Request

- Base URL: `https://app.atisbo.dev`
- URL: `https://app.atisbo.dev/api/mcp-docs`
- Auth: none declared

The read-only documentation server: search_docs, get_doc and list_docs over the same /docs corpus llms-full.txt inlines, served as JSON-RPC 2.0 with the same envelope conventions as /api/mcp. Unauthenticated by design — it can only return text that is already published at /docs, and it holds no tenant data and accepts no writes. Retrieval is keyword overlap over a corpus frozen at build time; no model runs in this path.

## Request body

- JsonRpcRequest: A JSON-RPC 2.0 request envelope.
  - `jsonrpc` '2.0', required
  - `id` union
    - string
    - number
  - `method` string, required
  - `params` object

## Response `200`

A JSON-RPC 2.0 response (result or error).

- JsonRpcResponse: JSON-RPC 2.0 envelope: exactly one of result or error.
  - `jsonrpc` '2.0', required
  - `id` union
    - string
    - number
  - `result` object
  - `error` object
    - `code` integer, required
    - `message` string, required

## Other responses

- `400`: Malformed JSON or not a JSON-RPC 2.0 request.
- `429`: Per-IP rate limit reached (30 requests per minute; fail-closed).

---

[API](https://skmtc.dev/atisbo/apis/atisbo-api.md) · [All operations](https://skmtc.dev/atisbo/apis/atisbo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/atisbo/apis/atisbo-api/revisions/708d199a2378?raw)
