# claude_desktop_config.json — no API key changes hands
{ "mcpServers": {
"swarmsdb": { "url": "https://app.swarmsdb.ai/mcp" }
} }
grant { "key_material": null,
"grant": "workspace-bound",
"revocable": true }
curl https://app.swarmsdb.ai/data/openalex/works \
-H "Authorization: Bearer $SWARMSDB_KEY" \
-G --data 'search=graph neural networks' \
--data 'select=id,doi,title,cited_by_count'
typed section { "shape": "table", "rows": 25,
"fields": ["id", "doi", "title", "cited_by_count"] }
# one call, many parameter sets — results by signed webhook
POST /bulk/requests
{ "endpoint": "eurostat/data",
"params": ["nrg_bal_c", "demo_gind", "prc_hicp"],
"schedule": "0 6 * * *" }
queued { "bulk_request_id": "brq_9f2c…",
"webhook": "hmac-signed" }