Skip to main content
Glama
mabdullah679

Apollo MCP Demo

by mabdullah679

Apollo MCP Demo

Dieser Ordner richtet die gleiche Kernarchitektur ein, die Apollo für MCP demonstriert:

  1. eine normale GraphQL-API,

  2. einen Apollo MCP-Server davor,

  3. eine kleine Positivliste von GraphQL-Operationen, die zu MCP-Tools werden.

Diese Version verwendet den eigenständigen Apollo MCP-Server-Container anstelle des rover init --mcp-Assistenten, da er einfacher lokal ohne GraphOS-Anmeldedaten ausgeführt werden kann.

Was gestartet wird

  • api: ein kleiner Apollo-Server unter http://localhost:4001/

  • mcp: Apollo MCP-Server unter http://localhost:8000/mcp

Related MCP server: mcp4gql

Architekturdiagramm

flowchart LR
    subgraph LocalMachine["Local machine"]
        Client["MCP client\nInspector / Codex / Cursor"]

        subgraph Docker["docker compose"]
            MCP["Apollo MCP Server\n:8000/mcp"]
            API["Apollo GraphQL API\n:4001"]
        end

        Ops["graphql/operations/*.graphql\nApproved operations"]
        Schema["graphql/api.graphql\nSchema snapshot"]
    end

    Client -->|"MCP over Streamable HTTP"| MCP
    Ops -->|"tool definitions"| MCP
    Schema -->|"schema metadata"| MCP
    MCP -->|"GraphQL queries/mutations"| API
    API -->|"GraphQL JSON response"| MCP
    MCP -->|"MCP tool results"| Client

Ausführung

cd C:\Users\muham\Documents\apollo-mcp
npm install
docker compose up --build

Untersuchen Sie in einem zweiten Terminal den MCP-Server:

npx @modelcontextprotocol/inspector

Öffnen Sie dann die ausgegebene Inspector-URL und wählen Sie:

  • Transporttyp: Streamable HTTP

  • URL: http://127.0.0.1:8000/mcp

Klicken Sie auf Connect und dann auf List Tools.

Sie sollten MCP-Tools sehen, die von folgenden abgeleitet sind:

  • GetBooks

  • GetBookById

  • GetBooksByGenre

Optionale Client-Konfiguration

Für MCP-Clients, die mcp-remote verwenden, sieht die lokale Konfigurationsstruktur so aus:

{
  "mcpServers": {
    "apollo-demo": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:8000/mcp"
      ]
    }
  }
}

Was tatsächlich passiert

Die GraphQL-API ist weiterhin der eigentliche Datendienst. Sie kennt das Schema, löst Felder auf und gibt JSON für GraphQL-Abfragen zurück.

Der Apollo MCP-Server ersetzt diese API nicht. Er schaltet sich davor und übersetzt genehmigte GraphQL-Operationen in MCP-Tools, die ein KI-Client entdecken und aufrufen kann.

Die wichtigen Dateien sind:

  • mcp-config.yaml: teilt dem Apollo MCP-Server mit, wo sich der GraphQL-Endpunkt befindet, wo die Schemadatei liegt, wo die erlaubten Operationen gespeichert sind und wie MCP über HTTP bereitgestellt werden soll.

  • graphql/api.graphql: Schema-Snapshot, der vom Apollo MCP-Server verwendet wird, damit er Tools korrekt beschreiben kann.

  • graphql/operations/GetBooks.graphql: eine genehmigte Abfrage, die zu einem MCP-Tool wird.

  • src/server.mjs: die eigentliche Implementierung der GraphQL-API.

  • docker-compose.yml: führt beide Dienste zusammen in einem lokalen Netzwerk aus.

Der Anforderungsfluss ist:

  1. Ihr MCP-Client verbindet sich mit http://localhost:8000/mcp.

  2. Der Apollo MCP-Server kündigt Tools basierend auf den .graphql-Operationsdateien an.

  3. Der Client ruft eines dieser Tools mit Argumenten auf.

  4. Der Apollo MCP-Server konvertiert diesen Tool-Aufruf zurück in die zugrunde liegende GraphQL-Operation.

  5. Der Apollo MCP-Server sendet diese GraphQL-Anfrage an http://api:4001/.

  6. Die GraphQL-API führt die Abfrage aus und gibt Daten zurück.

  7. Der Apollo MCP-Server gibt das Ergebnis im MCP-Format an den MCP-Client zurück.

Anforderungsflussdiagramm

sequenceDiagram
    autonumber
    participant C as MCP Client
    participant M as Apollo MCP Server
    participant O as Operation Files
    participant G as GraphQL API

    C->>M: Connect to http://localhost:8000/mcp
    M->>O: Load approved .graphql operations
    O-->>M: GetBooks / GetBookById / GetBooksByGenre
    M-->>C: Advertise MCP tools
    C->>M: Invoke tool with arguments
    M->>M: Convert tool call to GraphQL operation
    M->>G: Send GraphQL request to http://api:4001/
    G-->>M: Return GraphQL JSON data
    M-->>C: Return MCP-formatted tool result

Warum es hier keinen Router gibt

Der Apollo Router ist nützlich, wenn:

  • Sie einen föderierten Supergraph bereitstellen,

  • Sie die von Apollo verwaltete GraphOS-Laufzeitumgebung wünschen,

  • oder Sie GraphQL und MCP in der Apollo-Laufzeitumgebung gebündelt haben möchten.

Für eine einfache lokale Demo mit einer bestehenden GraphQL-API unterstützen die Bereitstellungsdokumente von Apollo die direkte Verwendung des eigenständigen Apollo MCP-Server-Containers für diesen Endpunkt. Genau das verwendet dieses Projekt.

Quellen

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A MCP server that exposes GraphQL schema information to LLMs like Claude. This server allows an LLM to explore and understand large GraphQL schemas through a set of specialized tools, without needing to load the whole schema into the context
    70
    47
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    GraphQL MCP Server that acts as a bridge allowing MCP clients (like Cursor or Claude Desktop) to interact with target GraphQL APIs through standard tools for schema introspection and operation execution.
    2
    15
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A generic MCP (Model Context Protocol) server that bridges any GraphQL API to Claude Code. It introspects your GraphQL schema and exposes each query and mutation as an individual tool, letting Claude interact with your API directly.
    2
    52
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for AI access to Swagger by SmartBear.

  • MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mabdullah679/apollo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server