MCP integration

A native Model Context Protocol server. Plug your knowledge base into any AI agent.

No middleware. No SaaS bridge. No bespoke tool descriptions per agent. The MCP server ships in the same binary as the search engine.

{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "tools/call",
  "params": {
    "name": "stratafs.search",
    "arguments": {
      "query": "where do we handle JWT refresh",
      "sources": [
        "code",
        "docs"
      ],
      "mode": "hybrid",
      "limit": 3
    }
  }
}

MCP tools/call over JSON-RPC 2.0 — exactly what Claude Desktop, ChatGPT plugins, and custom agents speak.

What MCP is, in two lines

The Model Context Protocol is an open spec (Anthropic, late 2024) for letting agents discover and call tools over JSON-RPC 2.0. It's the "USB-C" of agent integrations — every major client speaks it, every server can target it once.

The StrataFS tool catalog

Pointed at http://localhost:8081/mcp, an agent sees four tools immediately:

Pre-shaped responses

A naive search server returns raw rows. StrataFS returns { type: "text", text: "<path>:<line> — <snippet>" } blocks, already truncated to a sensible context budget. That means agents consume search results without you writing a custom adapter, and tokens don't get burned on JSON scaffolding.

Why this matters: agents are bottlenecked on context window, not bandwidth. A search server that doesn't pre-shape its output forces every agent to re-implement the same trimming logic — and to do it badly.

Connecting Claude Desktop

Add this to your Claude Desktop MCP config (see our setup walkthrough for the long version):

{
  "mcpServers": {
    "stratafs": {
      "url": "http://localhost:8081/mcp"
    }
  }
}

Restart Claude. Ask "What does the auth/middleware/refresh.go file do?" and Claude will call stratafs.search, fetch the relevant chunks, and answer from your actual code — not from training data.

Connecting custom agents

Any MCP client works. For Python:

from mcp import Client

async with Client("http://localhost:8081/mcp") as c:
    tools = await c.list_tools()
    result = await c.call_tool(
        "stratafs.search",
        {"query": "rate limit configuration", "limit": 5},
    )
    for block in result.content:
        print(block.text)

MCP-only mode

If you don't need the REST API, run stratafs serve --mcp-only to skip the HTTP server entirely. The binary is small, the surface area is smaller. Great for laptops where the only consumer is Claude Desktop.

Privacy and access

Wire up your agent in five minutes.

One config edit. The semantic filesystem becomes a tool your AI already knows how to call.