Skip to content

Releases: apollographql/apollo-mcp-server

v0.7.0

07 Aug 20:53
v0.7.0
5d7af07

Choose a tag to compare

🚀 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

07 Aug 19:57
v0.7.0-rc.2
1db5b0a

Choose a tag to compare

v0.7.0-rc.2 Pre-release
Pre-release
0.7.0-rc.2

v0.7.0-rc.1

04 Aug 21:02
v0.7.0-rc.1
5ef59d7

Choose a tag to compare

v0.7.0-rc.1 Pre-release
Pre-release
0.7.0-rc.1

v0.6.1

29 Jul 21:54
23d8d25

Choose a tag to compare

[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

28 Jul 20:19
v0.6.0
dc32d0b

Choose a tag to compare

❗ 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

17 Jul 21:27
v0.6.0-rc.3
3fd5854

Choose a tag to compare

v0.6.0-rc.3 Pre-release
Pre-release
0.6.0-rc.3

v0.6.0-rc.2

17 Jul 18:34
v0.6.0-rc.2
18b9619

Choose a tag to compare

v0.6.0-rc.2 Pre-release
Pre-release
release candidate 2 for testing config

v0.6.0-rc.1

16 Jul 19:32
v0.6.0-rc.1
bf887de

Choose a tag to compare

v0.6.0-rc.1 Pre-release
Pre-release
release candidate for testing config

v0.5.2

10 Jul 16:14
f0e2a51

Choose a tag to compare

🐛 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

08 Jul 21:34
d47e2b0

Choose a tag to compare

🐛 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.