Development to Production Workflows
Learn how to work with your Apollo MCP Server in development, staging, and production environments
This guide outlines how to work with your Apollo MCP Server in development, staging, and production environments. For each environment, your workflow differs in how you define and manage your tools, deploy your server, and configure additional settings.
Local development: Define operations as local files, run your MCP server locally with
rover dev, and test.Dev and staging environments: Publish schema to graph variants, manage tools using operation collections, deploy and test.
Production environments: Choose your operation source (files or persisted queries), configure authentication, deploy, test, and monitor.
Local development
Define tools using local operation files.
YAMLExample MCP config file1operations: 2 source: local 3paths: 4 - ./operations/local.graphqlRun your MCP server locally using
rover dev, alongside your GraphQL API.Bash1rover dev --supergraph-config supergraph.yaml --mcp .apollo/mcp.local.yamlTest your tools using MCP Inspector or connect the server to an AI agent.
Dev and staging environments
Create separate graph variants for dev and staging.
Publish your schema to each variant.
Define tools using operation collections.
Create and organize operations per graph variant. Then, configure your MCP server to use the collection.
YAMLExample MCP config file using operation collections1operations: 2 source: collection 3 id: defaultDeploy an MCP server pointing to each variant.
Connect your AI agent to each environment and validate behavior.
Production environments
Define your tools using either local operation files or persisted queries.
Choosing the right source for your toolsUsing local operation files- Store operations in your git repository
- Operations are version-controlled and reviewed in PRs before deployment
- Use CI/CD to validate and deploy
- See Define Tools > From operation files
YAMLExample MCP config file1operations: 2 source: local 3paths: 4 - ./operations/local.graphql
Using persisted queries- Publish operations to a persisted query list
- Configure safelisting with persisted queries, so that the router enforces that only registered operations can execute
- Use CI/CD to publish operations to the persisted query list
- See Define Tools > From GraphOS-managed persisted queries
You will also need to set your graph credentialsYAMLExample MCP config file1operations: 2 source: uplinkAPOLLO_GRAPH_REFandAPOLLO_KEYas environment variables.Configure authentication in your MCP server.
Deploy the MCP Server using container-based deployment to your infrastructure.
Monitor your MCP server using:
GraphOS Studio: View operation metrics and usage patterns in Insights
OpenTelemetry: Instrument for traces, metrics, and logs by configuring telemetry