datatreehaus

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.