Skip to content
Streamkap
Esc
↑↓navigate↵open⌘Jpreview

Discover Mcp Tools

Discover available tools from an MCP server.

Three callable shapes - see DiscoverMcpToolsRequest for full details:

  • Saved-id: {savedConnectionId} -> Streamkap reads the saved connection and composes its headers server-side; the token never leaves the server. savedConnectionName is accepted as a deprecated alias for one release cycle.
  • Inline with masked secret: {serverUrl, headers: {...: "********"}} -> Streamkap matches serverUrl against saved connections and substitutes the stored secret for every masked header value.
  • Inline plaintext: {serverUrl, headers} - for testing a connection before it is saved.

The URL is validated (SSRF guard) on every path. Per-tenant rate limit: 30 req/min -> 429 with Retry-After. Results are cached for 300s per (serverUrl, headers); X-MCP-Cache: hit|miss is set on every response. Cache hits still count against the rate limit.

POST/agents/mcp/tools
Authorization
AuthorizationBearer token · headerrequired
Request body
requiredapplication/json
serverUrlstring
max length 2048 · default: ""
headersobject
savedConnectionIdstring | null

If set, Streamkap uses the serverUrl and headers of the tenant's saved connection with this id

Show properties
Any of:
string
string
null
null
savedConnectionNamestring | null

Deprecated - prefer savedConnectionId. Accepted for backward compatibility for one release cycle.

Show properties
Any of:
string
string
null
null
Responses
200

Successful Response

object
422

Validation Error

detailValidationError[]
Show properties
Array of ValidationError
locstring | integer[]required
Show properties
Array of string | integer
Any of:
string
string
integer
integer
msgstringrequired
typestringrequired
inputany
ctxobject
Request
curl -X POST 'https://api.streamkap.com/agents/mcp/tools' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "serverUrl": "",
  "headers": {
    "property1": "string",
    "property2": "string"
  },
  "savedConnectionId": "string",
  "savedConnectionName": "string"
}'
Response
{}