A complete walkthrough — database, schema, config, token, client — that ends with Claude querying your own data. No SDK, no Node project, no server to host.
If you already have one, skip ahead. If not, any of these work and all have a usable free tier:
Three tables. Only one of them is your data:
In the Air Pipe dashboard, under your environment's managed variables (or as ap_vars if you're self-hosting):
Here's the whole thing. One file, two tools.
On managed Air Pipe, paste the file into the dashboard editor and hit deploy — that validates it on the way in. If you're using the Air Pipe MCP tools from your own AI client, "validate and deploy this config" does the same from the chat, and installing the pack (below) does it without either.
Once, at jwt.io: algorithm HS256, secret = your SOLO_SECRET, payload:
Debugging through an MCP client is miserable — a failure shows up as "the tool didn't work." Check with curl first. MCP is JSON-RPC over HTTP, so you can drive it directly:
Claude Desktop keeps this at ~/Library/Application Support/Claude/claudedesktopconfig.json on macOS and %APPDATA%\Claude\claudedesktopconfig.json on Windows. Claude Code: claude mcp add --transport http my-tasks https://your-airpipe-host/<org>/<env>/mcp --header "Authorization: Bearer <token>".
Every client calls initialize before it lists anything, and that response is where the server says who it is. Skip it and yours introduces itself with a built-in name and no description — a listing that's a bare label above a wall of tool descriptions. That's what mcp_servers at the top of the config fixes:
Worth knowing regardless of what you build with: tools/call runs your code, tools/list doesn't.
Everything above is one token, one grant — everyone who holds it sees every row. Right for pointing an AI at your own database. Useless the moment you have users.
Everything on this page ships as one pack, both tiers, tested end to end — the schema, the seed endpoint, the single-token tools, the tenant-scoped tools, the discovery gate, the token lifecycle routes, and the OIDC variant. Fork it, set two variables, deploy.