You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,22 +18,22 @@ See [the documentation](https://www.apollographql.com/docs/apollo-mcp-server/) f
18
18
19
19
## Installation
20
20
21
-
You can either build this server from source, if you have Rust installed on your workstation, or you can follow the [installation guide](https://www.apollographql.com/docs/apollo-mcp-server/install). To build from source, run `cargo build` from the root of this repository and the server will be built in the `target/debug` directory.
21
+
You can either build this server from source, if you have Rust installed on your workstation, or you can follow the [installation guide](https://www.apollographql.com/docs/apollo-mcp-server/run). To build from source, run `cargo build` from the root of this repository and the server will be built in the `target/debug` directory.
22
22
23
23
## Getting started
24
24
25
25
Follow the [quickstart tutorial](https://www.apollographql.com/docs/apollo-mcp-server/quickstart) to get started with this server.
26
26
27
27
## Usage
28
28
29
-
Full usage of Apollo MCP Server is documented on the [user guide](https://www.apollographql.com/docs/apollo-mcp-server/guides). There are a few items that are necessary for this server to function. Specifically, the following things must be configured:
29
+
Full usage of Apollo MCP Server is documented on the [user guide](https://www.apollographql.com/docs/apollo-mcp-server/run). There are a few items that are necessary for this server to function. Specifically, the following things must be configured:
30
30
31
31
1. A graph for the MCP server to sit in front of.
32
32
2. Definitions for the GraphQL operations that should be exposed as MCP tools.
33
33
3. A configuration file describing how the MCP server should run.
34
34
4. A connection to an MCP client, such as an LLM or [MCP inspector](https://modelcontextprotocol.io/legacy/tools/inspector).
35
35
36
-
These are all described on the user guide. Specific configuration options for the configuration file are documented in the [command reference](https://www.apollographql.com/docs/apollo-mcp-server/command-reference).
36
+
These are all described on the user guide. Specific configuration options for the configuration file are documented in the [config file reference](https://www.apollographql.com/docs/apollo-mcp-server/config-file).
The Apollo MCP server supports authorizing clients (e.g., LLMs) in accordance with [the MCP specification](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization).
8
+
9
+
The current implementation passes through OAuth tokens from MCP clients directly to upstream GraphQL APIs. You can read more about [security considerations](/apollo-mcp-server/limitations#oauth-token-passthrough) when using this feature.
10
+
11
+
## Implement authorization with Apollo MCP Server
12
+
13
+
To implement authorization, you need an [OAuth 2.1-compliant](https://oauth.net/2.1/) Identity Provider (for example, your own in-house IdP or a third-party IdP such as Auth0, Okta, or Keycloak). You need the following values from your IdP:
14
+
15
+
-**URL**: The base URL of your Identity Provider, which is used to validate the JSON Web Tokens (JWTs) issued by it.
16
+
-**Audience**: Identifies the intended recipient of the token, typically a resource server or API. Represented by the `aud` claim in the JWT.
17
+
-**Scopes**: The scopes that the client will request. These scopes define the permissions granted to the client when it accesses the API.
18
+
19
+
Then, you [configure the MCP server with `auth` settings](/apollo-mcp-server/config-file#auth) and the [GraphOS Router for JWT authentication](/graphos/routing/security/jwt) using those IdP values.
20
+
21
+
For an example of how to configure Apollo MCP Server with Auth0, see [Authorization with Auth0](/apollo-mcp-server/guides/auth-auth0).
Copy file name to clipboardExpand all lines: docs/source/best-practices.mdx
+11-3Lines changed: 11 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,14 @@ This feature is in [preview](/graphos/resources/feature-launch-stages#preview).
9
9
10
10
</PreviewFeature>
11
11
12
+
## Writing your schema for efficient MCP tools
13
+
14
+
The schema is required for:
15
+
16
+
-**Tool Descriptions**: The schema provides type information used to generate tool descriptions. You can override these descriptions by adding comments to your operation files.
17
+
-**Input Validation**: The schema is used to translate GraphQL input types into JSON Schema, ensuring that AI models provide correctly formatted inputs.
18
+
-**Introspection Support**: If you enable the `introspection` option, the schema is used to provide information about available types and operations to AI models.
19
+
12
20
## Use contract variants to control AI access to graphs
13
21
14
22
GraphOS [contract variants](/graphos/platform/schema-management/delivery/contracts/overview) let you deliver different subsets of your graph to different consumers.
@@ -17,8 +25,8 @@ When running Apollo MCP Server with GraphOS, use contract variants whenever poss
17
25
18
26
In particular, we strongly recommend contract variants when using:
## Send client name header when using persisted queries
24
32
@@ -38,4 +46,4 @@ According to [MCP security best practices](https://modelcontextprotocol.io/speci
38
46
To maintain clear trust boundaries, MCP servers must only accept tokens explicitly issued for themselves and must act as independent OAuth clients when calling upstream services.
39
47
Forwarding client tokens downstream is not allowed.
40
48
41
-
Apollo MCP Server supports OAuth 2.1 authentication that follows best practices and aligns with the MCP authorization model. See our [authorization guide](/apollo-mcp-server/guides/auth) for implementation details.
49
+
Apollo MCP Server supports OAuth 2.1 authentication that follows best practices and aligns with the MCP authorization model. See our [authorization guide](/apollo-mcp-server/auth) for implementation details.
0 commit comments