Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,34 @@ All notable changes to this project will be documented in this file.

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

# [0.8.0] - 2025-09-12

## 🚀 Features

### feat: Configuration for disabling authorization token passthrough - @swcollard PR #336

A new optional new MCP Server configuration parameter, `transport.auth.disable_auth_token_passthrough`, which is `false` by default, that when true, will no longer pass through validated Auth tokens to the GraphQL API.

## 🛠 Maintenance

### Configure Codecov with coverage targets - @DaleSeo PR #337

This PR adds `codecov.yml` to set up Codecov with specific coverage targets and quality standards. It helps define clear expectations for code quality. It also includes some documentation about code coverage in `CONTRIBUTING.md` and adds the Codecov badge to `README.md`.

### Implement Test Coverage Measurement and Reporting - @DaleSeo PR #335

This PR adds the bare minimum for code coverage reporting using [cargo-llvm-cov](https://crates.io/crates/cargo-llvm-cov) and integrates with [Codecov](https://www.codecov.io/). It adds a new `coverage` job to the CI workflow that generates and uploads coverage reporting in parallel with existing tests. The setup mirrors that of Router, except it uses `nextest` instead of the built-in test runner and CircleCI instead of GitHub Actions.

### chore: update RMCP dependency ([328](https://github.com/apollographql/apollo-mcp-server/issues/328))

Update the RMCP dependency to the latest version, pulling in newer specification changes.

### ci: Pin stable rust version ([Issue #287](https://github.com/apollographql/apollo-mcp-server/issues/287))

Pins the stable version of Rust to the current latest version to ensure backwards compatibility with future versions.



# [0.7.5] - 2025-09-03

## 🐛 Fixes
Expand Down
26 changes: 26 additions & 0 deletions CHANGELOG_SECTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# [0.8.0] - 2025-09-12

## 🚀 Features

### feat: Configuration for disabling authorization token passthrough - @swcollard PR #336

A new optional new MCP Server configuration parameter, `transport.auth.disable_auth_token_passthrough`, which is `false` by default, that when true, will no longer pass through validated Auth tokens to the GraphQL API.

## 🛠 Maintenance

### Configure Codecov with coverage targets - @DaleSeo PR #337

This PR adds `codecov.yml` to set up Codecov with specific coverage targets and quality standards. It helps define clear expectations for code quality. It also includes some documentation about code coverage in `CONTRIBUTING.md` and adds the Codecov badge to `README.md`.

### Implement Test Coverage Measurement and Reporting - @DaleSeo PR #335

This PR adds the bare minimum for code coverage reporting using [cargo-llvm-cov](https://crates.io/crates/cargo-llvm-cov) and integrates with [Codecov](https://www.codecov.io/). It adds a new `coverage` job to the CI workflow that generates and uploads coverage reporting in parallel with existing tests. The setup mirrors that of Router, except it uses `nextest` instead of the built-in test runner and CircleCI instead of GitHub Actions.

### chore: update RMCP dependency ([328](https://github.com/apollographql/apollo-mcp-server/issues/328))

Update the RMCP dependency to the latest version, pulling in newer specification changes.

### ci: Pin stable rust version ([Issue #287](https://github.com/apollographql/apollo-mcp-server/issues/287))

Pins the stable version of Rust to the current latest version to ensure backwards compatibility with future versions.

6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ edition = "2024"
license-file = "LICENSE"
repository = "https://github.com/apollographql/apollo-mcp-server"
rust-version = "1.89.0"
version = "0.7.5"
version = "0.8.0"

[workspace.dependencies]
apollo-compiler = "1.27.0"
Expand Down
10 changes: 10 additions & 0 deletions docs/source/deploy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,13 @@
```

To learn more, review the [Apollo Runtime container documentation](/graphos/routing/self-hosted/containerization/docker).

### Using a load balancer

Because [MCP is a stateful protocol](https://modelcontextprotocol.io/docs/learn/architecture#lifecycle-management), you need to configure your load balancer to keep each session on the _same server instance_.

Check notice on line 62 in docs/source/deploy.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/deploy.mdx#L62

Italics should be used for the first mention of an unfamiliar term, not for general emphasis. ```suggestion Because [MCP is a stateful protocol](https://modelcontextprotocol.io/docs/learn/architecture#lifecycle-management), you need to configure your load balancer to keep each session on the same server instance. ```

When the MCP client initializes a session with Apollo MCP Server, it receives a session identifier unique to that server instance through the `mcp-session-id` header. You must enable session affinity ("sticky sessions") in your load balancer so that all requests that share the same `mcp-session-id` are routed to the same backend instance.

Check notice on line 64 in docs/source/deploy.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/deploy.mdx#L64

Use italics for the first mention of a new or unfamiliar term. ```suggestion When the MCP client initializes a session with Apollo MCP Server, it receives a session identifier unique to that server instance through the <code>mcp-session-id</code> header. You must enable _session affinity_ ("_sticky sessions_") in your load balancer so that all requests that share the same <code>mcp-session-id</code> are routed to the same backend instance. ```

If the load balancer routes subsequent requests to a different instance, Apollo MCP Server rejects the request because it doesn't recognize the session id.

Check notice on line 66 in docs/source/deploy.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/deploy.mdx#L66

Use 'ID' (no code font) when referring generically to an identifier. ```suggestion If the load balancer routes subsequent requests to a different instance, Apollo MCP Server rejects the request because it doesn't recognize the session ID. ```

Many load balancers offered by major cloud vendors don't support header-based session affinity. If yours does not, use software such as Nginx, HAProxy, or Envoy/Istio in front of the Apollo MCP Server instances.
4 changes: 2 additions & 2 deletions docs/source/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@
* Persisted Query Manifests: Pre-approved operation lists from Apollo GraphOS
* Schema Introspection: Dynamic operation discovery for flexible AI exploration

Secure Execution: When invoked, the server executes GraphQL operations against your API endpoint, respecting all existing authentication, headers, and security policies.
Existing Infrastructure: Your GraphQL API handles requests normally, with Apollo MCP Server acting as a controlled gateway rather than requiring any changes to your graph.
* Secure Execution: When invoked, the server executes GraphQL operations against your API endpoint, respecting all existing authentication, headers, and security policies.
* Existing Infrastructure: Your GraphQL API handles requests normally, with Apollo MCP Server acting as a controlled gateway rather than requiring any changes to your graph.

Check notice on line 93 in docs/source/index.mdx

View check run for this annotation

Apollo Librarian / AI Style Review

docs/source/index.mdx#L93

Use 'instead of' as a replacement for 'rather than' to improve clarity. ```suggestion * Existing Infrastructure: Your GraphQL API handles requests normally, with Apollo MCP Server acting as a controlled gateway instead of requiring any changes to your graph. ```

This design lets you expose precise GraphQL capabilities to AI while maintaining complete control over data access and security.

Expand Down
8 changes: 4 additions & 4 deletions docs/source/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ To download a **specific version** of Apollo MCP Server (recommended for CI envi

```bash
# Note the `v` prefixing the version number
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.5
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.8.0
```

To download a specific version of Apollo MCP Server that is a release candidate:

```bash
# Note the `v` prefixing the version number and the `-rc` suffix
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.5-rc.1
docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.8.0-rc.1
```

<Note>
Expand Down Expand Up @@ -65,7 +65,7 @@ To install or upgrade to a **specific version** of Apollo MCP Server (recommende

```bash
# Note the `v` prefixing the version number
curl -sSL https://mcp.apollo.dev/download/nix/v0.7.5 | sh
curl -sSL https://mcp.apollo.dev/download/nix/v0.8.0 | sh
```

If your machine doesn't have the `curl` command, you can get the latest version from the [`curl` downloads page](https://curl.se/download.html).
Expand All @@ -82,5 +82,5 @@ To install or upgrade to a **specific version** of Apollo MCP Server (recommende

```bash
# Note the `v` prefixing the version number
iwr 'https://mcp.apollo.dev/download/win/v0.7.5' | iex
iwr 'https://mcp.apollo.dev/download/win/v0.8.0' | iex
```
2 changes: 1 addition & 1 deletion scripts/nix/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ BINARY_DOWNLOAD_PREFIX="${APOLLO_MCP_SERVER_BINARY_DOWNLOAD_PREFIX:="https://git

# Apollo MCP Server version defined in apollo-mcp-server's Cargo.toml
# Note: Change this line manually during the release steps.
PACKAGE_VERSION="v0.7.5"
PACKAGE_VERSION="v0.8.0"

download_binary_and_run_installer() {
downloader --check
Expand Down
2 changes: 1 addition & 1 deletion scripts/windows/install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

# Apollo MCP Server version defined in apollo-mcp-server's Cargo.toml
# Note: Change this line manually during the release steps.
$package_version = 'v0.7.5'
$package_version = 'v0.8.0'

function Install-Binary($apollo_mcp_server_install_args) {
$old_erroractionpreference = $ErrorActionPreference
Expand Down