Connect a client
Orderable speaks MCP over stdio for local clients and Streamable HTTP for hosted ones.
Claude Desktop
Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"orderable": {
"command": "node",
"args": ["/absolute/path/to/OrderAble/dist/cli.js", "serve", "--stdio"],
"env": {
"ORDERABLE_ADAPTER": "file",
"ORDERABLE_MENU": "/absolute/path/to/menu.yaml",
"ORDERABLE_DB": "/absolute/path/to/orderable.db"
}
}
}
}Claude Code
claude mcp add orderable -e ORDERABLE_ADAPTER=mock -- node /absolute/path/to/OrderAble/dist/cli.js serve --stdioOver HTTP
ORDERABLE_TOKEN=change-me node dist/cli.js serve --http --port 3333
claude mcp add --transport http orderable http://127.0.0.1:3333/mcp \
--header "Authorization: Bearer change-me"HTTP always needs a token. Without ORDERABLE_TOKEN one is generated and printed. GET /health reports version, adapter and dry-run state.
URL-only clients
Some clients, like connector settings screens, take only a URL. Put the token in the path: https://your-host/mcp/<token>. Treat that URL like a password.
Try the public demo
claude mcp add --transport http orderable-demo https://orderable-mcp.vercel.app/api/mcp \
--header "Authorization: Bearer orderable-demo"Or the URL form: https://orderable-mcp.vercel.app/api/mcp/orderable-demo. Fictional businesses, DRY_RUN on.
Call a tool from here
This sends real requests to the demo endpoint.
Nearest first, open now, and whether each delivers to you.Endpointhttps://your-deployment.vercel.app/api/mcp
Claude Codeclaude mcp add --transport http orderable-demo https://your-deployment.vercel.app/api/mcp --header "Authorization: Bearer orderable-demo"
Environment
ORDERABLE_ADAPTER | file (default), mock, or square (experimental) |
ORDERABLE_MENU | Path to menu.yaml |
ORDERABLE_DB | SQLite file for quotes, orders and idempotency keys |
DRY_RUN | false to actually send orders to the merchant |
ORDERABLE_TOKEN | Bearer token for HTTP |