Setup
Get a key, then add the server to your client. Two minutes,
no payment, no approval step.
1. Get a key
Every field is optional and none is checked. They are recorded as
claims and nothing is decided from them. Contact is worth giving anyway: it
is the only way we could tell you about a breaking change or a price, and
without it you find out when something stops working. Nothing is sent to it
otherwise.
Mint a key on the front page, or below.
Copy this now. It is shown once and never again.
Or from a terminal:
curl -X POST https://skopia.datatreehaus.com/v1/keys \
-H 'content-type: application/json' \
-d '{"label":"my agent","contact":"you@example.com"}'
2. Add the server
Claude Code
claude mcp add --transport http skopia \
https://skopia.datatreehaus.com/v1 \
--header "Authorization: Bearer YOUR_KEY"
Cursor
One click. The config reads the key from your environment,
so the link carries no secret: export SKOPIA_KEY=YOUR_KEY
first, then install.
Add Skopia to Cursor
VS Code
One click, and VS Code asks you for the key as it installs,
storing it as a secret rather than in a file.
Add Skopia to VS Code
Codex CLI
Codex reads the token from an environment variable rather
than from the config file, so export it first.
export SKOPIA_KEY=YOUR_KEY
codex mcp add skopia \
--url https://skopia.datatreehaus.com/v1 \
--bearer-token-env-var SKOPIA_KEY
Anything that reads .mcp.json
{
"mcpServers": {
"skopia": {
"type": "http",
"url": "https://skopia.datatreehaus.com/v1",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
ChatGPT, Claude Desktop, claude.ai — no key needed
Their connector dialogs take an MCP server that is anonymous
or speaks OAuth, and will not carry a pasted key. This server speaks OAuth:
add https://skopia.datatreehaus.com/v1 as a custom connector
(ChatGPT: Settings → Apps → Advanced → Developer mode; Claude: Settings →
Connectors → Add custom connector), choose OAuth if it asks, and a consent
page mints a key for that connection. You never see the key and nothing
else is created. Revoke it from the client, or send it to
DELETE /v1/keys/me.
Anything that only speaks stdio
A client with no HTTP transport at all can bridge:
mcp-remote is a small stdio-to-HTTP shim that carries the
header for you.
{
"mcpServers": {
"skopia": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://skopia.datatreehaus.com/v1",
"--header", "Authorization: Bearer YOUR_KEY"]
}
}
}
An older client, or one you did not write
Nothing to do. Almost every shipped client still opens with
initialize rather than 2026-07-28's server/discover,
and those are served: name your revision in MCP-Protocol-Version
and none of the newer revision's mirrored headers or _meta
fields are asked of you. 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05
all work; a revision nobody here has heard of negotiates down rather than
being refused.
curl https://skopia.datatreehaus.com/v1 \
-H "Authorization: Bearer YOUR_KEY" \
-H 'content-type: application/json' \
-H 'MCP-Protocol-Version: 2025-06-18' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
initialize and ping are the only
calls that need no key — they are the handshake, and they reach nothing.
Everything that touches the engine is keyed.
Straight HTTP, on 2026-07-28
curl https://skopia.datatreehaus.com/v1 \
-H "Authorization: Bearer YOUR_KEY" \
-H 'content-type: application/json' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/list' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{
"io.modelcontextprotocol/protocolVersion":"2026-07-28",
"io.modelcontextprotocol/clientCapabilities":{}}}}'
3. Fewer tools, if you want them
Eighteen tools is standing context on every turn. A key can carry a profile
(above), or you can point at a narrower endpoint directly. The endpoint
wins if you set both.
/v1 all eighteen
/v1/core build, check, draw, export to DXF
/v1/elevation elevations and components
/v1/advisory the reads that suggest and never decide
/v1/core+elevation they compose
What you get once connected
Eighteen tools, and four prompts — workflows, listed by
any client that speaks prompts/list: build_a_room, survey_to_drawings, check_a_layout, seat_a_room.
Ask for one and the model is handed the order to do things in and which tool
does each step, which is the part eighteen tool descriptions cannot say.
Managing your key
The key is its own credential; there are no accounts here. Check it, or
revoke it, with the key itself:
curl https://skopia.datatreehaus.com/v1/keys/me \
-H "Authorization: Bearer YOUR_KEY"
curl -X DELETE https://skopia.datatreehaus.com/v1/keys/me \
-H "Authorization: Bearer YOUR_KEY"
Lost it? Revocation needs the key, so a lost key cannot be
revoked. Create a new one and abandon the old. It is rate-limited on its
own bucket, so a stranger who found it could not spend your allowance for
long.