Search Apollo docs, specs, and best practices
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://mcp.apollographql.com14 tools · 165msGetLaunchInspect a single launch by ID for full detail: status, timestamps, which subgraphs changed, composition errors, and the schema diff summary. Use to drill into a specific launch — e.g. a failed or superseded one found via GetLaunchHistory (pass its id here). Provide the graph ID, variant name, and l…Inspect a single launch by ID for full detail: status, timestamps, which subgraphs changed, composition errors, and the schema diff summary. Use to drill into a specific launch — e.g. a failed or superseded one found via GetLaunchHistory (pass its id here). Provide the graph ID, variant name, and l…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| variant* | string | — |
| launchId* | string | — |
GetClientMetricsTraffic broken down by client for a graph over a time window, as compact CSV. Columns: start timestamp, end exclusive timestamp, client name, client version, operation name, request count, request latency p50 ms, request latency p99 ms, request with error count. Answers which clients call a graph,…Traffic broken down by client for a graph over a time window, as compact CSV. Columns: start timestamp, end exclusive timestamp, client name, client version, operation name, request count, request latency p50 ms, request latency p99 ms, request with error count. Answers which clients call a graph,…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| from* | — | The starting timestamp for the report. Must be in the format: 2025-01-01T00:00:00Z (ISO 8601). |
| to* | — | The ending timestamp for the report. Must be in the format: 2025-01-01T08:00:00Z (ISO 8601). |
| resolution | — | The resolution of the time groups for the report. This resolution will affect the range of times that can be used for the 'from' and 'to' timestamps: - For the… |
| orderBy | — | — |
| variantName | — | — |
| operationName | — | — |
| limit | — | Maximum number of records to return (default: 100, max 10000). |
ApolloDocsSearchSearches official Apollo documentation for GraphQL, GraphOS, Apollo Router, Apollo Client, MCP Server, schema design, deployment, and Connectors. Returns URLs, slugs, and excerpts.Searches official Apollo documentation for GraphQL, GraphOS, Apollo Router, Apollo Client, MCP Server, schema design, deployment, and Connectors. Returns URLs, slugs, and excerpts.
| Parameter | Type | Description |
|---|---|---|
| query* | string | Use terms that would lead to broad result with a maximum of 2 keywords. |
ApolloConnectorsSpecReturns the Apollo Connectors specification for guidance on creating or modifying GraphQL schemas that use @connect or @source.Returns the Apollo Connectors specification for guidance on creating or modifying GraphQL schemas that use @connect or @source.
No input schema was published for this tool.
GetTopOperationsIdentify the most-used operations on a graph variant for a time range, with request counts, types, and signatures. Use to find high-traffic operations, detect unused operations, and prioritize findings by traffic impact. Provide graph ID, variant, and a from/to time range (ISO 8601 timestamps; `to`…Identify the most-used operations on a graph variant for a time range, with request counts, types, and signatures. Use to find high-traffic operations, detect unused operations, and prioritize findings by traffic impact. Provide graph ID, variant, and a from/to time range (ISO 8601 timestamps; `to`…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| variant* | string | — |
| from* | — | The starting timestamp for the report. - Must be in the format: 2025-01-01T00:00:00Z (ISO 8601). - Must be within the last 549 days. - The duration between… |
| to* | — | The ending timestamp for the report. - Must be in the format: 2025-01-01T08:00:00Z (ISO 8601). - Must be at least 6 hours from the current time. - The durati… |
| limit | integer | Maximum number of records to return (default: 10) |
GetMyIdentityResolve the caller's identity from their API key or OAuth token. Call this FIRST when the user asks about "my graph" but has not provided a graph ID. For a graph/service key, `me` resolves to a Graph: use `id` as the graphId and `variants[].name` as the variant for the graph-scoped health-check too…Resolve the caller's identity from their API key or OAuth token. Call this FIRST when the user asks about "my graph" but has not provided a graph ID. For a graph/service key, `me` resolves to a Graph: use `id` as the graphId and `variants[].name` as the variant for the graph-scoped health-check too…
No input schema was published for this tool.
GetSubgraphMetricsTop subgraphs/connectors by traffic/health for a graph over a time window, as compact CSV. Columns: start timestamp, end exclusive timestamp, fetch service name, fetch count, fetch latency p50 ms, fetch latency p99 ms, fetch with errors count. Ranked by `orderBy` descending: default FETCH_COUNT (bu…Top subgraphs/connectors by traffic/health for a graph over a time window, as compact CSV. Columns: start timestamp, end exclusive timestamp, fetch service name, fetch count, fetch latency p50 ms, fetch latency p99 ms, fetch with errors count. Ranked by `orderBy` descending: default FETCH_COUNT (bu…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| from* | — | The starting timestamp for the report. Must be in the format: 2025-01-01T00:00:00Z (ISO 8601). |
| to* | — | The ending timestamp for the report. Must be in the format: 2025-01-01T08:00:00Z (ISO 8601). |
| resolution | — | The resolution of the time groups for the report. This resolution will affect the range of times that can be used for the 'from' and 'to' timestamps: - For the… |
| orderBy | — | — |
| variantName | — | — |
| subgraphName | — | — |
| clients | — | — |
| limit | — | Maximum number of records to return (default: 100, max 10000). |
GetLatestLaunchInspect the most recent launch for a graph variant: status, completion time, subgraph changes, composition errors, and a schema diff summary vs the previous launch (additions/removals/edits/deprecations plus affected operations). Use to assess schema composition health and the impact of recent sche…Inspect the most recent launch for a graph variant: status, completion time, subgraph changes, composition errors, and a schema diff summary vs the previous launch (additions/removals/edits/deprecations plus affected operations). Use to assess schema composition health and the impact of recent sche…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| variant* | string | — |
GetVariantDetailsRetrieve metadata for a graph variant: its identifier, federation version, the URL of its GraphQL endpoint, and its subgraph inventory (names only). Use this to assess a variant's composition setup, such as subgraph inventory and federation version compliance. Provide the graph ID and variant name…Retrieve metadata for a graph variant: its identifier, federation version, the URL of its GraphQL endpoint, and its subgraph inventory (names only). Use this to assess a variant's composition setup, such as subgraph inventory and federation version compliance. Provide the graph ID and variant name…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| variant* | string | — |
GetLaunchHistoryRetrieve recent launches for a graph variant (most recent first) to detect deployment instability such as repeated failures or frequent superseded launches. Each entry includes the launch id, status, and timestamps, so you can identify a specific launch and drill into it with GetLaunch. Use to asse…Retrieve recent launches for a graph variant (most recent first) to detect deployment instability such as repeated failures or frequent superseded launches. Each entry includes the launch id, status, and timestamps, so you can identify a specific launch and drill into it with GetLaunch. Use to asse…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| variant* | string | — |
| limit | integer | — |
| offset | integer | — |
GetLintResultsRetrieve schema lint violations from a graph's most recent check workflows: each diagnostic's coordinate, severity level, message, rule, and source location, plus error/warning/total/ignored counts. Use to assess schema quality and naming/best-practice violations. Provide the graph ID and optionall…Retrieve schema lint violations from a graph's most recent check workflows: each diagnostic's coordinate, severity level, message, rule, and source location, plus error/warning/total/ignored counts. Use to assess schema quality and naming/best-practice violations. Provide the graph ID and optionall…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| limit | integer | — |
ApolloDocsReadReads an Apollo documentation page by slug in chunks. Use slugs returned by ApolloDocsSearch.Reads an Apollo documentation page by slug in chunks. Use slugs returned by ApolloDocsSearch.
| Parameter | Type | Description |
|---|---|---|
| slug* | string | The slug returned from the ApolloDocsSearch tool |
| chunkIndex* | integer | The character index to start reading from, will return up to the next 10000 characters |
GetPersistedQueryListStatusCheck whether a graph variant has a Persisted Query List (PQL) and its current build (revision and operation count). Use to assess PQL configuration — a production variant with no PQL is a security gap. Provide the graph ID and variant name.Check whether a graph variant has a Persisted Query List (PQL) and its current build (revision and operation count). Use to assess PQL configuration — a production variant with no PQL is a security gap. Provide the graph ID and variant name.
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| variant* | string | — |
GetOperationMetricsTop operations by usage/health for a graph over a time window, as compact CSV. Columns: start timestamp, end exclusive timestamp, operation name, request count, request latency p50 ms, request latency p99 ms, request with error count. Ranked by `orderBy` descending: default REQUEST_COUNT (busiest);…Top operations by usage/health for a graph over a time window, as compact CSV. Columns: start timestamp, end exclusive timestamp, operation name, request count, request latency p50 ms, request latency p99 ms, request with error count. Ranked by `orderBy` descending: default REQUEST_COUNT (busiest);…
| Parameter | Type | Description |
|---|---|---|
| graphId* | string | — |
| from* | — | The starting timestamp for the report. Must be in the format: 2025-01-01T00:00:00Z (ISO 8601). |
| to* | — | The ending timestamp for the report. Must be in the format: 2025-01-01T08:00:00Z (ISO 8601). |
| resolution | — | The resolution of the time groups for the report. This resolution will affect the range of times that can be used for the 'from' and 'to' timestamps: - For the… |
| orderBy | — | — |
| variantName | — | — |
| clients | — | — |
| limit | — | Maximum number of records to return (default: 100, max 10000). |
14 of 14 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Search Apollo docs, specs, and best practices
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.