# Apollo MCP Server Config File

**URL:** <https://community.apollographql.com/t/apollo-mcp-server-config-file/9299>\
**Category:** MCP Server\
**Created:** [July 18, 2025, 1:45pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299 "2025-07-18T13:45:29Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![matthew.hawkins](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/matthew.hawkins/32/5537_2.png) [@matthew.hawkins](https://community.apollographql.com/u/matthew.hawkins)\
**Post date:** [July 18, 2025, 1:45pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/1 "2025-07-18T13:45:29Z")

</div>

As the number of command-line options to the Apollo MCP Server has become unwieldy, we’re moving configuration into a config file. Command-line options are being removed, so this will be a breaking change for existing users. We’ve made [Release Candidate 0.6.0-rc.3](https://github.com/apollographql/apollo-mcp-server/releases/tag/v0.6.0-rc.3) available now so you can prepare for the change.

You can install the RC as follows:

```auto
curl -sSL https://mcp.apollo.dev/download/nix/v0.6.0-rc.3 | sh

```

Or use the Docker image:

```auto
ghcr.io/apollographql/apollo-mcp-server:v0.6.0-rc.3

```

Here’s an example config file:

```yaml
# yaml-language-server: $schema=https://github.com/apollographql/apollo-mcp-server/releases/download/v0.6.0-rc.3/config.schema.json
endpoint: https://thespacedevs-production.up.railway.app/
transport:
  type: streamable_http
operations:
  source: local
  paths:
    - ./graphql/TheSpaceDevs/operations
schema:
  source: local
  path: ./graphql/TheSpaceDevs/api.graphql
overrides:
  mutation_mode: all
introspection:
  execute:
    enabled: true
  introspect:
    enabled: true
  search:
    enabled: true

```

If you’re using the [YAML Language Support extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) in VS Code, the first line specifies the JSON Schema for the config file format, giving you validation and auto-completion in the editor.

This release candidate also contains a new `search` tool, which is enabled in the example configuration above. Using this tool, the AI model can search for type information in your GraphQL schema. This allows the model to find relevant type information with fewer tool calls than the existing `introspect` tool.

Please give the release candidate a try, and let us know your feedback on the new configuration file and search tool!

---

<div class="post-metadata">

**Author:** ![CyberDaedalus00](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/cyberdaedalus00/32/6145_2.png) [@CyberDaedalus00](https://community.apollographql.com/u/CyberDaedalus00)\
**Post date:** [July 27, 2025, 7:05pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/2 "2025-07-27T19:05:15Z")

</div>

It appears that it requires that GraphOS be specified. If its not specified in the config file, it errors that the APOLLO\_GRAPH\_REF missing regardless of the fact that GraphOS isn’t being used

---

<div class="post-metadata">

**Author:** ![DaleSeo](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/daleseo/32/5385_2.png) [@DaleSeo](https://community.apollographql.com/u/DaleSeo)\
**Post date:** [July 29, 2025, 2:14pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/3 "2025-07-29T14:14:02Z")

</div>

Thank you for bringing this to our attention, @CyberDaedalus00! We’re looking into the issue and will work on a fix as soon as possible.

---

<div class="post-metadata">

**Author:** ![chris-allnutt](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/chris-allnutt/32/6279_2.png) [@chris-allnutt](https://community.apollographql.com/u/chris-allnutt)\
**Post date:** [July 29, 2025, 4:34pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/4 "2025-07-29T16:34:36Z")

</div>

@matthew.hawkins and @DaleSeo First thank you for this.. I’ve been trying to find a way to include a header via config without checking it into a repo and this helps immensely. One feature we want is the header directive in the config file which is failing at startup. We get what looks like a rust error

Example header declaration from YAML

```yaml
headers:
  x-my-cool-header: “thisgivesmeanerror”

```

Error received  
`Error: invalid type: found string "x-my-cool-header", expected a borrowed string for key "default.headers.x-my-cool-header" in /config.yaml YAML file`

we do have everything else defined and the server appears to start fine wihtout the header declaration in place.

I’d also be interested in what the ENV variable format would be for that since headers is a map but new documentation says that we can also provide an ENV variable using the path

---

<div class="post-metadata">

**Author:** ![wangmir](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/wangmir/32/6281_2.png) [@wangmir](https://community.apollographql.com/u/wangmir)\
**Post date:** [July 29, 2025, 8:21pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/5 "2025-07-29T20:21:01Z")

</div>

@DaleSeo I’m seeing same issue here as @chris-allnutt. I think `headers` itself is not working correctly from config file. Can you check on this too?

```bash
Error: invalid type: found string "authorization", expected a borrowed string for key "HEADERS.AUTHORIZATION" in `APOLLO_MCP_` environment variable(s)

```

Because I need to do the quick check with auth, so I tried with basic auth, but it failed from here.

Even when I try with just simple key value for headers, it fails too.

---

<div class="post-metadata">

**Author:** ![DaleSeo](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/daleseo/32/5385_2.png) [@DaleSeo](https://community.apollographql.com/u/DaleSeo)\
**Post date:** [July 29, 2025, 9:07pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/6 "2025-07-29T21:07:00Z")

</div>

@chris-allnutt @wangmir Thanks for reporting the issue. I found an open PR that appears to address this issue. We’ll review the changes and include it in v0.6.1:

> <https://github.com/apollographql/apollo-mcp-server/pull/213>
>
> I'm seeing an error like: \`Error: invalid type: found string "X-Header", expecte…d a borrowed string for key "default.headers.X-Header" in config.yaml YAML file\` when running the mcp server with a config file with the headers key:
> \`\`\`yaml
> ...
> headers:
> X-Header: Foo
> ...
> \`\`\`
> 
> This updates the while loop to borrow the string, avoiding the error. I'm sure there is a better way to handle this, but I wanted to take a quick poke at fixing it.

---

<div class="post-metadata">

**Author:** ![DaleSeo](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/daleseo/32/5385_2.png) [@DaleSeo](https://community.apollographql.com/u/DaleSeo)\
**Post date:** [July 29, 2025, 10:10pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/7 "2025-07-29T22:10:31Z")

</div>

@CyberDaedalus00 @chris-allnutt @wangmir We’ve just released v0.6.1 with the fixes. Please upgrade to the latest version of Apollo MCP Server and let us know if the issues have been resolved.

> **[Release v0.6.1 · apollographql/apollo-mcp-server](https://github.com/apollographql/apollo-mcp-server/releases/tag/v0.6.1)**
>
> \[0.6.1\] - 2025-07-29
> 🐛 Fixes
> Handle headers from config file - @tylerscoville PR #213
> Fix an issue where the server crashes when headers are set in the config file
> Handle environment variables when...

---

<div class="post-metadata">

**Author:** ![wangmir](https://sea1.discourse-cdn.com/flex019/user_avatar/community.apollographql.com/wangmir/32/6281_2.png) [@wangmir](https://community.apollographql.com/u/wangmir)\
**Post date:** [July 29, 2025, 11:04pm UTC](https://community.apollographql.com/t/apollo-mcp-server-config-file/9299/8 "2025-07-29T23:04:34Z")

</div>

@DaleSeo Now the problem is resolved correctly. Thanks for the quick fix.
