Skip to content

Commit 3eb03b2

Browse files
committed
chore: add GA release notes for v1.0.0
1 parent 643a6cc commit 3eb03b2

File tree

1 file changed

+94
-3
lines changed

1 file changed

+94
-3
lines changed

CHANGELOG.md

Lines changed: 94 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,104 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
66

77
# [1.0.0] - 2025-10-01
88

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.
12+
13+
## 🎯 GA Highlights
14+
15+
### **Production-Ready MCP Protocol Implementation**
16+
17+
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+
**Operation Name Tracking**: Automatic inclusion of operation names in GraphQL requests for better tracing and debugging.
46+
47+
### **📊 Flexible Schema & Operation Management**
48+
49+
**Dual Schema Sources:**
50+
51+
- **Local Files**: Direct schema control for development and offline scenarios
52+
- **Apollo GraphOS**: Centralized schema management with automatic updates via uplink integration
53+
54+
**Multiple Operation Sources:**
55+
56+
- **Local Statement Files**: Hot-reloading `.graphql` files for rapid development
57+
- **Persisted Query Manifests**: Security-focused pre-approved operation execution
58+
- **GraphOS Operation Collections**: Centrally managed operations with automatic polling
59+
- **GraphOS Persisted Queries**: Enterprise-grade operation management
60+
61+
### **🤖 AI-Optimized Introspection Tools**
62+
63+
**Core Tools:**
64+
65+
- **`introspect`**: Comprehensive schema exploration with AI-friendly formatting
66+
- **`execute`**: Safe dynamic operation execution with proper error handling
67+
- **`validate`**: Operation validation without execution to prevent side effects
68+
- **`search`**: Semantic schema search to efficiently find relevant types and fields
69+
70+
**AI Optimizations:**
71+
72+
- **Minified Output**: Configurable minification reduces context window usage by 30%+ while preserving essential information
73+
- **Semantic Search**: Natural language schema exploration with ranked results
74+
75+
### **⚙️ Configuration-Driven Architecture**
76+
77+
**YAML Configuration**: Replace complex command-line arguments with structured, version-controllable configuration files.
78+
79+
**Environment Variable Overrides**: Seamless environment-specific customization using the `APOLLO_MCP_` prefix convention.
80+
81+
**Comprehensive Validation**: Clear error messages and sensible defaults for rapid deployment.
82+
83+
### **🔐 Enterprise Security & Observability**
84+
85+
**OAuth 2.1 Authentication**: Production-ready authentication supporting major identity providers:
86+
87+
- Auth0, WorkOS, Keycloak, Okta
88+
- JWT token validation with audience and scope enforcement
89+
- OIDC discovery for automatic provider configuration
90+
91+
**Health Monitoring**: Kubernetes-ready health checks with configurable liveness and readiness probes.
92+
93+
**OpenTelemetry Integration**: Comprehensive observability with traces, metrics, and events:
94+
95+
- Operation-level performance tracking
96+
- Token usage estimation
97+
- OTLP export to any OpenTelemetry-compatible collector
98+
- Integration with existing monitoring infrastructure
99+
100+
**CORS Support**: Enable browser-based MCP clients with comprehensive Cross-Origin Resource Sharing support following Apollo Router patterns.
101+
9102
## 🐛 Fixes
10103

11104
### fix: remove verbose logging - @swcollard PR #401
12105

13-
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.
106+
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.
14107

15108
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.
16109

@@ -20,8 +113,6 @@ This change strips the attributes from the top level spans so that we still have
20113

21114
Updates the Rust version to v1.90.0
22115

23-
24-
25116
# [0.9.0] - 2025-09-24
26117

27118
## 🚀 Features

0 commit comments

Comments
 (0)