Add an endpoint to the catalog (self-extension)
connections_catalog_addAdd a new operation to the LIVE catalog so it's reusable via connections_execute - the self-improvement path when an op is missing. TWO lanes, both SSRF-guarded (rows stamped source='agent-added'): (1) AWS - server_url host must be *.amazonaws.com; the SigV4 signing sub-service is auto-derived from the host (lambda.us-east-1.amazonaws.com → 'lambda'), pass aws_service to override; set protocol (query|json|rest-json) + action+version OR target+jsonVersion. (2) NON-AWS connected service (cloudflare/github/stripe/…) - pass service (the connected-service slug) and the server_url host must match that service's code-level host allowlist; an unnamed auth scheme is INHERITED from that service's own existing catalog rows (bearer only when the service has no rows yet), an explicit scheme still wins (basic|apikey|header|oauth2|query also supported; apikey/header take header+headerPrefix, query REQUIRES param) - the response names which via auth_scheme_source and carries a warning if the resolved scheme disagrees with what the rest of the service uses. For a one-off AWS call prefer aws_call; to remove/repair a row, connections_catalog_remove (or re-add to upsert). Common params: tool_name ([a-z0-9_]), method, path, server_url, summary, description, parameters ({params:[{name,in,required}]}), tags, destructive, safety_score.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Request path appended to server_url (e.g. /v1/zones). An AWS query/json op that carries its action in the body needs none. | |
| tags | No | Free-text tags that help this row surface in connections_search_catalog. | |
| param | No | query scheme ONLY, and REQUIRED there: the URL parameter the credential is sent as (e.g. `key` for Google, `token` for Open VSX). Never defaulted - a row without it returns an error at call time rather than sending the live key under a guessed name. | |
| action | No | AWS lane (protocol query|json): the API action name, e.g. ListFunctions. Goes with `version`. | |
| header | No | apikey/header scheme: the header name to send the credential in (default x-api-key). | |
| method | Yes | HTTP method the call is made with, uppercase: GET | POST | PUT | PATCH | DELETE | HEAD | OPTIONS. | |
| region | No | AWS lane: the region the signed request targets (e.g. us-east-1). Usually implied by server_url's host. | |
| scheme | No | NON-AWS auth scheme, lowercase: bearer (default) | basic | apikey | header | oauth2 | query, plus entra_raw for service 'microsoft' only. Omit to inherit the scheme this service's existing rows already use. | |
| target | No | AWS lane (protocol json): the X-Amz-Target operation, used INSTEAD of action+version. Goes with `jsonVersion`. | |
| service | No | NON-AWS lane: the connected-service slug (e.g. cloudflare, github, stripe) whose vaulted credential signs the call; its host allowlist must cover server_url. | |
| summary | No | One line saying what the op does. This is the text connections_search_catalog ranks and shows, so write it for search, not for a changelog. | |
| version | No | AWS lane (protocol query|json): the API version that goes with `action`. | |
| protocol | No | AWS lane: the request protocol, lowercase - query | json | rest-json (`rest` is accepted as an alias of rest-json). Pair it with action+version, or with target+jsonVersion. | |
| tool_name | Yes | The name callers will use with connections_execute - lowercase [a-z0-9_]. Re-adding an existing name UPSERTS that row, which is the repair path. | |
| awsService | No | Alias of aws_service (camelCase). | |
| parameters | No | The op's parameter contract: { params: [{ name, in, required }] }, where `in` says where each one goes (query | path | header | body). | |
| server_url | Yes | Origin the call is sent to, SSRF-guarded. AWS lane: the host must be *.amazonaws.com. NON-AWS lane: the host must match the `service` slug's code-level allowlist. | |
| aws_service | No | AWS lane: SigV4 signing sub-service (e.g. lambda, s3). Auto-derived from the host if omitted. | |
| description | No | Longer prose for the row, shown when a caller asks for detail. Optional - `summary` is the field that decides whether anyone finds this op. | |
| destructive | No | True when running this op changes or deletes something. Surfaced to callers before they run it. | |
| jsonVersion | No | AWS lane (protocol json): the JSON wire version that goes with `target` (e.g. 1.1). | |
| headerPrefix | No | apikey/header scheme: optional prefix prepended to the credential value. | |
| safety_score | No | 0-100 hint of how safe the op is to run unattended - lower means more caution. A pure read sits near 100. |