Find who serves and calls an operation
get_operationStart here when you know an operation but not the service: given a method and a path, it returns every service that serves it, every call site that reaches it, and the recorded calls that resolved to no producer, with a file and line on each. Use it before changing or removing a route to see the blast radius, and to answer "who serves this" without guessing a service first. Every response also names what the index holds one method or one path segment away, so a call recorded under a neighbouring method or path version cannot read as a confident zero. Bounded to one operation; for the whole topology use get_service_graph, for request/response types get_endpoint_types. Reference: https://docs.carrick.tools/mcp-tools
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Route path (e.g. /api/users/:id — `:id`, `{id}` and `${expr}` all resolve), GraphQL field, socket event, or pub/sub topic. A `{field=value}` dispatch suffix, as the listings print it, narrows the producers to that case. Host-free: internal operations are indexed by route path, not by URL. | |
| repo | No | Your repo as owner/repo (git remote) or just the repo name. Resolves which Carrick project to query. | |
| method | Yes | HTTP method (GET, POST, PUT, DELETE) — or, for a non-HTTP operation, its label from get_api_endpoints (QUERY, MUTATION, CLIENT->SERVER, PUBSUB). UNKNOWN names both a socket row whose direction the scan could not read and an HTTP route whose verb it could not read; each returned row names its protocol. | |
| project | No | Carrick project slug to query. Omit to auto-resolve via `repo`, or omit both when the workspace has one project. | |
| service | No | Narrow the CALL-SITE sections (consumers, unmatched calls, consumer-side near misses) to one service. Producers are always project-wide. Use it to cut a hub operation's consumer list down, not to find the producer. |