Skip to main content

MCP server

MCP server

Blueprintr exposes a personal MCP server, so an agent can read and author your content directly.

blueprint:josh/connecting-an-ai-agent

POST https://blueprintr.io/api/mcp
Authorization: Bearer bpk_user_…
Content-Type: application/json

Streamable HTTP, JSON-RPC 2.0, POST only. There is no server→client SSE stream, so a GET returns 405 with a message saying so. That is expected, not a misconfiguration. Every response comes back inline in the POST body, so clients that cannot open the optional stream still work. CORS is open, because agents call cross-origin.

Before you start

Mint a personal key at Dashboard → Settings → API keys & MCP. Keep the default read scopes for a first connection; add a write scope only once you know what the agent needs. See API keys and scopes.

Claude Code

claude mcp add --transport http blueprintr https://blueprintr.io/api/mcp \
  --header "Authorization: Bearer $BLUEPRINTR_API_KEY"

Then run /mcp and confirm blueprintr is connected.

To share the server with a project instead, commit a .mcp.json that reads the key from the environment rather than one with the key in it:

{
  "mcpServers": {
    "blueprintr": {
      "type": "http",
      "url": "https://blueprintr.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ${BLUEPRINTR_API_KEY}"
      }
    }
  }
}

Export BLUEPRINTR_API_KEY before starting Claude Code.

Codex

Codex reads the token from an environment variable rather than storing it:

export BLUEPRINTR_API_KEY='bpk_user_…'
codex mcp add blueprintr \
  --url https://blueprintr.io/api/mcp \
  --bearer-token-env-var BLUEPRINTR_API_KEY
codex mcp list

The variable has to be present whenever Codex starts, so put the export in your shell profile or a direnv file rather than typing it each session.

Cursor

~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:

{
  "mcpServers": {
    "blueprintr": {
      "url": "https://blueprintr.io/api/mcp",
      "headers": {
        "Authorization": "Bearer bpk_user_…"
      }
    }
  }
}

Restart Cursor, then check Settings → Tools & MCP. A project-level file with a key in it must not be committed.

VS Code with Copilot

.vscode/mcp.json. This form prompts for the key instead of storing it, which makes the file safe to commit:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "blueprintr-key",
      "description": "Blueprintr personal API key",
      "password": true
    }
  ],
  "servers": {
    "blueprintr": {
      "type": "http",
      "url": "https://blueprintr.io/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:blueprintr-key}"
      }
    }
  }
}

Run MCP: List Servers from the command palette, start blueprintr, then use it from Copilot's agent mode.

Claude Desktop

Not yet. Its remote-connector UI accepts authless or OAuth servers, and Blueprintr's personal keys are a static bearer header. claude_desktop_config.json is for local stdio servers, so the remote endpoint does not belong there either.

Use Claude Code, Codex, Cursor or VS Code until Blueprintr offers OAuth for personal MCP connections.

Any other client

Most clients have a generic remote-server form. These are the values:

FieldValue
Nameblueprintr
TransportStreamable HTTP
URLhttps://blueprintr.io/api/mcp
Header nameAuthorization
Header valueBearer bpk_user_…

First calls

Ask the agent for these in order. Each one fails in a different, informative way if the key is wrong:

Use Blueprintr's whoami tool.
List my draft blueprints.
Search my content for "payments".

whoami works with any live key and reports the scopes it has, so a key minted with the wrong ones shows up on the first call. If the client lists only whoami, the key has no other scope. If it lists the documentation tools instead, the key was not accepted at all.

What it will not do

There are no tools for deleting or trashing content, changing sharing permissions, or reaching account, billing, security or admin settings. The server cannot grant another person access to anything. Visibility moves only through the constrained publish and audience tools. Those are monotonic: they can narrow an audience, never widen it.

Blueprint writes affect your own drafts only. Published, team-authored and org-authored blueprints are edited in the app.

A second server: your documentation

Everything above is the account server: your content, authenticated as you. A folium also publishes its own read-only MCP server, so an agent can search and read that documentation with no key at all:

https://docs.example.com/foliums/<slug>/mcp

Manage → MCP server on any folium gives you the URL and a ready-made snippet for Claude Code, Cursor and VS Code. The Claude Code one is a single line, with no header:

claude mcp add --transport http my-docs https://docs.example.com/foliums/<slug>/mcp
Account serverDocumentation server
URL/api/mcp/foliums/<slug>/mcp
AuthPersonal key, requiredNone, for public content
ReadsEverything you can seeOne folium
WritesWith a write scopeNever

Point a customer's agent at the documentation server and your own at the account server. An organisation key with the mcp scope widens the documentation server to that organisation's private docs.

Where to go next

Tool reference

All 72 tools, the scope each needs, and the limits that apply.

Documentation CLI

For folium authoring from a text editor, use this rather than MCP.