Codemode Workers
FreeNot checkedExpose any API to an LLM agent as two sandboxed MCP tools (search + execute) on Cloudflare Workers.
About
Expose any API to an LLM agent as two sandboxed MCP tools (search + execute) on Cloudflare Workers.
README
Expose any API to an LLM agent as two sandboxed MCP tools (search + execute) on Cloudflare Workers.
CI coverage npm version types included docs license MIT
Instead of registering thousands of tool schemas, you register two tools (search + execute). The catalog stays on the server; the agent writes JavaScript that runs in a fresh, sandboxed isolate. Same pattern as cloudflare-mcp, packaged for any API.
Docs: codemode-workers.pages.dev
Why
One tool per endpoint dumps every schema into the model's context. Code mode keeps the spec server-side and sends two tools, so the context cost stays flat however big the API is. Against the Urantia Papers API (58 endpoints):
| Approach | Tools | Tokens |
|---|---|---|
| One tool per endpoint, full | 58 | 3,489 |
| Code mode | 2 | 184 |
Run bun run eval:tokens <specUrl> to measure it for your own API.
Install
npm install codemode-workers
Bring your own MCP server SDK (e.g. @modelcontextprotocol/server). The library only needs a registerTool(name, config, cb).
Usage
// wrangler.jsonc
{
"worker_loaders": [{ "binding": "LOADER" }],
"services": [
{
"binding": "GATE_SELF",
"service": "<your-worker>",
"entrypoint": "Gate",
},
],
}
import { exports } from 'cloudflare:workers'
import {
createGate,
processSpec,
registerCodemodeTools,
} from 'codemode-workers'
export const Gate = createGate({ allowedHosts: ['api.example.com'] })
registerCodemodeTools(server, {
loader: env.LOADER,
catalog: {
get: async () => processSpec(await (await fetch(SPEC_URL)).json()),
},
api: {
baseUrl: 'https://api.example.com/v1',
outbound: () =>
exports.Gate({
props: { headers: { Authorization: `Bearer ${env.API_TOKEN}` } },
}),
},
})
search runs code over your catalog with no network. execute calls the API through the gate, which allowlists your host and injects the credential that the agent never sees. Full walkthrough and API reference in the docs.
Security
The credential lives in the gate, outside the sandbox, so agent code cannot read the token or reach any host but yours. search has no network. Every call is a fresh isolate. Details and residual risks: codemode-workers.pages.dev/security.
Develop
bun install
bun run check # typecheck + tests (workerd via @cloudflare/vitest-pool-workers)
License
MIT. See LICENSE.
Installing Codemode Workers
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/ancs21/codemode-workersFAQ
Is Codemode Workers MCP free?
Yes, Codemode Workers MCP is free — one-click install via Unyly at no cost.
Does Codemode Workers need an API key?
No, Codemode Workers runs without API keys or environment variables.
Is Codemode Workers hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Codemode Workers in Claude Desktop, Claude Code or Cursor?
Open Codemode Workers on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Codemode Workers with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
