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

Discover Mcp Tools

Discover available tools from an MCP server.

Three callable shapes - see DiscoverMcpToolsRequest docs for full details:

  • Saved-id: {savedConnectionId} -> BE reads the stored row and composes headers server-side; the browser never sees the token. savedConnectionName is accepted as a deprecated alias for one release cycle.
  • Inline with masked secret: {serverUrl, headers: {...: "********"}} -> BE matches the serverUrl against saved settings and substitutes the stored secret for every masked header value.
  • Inline plaintext: {serverUrl, headers} - used on first-save “Test” click before the row exists.

URL is validated (SSRF guard) on every path. Per-tenant rate limit: 30 req/min -> 429 with Retry-After. A 300s in-process cache (M10) keyed by (serverUrl, headers-hash) short-circuits repeat calls; X-MCP-Cache: hit|miss is emitted on every response. Cache hits still consume rate-limit budget - the cache is not a bypass.

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

If set, BE resolves serverUrl + headers from the tenant's saved connection by 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 'Content-Type: application/json' \
  -d '{
  "serverUrl": "",
  "headers": {
    "property1": "string",
    "property2": "string"
  },
  "savedConnectionId": "string",
  "savedConnectionName": "string"
}'
Response
{}