You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+107Lines changed: 107 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,113 @@ All notable changes to this project will be documented in this file.
4
4
5
5
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
7
+
# [1.0.0] - 2025-10-01
8
+
9
+
# Apollo MCP Server 1.0 Release Notes
10
+
11
+
Apollo MCP Server 1.0 marks the **General Availability (GA)** milestone, delivering a production-ready Model Context Protocol server that seamlessly bridges GraphQL APIs with AI applications. This release transforms how AI agents interact with GraphQL APIs through standardized MCP tools, enabling natural language access to your GraphQL operations.
Apollo MCP Server 1.0 provides full compliance with the [MCP specification](https://modelcontextprotocol.io/specification/2025-06-18), enabling AI applications to discover and invoke GraphQL operations through standardized protocols. The server acts as a translation layer, converting GraphQL operations into MCP tools that AI models can execute through natural language requests.
18
+
19
+
**Key Benefits:**
20
+
21
+
-**Standardized AI Integration**: No more custom API bridges - use the industry-standard MCP protocol
22
+
-**Automatic Tool Discovery**: AI agents automatically discover available GraphQL operations as MCP tools
23
+
-**Type-Safe Execution**: All operations are validated against your GraphQL schema before execution
24
+
-**Enterprise-Ready**: Full OAuth 2.1 authentication and comprehensive observability
25
+
26
+
### **🚀 Multi-Transport Architecture**
27
+
28
+
Flexible communication options for every deployment scenario:
29
+
30
+
-**stdio**: Perfect for local development and debugging with MCP Inspector
31
+
-**Streamable HTTP**: Production-grade transport with load balancer support and concurrent connections
32
+
33
+
All transports maintain full MCP protocol compliance while optimizing for specific use cases.
34
+
35
+
### **🔧 Advanced GraphQL Integration**
36
+
37
+
**Custom Scalar Support**: Seamlessly handle specialized types like `DateTime`, `UUID`, and domain-specific scalars with automatic JSON Schema mapping.
38
+
39
+
**Mutation Controls**: Fine-grained security controls to prevent unintended data changes:
40
+
41
+
-`all`: Enable all mutations (default)
42
+
-`none`: Disable all mutations for read-only access
43
+
-`allowlist`: Only allow specific mutations
44
+
45
+
### **📊 Flexible Schema & Operation Management**
46
+
47
+
**Dual Schema Sources:**
48
+
49
+
-**Local Files**: Direct schema control for development and offline scenarios
50
+
-**Apollo GraphOS**: Centralized schema management with automatic updates via uplink integration
51
+
52
+
**Multiple Operation Sources:**
53
+
54
+
-**Local Statement Files**: Hot-reloading `.graphql` files for rapid development
The tracing-subscriber crate we are using to create logs does not have a configuration to exclude the span name and attributes from the log line. This led to rather verbose logs on app startup which would dump the full operation object into the logs before the actual log line.
105
+
106
+
This change strips the attributes from the top level spans so that we still have telemetry and tracing during this important work the server is doing, but they don't make it into the logs. The relevant details are provided in child spans after the operation has been parsed so we aren't losing any information other than a large json blob in the top level trace of generating Tools from GraphQL Operations.
107
+
108
+
## 🛠 Maintenance
109
+
110
+
### deps: update rust to v1.90.0 - @DaleSeo PR #387
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.
7
+
The tracing-subscriber crate we are using to create logs does not have a configuration to exclude the span name and attributes from the log line. This led to rather verbose logs on app startup which would dump the full operation object into the logs before the actual log line.
8
8
9
-
## 🛠 Maintenance
10
-
11
-
### Configure Codecov with coverage targets - @DaleSeo PR #337
12
-
13
-
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`.
9
+
This change strips the attributes from the top level spans so that we still have telemetry and tracing during this important work the server is doing, but they don't make it into the logs. The relevant details are provided in child spans after the operation has been parsed so we aren't losing any information other than a large json blob in the top level trace of generating Tools from GraphQL Operations.
14
10
15
-
### Implement Test Coverage Measurement and Reporting - @DaleSeo PR #335
16
-
17
-
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.
0 commit comments