๐ MCP Server
This is a stateless MCP server implementing the MCP 2026-07-28 specification. It exposes tools that AI agents can call to search, read, and explore this site.
Endpoint: POST https://rukuma.dev/mcp
Protocol: JSON-RPC 2.0 over HTTP (stateless)
Content-Type: application/json
Available Tools
search
Semantic search across all content. Returns matching pages with relevance scores via Vectorize + Workers AI.
args: query (string), limit? (number)
read_page
Get the full markdown content of any page on the site.
args: slug (string)
list_pages
List all available pages with slugs, titles, descriptions, and categories.
args: category? (string)
site_info
Get site metadata โ name, description, page count, and capabilities.
args: none
Quick Start
List available tools:
curl -X POST https://rukuma.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
Search the site:
curl -X POST https://rukuma.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"search","arguments":{"query":"agentic web"}},"id":2}'
Read a page:
curl -X POST https://rukuma.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"read_page","arguments":{"slug":"what-is-agentic-web"}},"id":3}'
Initialize handshake:
curl -X POST https://rukuma.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":0}'
Connect from an MCP Client
Using the MCP TypeScript SDK:
import { Client } from "@modelcontextprotocol/sdk/client";
const client = new Client({
url: "https://rukuma.dev/mcp",
// Stateless โ no session needed
});
const tools = await client.listTools();
// [search, read_page, list_pages, site_info]
const results = await client.callTool("search", {
query: "agentic web"
});
View llms.txt ยท robots.txt ยท sitemap.xml ยท API health ยท Agent stats