Direct answer
Use GET /agent/sources, GET /agent/tools and GET /agent/mcp/config for discovery. To call a tool, POST a JSON-RPC tools/call message to https://api.spyn3.com/agent/mcp with your API key.
Discovery endpoints
GET
/agent/sourcesThe workspace's connected sources.GET
/agent/toolsSPYN3's own tools and the permission each requires.GET
/agent/mcp/configA ready-to-paste MCP client configuration for this endpoint.Calling tools
The MCP endpoint is stateless — no session to open first — so a single request is enough:
Open a sourceshell
curl https://api.spyn3.com/agent/mcp \
-H "Authorization: Bearer $SPYN3_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"enable_toolset","arguments":{"source":"postgres"}}}'
Call one of its toolsshell
curl https://api.spyn3.com/agent/mcp \
-H "Authorization: Bearer $SPYN3_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"postgres/query",
"arguments":{"sql":"select count(*) from orders"}}}'
Use tools/list to see the exact names and input schemas. Clients on MCP revision 2026-07-28 may also send Mcp-Method and Mcp-Name headers. If they are present, they must match the body.
Errors
401: missing, unknown or revoked key.403: the key lacks the permission the request needs. A tool outside the key's permission or source scope doesn't exist for that key, so calling it returns an unknown-tool error.429: over 120 requests a minute. Retry shortly.402: the Free plan's monthly calls are spent. Retrying won't help until the month turns or the plan is upgraded.- A JSON-RPC error naming the source: the upstream failed, and the message says how.
Script it
One key, every connected system
Create a read-only key and query any connected source from a script, a cron job or a CI step.
Start free