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

  1. Define tools using local operation files.

    YAML
    Example MCP config file
    1operations:
    2  source: local
    3paths:
    4  - ./operations/local.graphql
  2. Run your MCP server locally using rover dev, alongside your GraphQL API.

    Bash
    1rover dev --supergraph-config supergraph.yaml --mcp .apollo/mcp.local.yaml

    You can also run the MCP server using Docker or the binary.

  3. Test your tools using MCP Inspector or connect the server to an AI agent.

Dev and staging environments

  1. Create separate graph variants for dev and staging.

  2. Publish your schema to each variant.

  3. Define tools using operation collections.

    Create and organize operations per graph variant. Then, configure your MCP server to use the collection.

    YAML
    Example MCP config file using operation collections
    1operations:
    2  source: collection
    3  id: default
  4. Deploy an MCP server pointing to each variant.

  5. Connect your AI agent to each environment and validate behavior.

Production environments

  1. Define your tools using either local operation files or persisted queries.

    Choosing the right source for your tools
    Using 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
    YAML
    Example MCP config file
    1operations:
    2  source: local
    3paths:
    4  - ./operations/local.graphql


    Using persisted queries
    YAML
    Example MCP config file
    1operations:
    2  source: uplink
    You will also need to set your graph credentials APOLLO_GRAPH_REF and APOLLO_KEY as environment variables.
  2. Configure authentication in your MCP server.

  3. Disable introspection tools.

  4. Deploy the MCP Server using container-based deployment to your infrastructure.

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