AFFORDABLE AI AGENTS

Open-weight models.
Frontier answers.
30× cheaper.

ByteBell gives any open-weight model the context it needs to behave like a frontier one. Same answers, on your infrastructure, at a fraction of the bill.

// works with anything that speaks MCP — Claude Code, Cursor, Cline, Codex, Windsurf, Zed, Aider, Continue, Roo Code, Goose, OpenHands, Tabby
~/your-project
# index once. cheap model. frontier output.
$ bytebell boot
$ bytebell index ./
$ claude mcp add bytebell http://127.0.0.1:5757/mcp
# your $5 model now reads like a $200 one.
# same graph, every tool.
# swap to deepseek? same output.
the math

Look at last month's bill.

Most of what your agent costs isn't thinking. It's searching. ByteBell makes it stop searching.

without bytebell
Per session cost$6 – $10
Context usage>80%
Compactions per session3 – 4×
Monorepo accuracybaseline
Cross-repo accuracyfails
Monthly / developer (5 sessions/day) ~$1,200
with bytebell
Per session cost$0.04 – $0.20
Context usage~30%
Compactions per session0
Monorepo accuracy+40%
Cross-repo accuracyaccurate
Monthly / developer (unlimited sessions/day) ~$13
$1.2
per million tokens ingested (one-time file analysis)
$0.1
per million MCP input/output tokens
SHA-256
diff per file — re-index only what changed

Measured on production deployments across 500K+ files. Costs based on OpenRouter pricing.

why this works

Why a cheap model with ByteBell beats a premium model without it.

The gap between a $5 model and a $200 model isn't intelligence. It's context. Give the cheap model what the expensive one has, and the output collapses to the same thing.

premium model · no context
40 raw files of noise
auth/middleware.ts
auth/session.ts
auth/jwt.ts
billing/invoice.ts
billing/stripe.ts
utils/format.ts
utils/date.ts
utils/string.ts
api/users.ts
api/orgs.ts
api/teams.ts
… 29 more files

Read everything, hope the answer is in there. Compactions kick in. Quality collapses mid-session.

cheap model · ByteBell graph
The 3 files that matter
auth/middleware.ts // session validation entrypoint
auth/session.ts // token refresh + storage
auth/jwt.ts // signing key rotation

9-channel parallel search across purpose, classes, functions, imports, keywords, and business context. Graph + fulltext. No vectors — they flatten call graphs into a single point.

500K+ files indexed in production 100+ repos in a single org deployment <4% hallucination rate with receipt verification
quickstart

Running in five commands.

Bun + Docker. Local daemon. Binds to 127.0.0.1. No cloud, no telemetry.

step 01

Set your LLM provider

Point at OpenRouter with any model — Claude, GPT, DeepSeek, Kimi, or a local model.

step 02

Boot the stack

bytebell boot — spins up Neo4j, MongoDB, and Redis in Docker. One command.

step 03

Index your codebase

LLM analysis per file: purpose, summary, business context, classes, functions, imports. SHA-256 diff means re-indexing only processes changed files.

step 04

Connect any AI Agent

Pick your stack — Claude Agent SDK, OpenAI Agents, LangChain, Deep Agents, Vercel AI, PydanticAI, or Mastra. Same URL, same graph, every tool.

bash
$ bytebell set openrouter-api-key sk-or-...
$ bytebell boot
$ bytebell index ./

# Bytebell now serves MCP at http://127.0.0.1:5757/mcp
# Pick your agent SDK from the tabs above and wire it in.
$ pip install claude-agent-sdk

from claude_agent_sdk import query, ClaudeAgentOptions

options = ClaudeAgentOptions(
    mcp_servers={
        "bytebell": {"type": "http", "url": "http://127.0.0.1:5757/mcp"}
    },
)

async for msg in query(prompt="What repos are indexed?", options=options):
    print(msg)
$ npm i @anthropic-ai/claude-agent-sdk

import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const msg of query({
  prompt: "What repos are indexed?",
  options: {
    mcpServers: {
      bytebell: { type: "http", url: "http://127.0.0.1:5757/mcp" },
    },
  },
})) {
  console.log(msg);
}
$ pip install openai-agents

from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async with MCPServerStreamableHttp(
    name="bytebell",
    params={"url": "http://127.0.0.1:5757/mcp"},
) as server:
    agent = Agent(name="x", instructions="Use bytebell.", mcp_servers=[server])
    print((await Runner.run(agent, "What repos are indexed?")).final_output)
$ npm i @openai/agents

import { Agent, run } from "@openai/agents";
import { MCPServerStreamableHttp } from "@openai/agents/mcp";

const server = new MCPServerStreamableHttp({
  name: "bytebell",
  url: "http://127.0.0.1:5757/mcp",
});
await server.connect();

const agent = new Agent({
  name: "x",
  instructions: "Use bytebell.",
  mcpServers: [server],
});
console.log((await run(agent, "What repos are indexed?")).finalOutput);
$ pip install langchain-mcp-adapters langgraph langchain-anthropic

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

client = MultiServerMCPClient({
    "bytebell": {"url": "http://127.0.0.1:5757/mcp", "transport": "streamable_http"}
})
tools = await client.get_tools()

agent = create_react_agent("anthropic:claude-sonnet-4-5", tools)
print(await agent.ainvoke({"messages": "What repos are indexed?"}))
$ npm i @langchain/mcp-adapters @langchain/langgraph @langchain/anthropic

import { MultiServerMCPClient } from "@langchain/mcp-adapters";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { ChatAnthropic } from "@langchain/anthropic";

const client = new MultiServerMCPClient({
  mcpServers: {
    bytebell: { url: "http://127.0.0.1:5757/mcp", transport: "streamable_http" },
  },
});
const tools = await client.getTools();

const agent = createReactAgent({
  llm: new ChatAnthropic({ model: "claude-sonnet-4-5" }),
  tools,
});
console.log(await agent.invoke({ messages: "What repos are indexed?" }));
$ uv add deepagents langchain-mcp-adapters

from deepagents import create_deep_agent
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "bytebell": {"url": "http://127.0.0.1:5757/mcp", "transport": "streamable_http"}
})
agent = create_deep_agent(
    model="anthropic:claude-sonnet-4-5",
    tools=await client.get_tools(),
)
$ npm i deepagents @langchain/mcp-adapters @langchain/anthropic

import { createDeepAgent } from "deepagents";
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
import { ChatAnthropic } from "@langchain/anthropic";

const client = new MultiServerMCPClient({
  mcpServers: {
    bytebell: { url: "http://127.0.0.1:5757/mcp", transport: "streamable_http" },
  },
});
const agent = createDeepAgent({
  model: new ChatAnthropic({ model: "claude-sonnet-4-5" }),
  tools: await client.getTools(),
});
TypeScript
$ npm i ai @ai-sdk/anthropic @modelcontextprotocol/sdk

import { experimental_createMCPClient, generateText } from "ai";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { anthropic } from "@ai-sdk/anthropic";

const mcp = await experimental_createMCPClient({
  transport: new StreamableHTTPClientTransport(new URL("http://127.0.0.1:5757/mcp")),
});

const { text } = await generateText({
  model: anthropic("claude-sonnet-4-5"),
  tools: await mcp.tools(),
  prompt: "What repos are indexed?",
});
console.log(text);
Python
$ pip install pydantic-ai

from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

bytebell = MCPServerStreamableHTTP("http://127.0.0.1:5757/mcp")
agent = Agent("claude-sonnet-4-5", toolsets=[bytebell])

async with agent:
    print((await agent.run("What repos are indexed?")).output)
TypeScript
$ npm i @mastra/core @mastra/mcp

import { Agent } from "@mastra/core/agent";
import { MCPClient } from "@mastra/mcp";
import { anthropic } from "@ai-sdk/anthropic";

const mcp = new MCPClient({
  servers: { bytebell: { url: new URL("http://127.0.0.1:5757/mcp") } },
});

const agent = new Agent({
  name: "x",
  instructions: "Use bytebell.",
  model: anthropic("claude-sonnet-4-5"),
  tools: await mcp.getTools(),
});
pricing

Start free. Scale when ready.

No tricks. The open source version is real and complete. Paid plans add capacity and managed hosting.

Free
Try ByteBell on the cloud
$0
forever · on cloud
  • 1M tokens analysis — enough to index a medium repo once
  • 10M MCP input/output tokens
  • All MCP tools included
  • Any model, any tool
  • No credit card
Clone the repo
Individual
For power users
$13/user/mo
billed monthly
  • Up to 5M tokens analysis
  • 25M MCP input/output tokens
  • Managed hosting available
  • Conversation history
  • Priority indexing
  • Dashboard available
Enterprise
On-prem · air-gapped · SSO · custom MCP tooling
$250+/mo
starts at 75M token analysis · 100M MCP I/O
  • On-prem · air-gapped · SSO · custom MCP tooling
  • 75M token analysis (one-time ingest)
  • 100M MCP input/output tokens
  • Business context persistence
  • Cross-user histories
  • Admin and user dashboards

Your AI should behave like a frontier model.

Five commands. Open source. Any tool. Any model.

★ Star on GitHub
500K+ files indexed · 100+ repos per org · <4% hallucination