Search

Search the documentation

Protobox

MCP

Give any AI client instant access to your tools, knowledge, and prompts — one MCP endpoint, zero backend code

MCP Server

Your Claude Desktop assistant needs to search your company's docs. Your Cursor agent needs to call your internal order API. Your custom agent needs reusable prompt templates. Each of these normally means building and hosting a backend service.

Protobox gives every workspace a managed MCP endpoint that handles all of it:

https://{workspace-slug}.protobox.app/mcp

Connect any MCP-compatible client and your assistant instantly gets your tools, knowledge search, and prompts over the Model Context Protocol (Streamable HTTP). No backend code. No infrastructure. No RAG pipeline to build.

What Your Client Gets

One MCP connection, served from your workspace:

Without ProtoboxWith Protobox
Build a tool execution runtimeCall any HTTP endpoint, JavaScript function, or code tool you define
Build a RAG pipeline (chunk, embed, retrieve)Upload docs and get semantic search exposed as MCP resources
Build a prompt versioning systemReusable prompt templates exposed as MCP prompts
Manage credentials securelyEncrypted secret storage, referenced by name in tool configs

Quick Start

In the dashboard, go to Connect → MCP (or Manage → API Keys) and create a workspace API key. You'll send it in the X-API-Key header.

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "protobox": {
      "type": "streamablehttp",
      "url": "https://acme.protobox.app/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Restart Claude Desktop. Your Protobox tools appear in the tools menu.

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "protobox": {
      "type": "streamablehttp",
      "url": "https://acme.protobox.app/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Add to .mcp.json in your project root:

{
  "mcpServers": {
    "protobox": {
      "type": "streamablehttp",
      "url": "https://acme.protobox.app/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://acme.protobox.app/mcp'),
  {
    requestInit: {
      headers: { 'X-API-Key': process.env.PROTOBOX_API_KEY! },
    },
  },
);

const client = new Client({ name: 'my-app', version: '1.0.0' });
await client.connect(transport);

// List the tools your workspace exposes
const { tools } = await client.listTools();
console.log(tools.map((t) => t.name));

// Call one of them
const result = await client.callTool({
  name: 'lookup_order',
  arguments: { order_id: 'ORDER-12345' },
});
console.log(result.content);

await client.close();

Replace acme with your workspace slug and YOUR_API_KEY with a key from that workspace.

From the CLI, run the protocol test to confirm your client can connect, list tools, and list prompts:

protobox mcp test

What's Exposed

Your MCP endpoint surfaces everything you've configured in the workspace:

MCP capabilityBacked by
ToolsThe enabled tools in your workspace (or a scoped toolset)
ResourcesYour knowledge base entries, searchable by the client
PromptsYour reusable prompt templates

Enable a tool and it shows up over MCP. Disable it and it disappears. Upload a knowledge entry and it becomes searchable. There's no separate "publish" step.

Scoped Toolsets

By default the endpoint exposes your workspace's enabled tools. For production you'll usually want a toolset — a curated collection of tools — so each client gets exactly the capabilities it needs and nothing more.

# Create a toolset, seeding it with tools
protobox toolsets create "Support" --tool lookup_order --tool check_warranty

# Add tools to it later
protobox toolsets add <toolset> <tool-slug-1> <tool-slug-2>

A support client doesn't need your billing tools — give it a support toolset with just lookup_order, check_warranty, and create_ticket.

Use {{secret:name}} references in tool configs to inject credentials. Protobox's secret store keeps them encrypted — they never appear in logs, tool definitions, or MCP responses. Manage secrets in Connect → Secrets.

How MCP Fits In

Your AI Client (Claude, Cursor, custom agent) Protobox — acme.protobox.app/mcp MCP over HTTPS (Streamable HTTP) MCP Client MCP Server Custom Tools Knowledge Base Prompt Templates Secret Store

Tool and prompt definitions and your knowledge live in Protobox. The MCP runtime authenticates the request, routes by workspace subdomain, and executes tools by calling the platform API plus a sandbox for JavaScript tools.

Authentication & URLs

EnvironmentURL Pattern
Productionhttps://{workspace-slug}.protobox.app/mcp

All requests require the X-API-Key header. Keys are workspace-scoped — acme.protobox.app only accepts keys issued for the acme workspace.

HeaderRequiredValue
X-API-KeyYesYour workspace API key
Content-TypeYesapplication/json
AcceptYesapplication/json, text/event-stream

Troubleshooting

What's Next

Knowledge Base

Upload your docs and policies — clients search them in real time

Tools

Create custom functions your clients can call — API lookups, code, transforms

Toolsets

Group tools into collections for specific clients or use cases

CLI: MCP Integration

Connect Claude, Cursor, and other clients from the terminal

On this page