This is an MCP POST endpoint (Model Context Protocol, Streamable HTTP). Send POST requests with a JSON-RPC 2.0 body and these headers: Content-Type: application/json Accept: application/json, text/event-stream Public access: no token required for open knowledge bases. Authentication (required for private/subscriber-only content), any one of: header Authorization: Bearer t2g_ query param ?token=t2g_ header X-API-Key: Get a personal token: your account → Tokens → Generate token. Client config (Claude Desktop / Claude Code / Cursor / Copilot / Gemini CLI): Anonymous (public KB): { "mcpServers": { "trip2g": { "type": "http", "url": "https://trip2g.com/_system/mcp" } } } Authenticated (private pages): { "mcpServers": { "trip2g": { "type": "http", "url": "https://trip2g.com/_system/mcp", "headers": { "Authorization": "Bearer t2g_" } } } } Tools: search, note_html, expand, similar — search this base and read it, whole notes or one section at a time (toc_path), or one chunk (match_id). federated_search, federated_note_html, federated_expand, federated_similar, federated_instructions — the same against a connected peer base, addressed by kb_id; nested bases are addressed /. Extend MCP via note frontmatter: mcp_method: — expose a note as an MCP tool; the note's content becomes the tool's response. mcp_method: initialize — the note whose content is returned in the instructions field of the initialize response. This does not override the JSON-RPC initialize method itself. Pick a different note with ?method=. Read more in the docs. Docs: https://trip2g.com/en/user/mcp