Releases: apollographql/apollo-mcp-server
v0.7.0
🚀 Features
feat: add mcp auth - @nicholascioli PR #210
The MCP server can now be configured to act as an OAuth 2.1 resource server, following
guidelines from the official MCP specification on Authorization / Authentication (see
the spec).
To configure this new feature, a new auth section has been added to the SSE and
Streamable HTTP transports. Below is an example configuration using Streamable HTTP:
transport:
type: streamable_http
auth:
# List of upstream delegated OAuth servers
# Note: These need to support the OIDC metadata discovery endpoint
servers:
- https://auth.example.com
# List of accepted audiences from upstream signed JWTs
# See: https://www.ory.sh/docs/hydra/guides/audiences
audiences:
- mcp.example.audience
# The externally available URL pointing to this MCP server. Can be `localhost`
# when testing locally.
# Note: Subpaths must be preserved here as well. So append `/mcp` if using
# Streamable HTTP or `/sse` is using SSE.
resource: https://hosted.mcp.server/mcp
# Optional link to more documentation relating to this MCP server.
resource_documentation: https://info.mcp.server
# List of queryable OAuth scopes from the upstream OAuth servers
scopes:
- read
- mcp
- profile🐛 Fixes
Setting input_schema properties to empty when operation has no args (Issue #136) (PR #212)
To support certain scenarios where a client fails on an omitted properties field within input_schema, setting the field to an empty map ({}) instead. While a missing properties field is allowed this will unblock
certain users and allow them to use the MCP server.
v0.7.0-rc.2
0.7.0-rc.2
v0.7.0-rc.1
0.7.0-rc.1
v0.6.1
[0.6.1] - 2025-07-29
🐛 Fixes
Handle headers from config file - @tylerscoville PR #213
Fix an issue where the server crashes when headers are set in the config file
Handle environment variables when no config file is provided - @DaleSeo PR #211
Fix an issue where the server fails with the message "Missing environment variable: APOLLO_GRAPH_REF," even when the variables are properly set.
🚀 Features
Health Check Support - @DaleSeo PR #209
Health reporting functionality has been added to make the MCP server ready for production deployment with proper health monitoring and Kubernetes integration.
v0.6.0
❗ BREAKING ❗
Replace CLI flags with a configuration file - @nicholascioli PR #162
All command line arguments are now removed and replaced with equivalent configuration
options. The Apollo MCP server only accepts a single argument which is a path to a
configuration file. An empty file may be passed, as all options have sane defaults
that follow the previous argument defaults.
All options can be overridden by environment variables. They are of the following
form:
- Prefixed by
APOLLO_MCP_ - Suffixed by the config equivalent path, with
__marking nested options.
E.g. The environment variable to change the config option introspection.execute.enabled
would be APOLLO_MCP_INTROSPECTION__EXECUTE__ENABLED.
Below is a valid configuration file with some options filled out:
custom_scalars: /path/to/custom/scalars
endpoint: http://127.0.0.1:4000
graphos:
apollo_key: some.key
apollo_graph_ref: example@graph
headers:
X-Some-Header: example-value
introspection:
execute:
enabled: true
introspect:
enabled: false
logging:
level: info
operations:
source: local
paths:
- /path/to/operation.graphql
- /path/to/other/operation.graphql
overrides:
disable_type_description: false
disable_schema_description: false
enable_explorer: false
mutation_mode: all
schema:
source: local
path: /path/to/schema.graphql
transport:
type: streamable_http
address: 127.0.0.1
port: 5000🚀 Features
Validate tool for verifying graphql queries before executing them - @swcollard PR #203
The introspection options in the mcp server provide introspect, execute, and search tools. The LLM often tries to validate its queries by just executing them. This may not be desired (there might be side effects, for example). This feature adds a validate tool so the LLM can validate the operation without actually hitting the GraphQL endpoint. It first validates the syntax of the operation, and then checks it against the introspected schema for validation.
Minify introspect return value - @pubmodmatt PR #178
The introspect and search tools now have an option to minify results. Minified GraphQL SDL takes up less space in the context window.
Add search tool - @pubmodmatt PR #171
A new experimental search tool has been added that allows the AI model to specify a set of terms to search for in the GraphQL schema. The top types matching that search are returned, as well as enough information to enable creation of GraphQL operations involving those types.
v0.6.0-rc.3
0.6.0-rc.3
v0.6.0-rc.2
release candidate 2 for testing config
v0.6.0-rc.1
release candidate for testing config
v0.5.2
🐛 Fixes
Fix ServerInfo - @pubmodmatt PR #183
The server will now report the correct server name and version to clients, rather than the Rust MCP SDK name and version.
v0.5.1
🐛 Fixes
Fix an issue with rmcp 0.2.x upgrade - @pubmodmatt PR #181
Fix an issue where the server was unresponsive to external events such as changes to operation collections.