Skip to content

Commit 1a5b44d

Browse files
authored
Merge pull request #90 from Qovery/update-mcp-query
feat(QOV-1757): add read_write parameter in the mcp server
2 parents 25653e2 + d5e269a commit 1a5b44d

1 file changed

Lines changed: 74 additions & 67 deletions

File tree

docs/copilot/mcp-server.mdx

Lines changed: 74 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -19,107 +19,114 @@ The Qovery MCP Server lets you interact with your Qovery infrastructure from any
1919

2020
- **MCP-Compatible Client**: Any MCP-compatible application
2121
- **Qovery Account**: Active account with infrastructure
22-
- **API Token**: Generate from Qovery Console (Settings -> API Tokens) (only needed if you don't use OAuth)
2322

2423
## Setup
2524

26-
### 1. Generate Your Qovery API Token (if not using OAuth)
25+
The Qovery MCP Server is accessible at `https://mcp.qovery.com/mcp`. Choose one of the two authentication methods below to connect your MCP client.
2726

28-
<Steps>
29-
<Step title="Open Qovery Console">
30-
Go to [console.qovery.com](https://console.qovery.com)
31-
</Step>
32-
33-
<Step title="Navigate to Settings">
34-
Click on your organization name in the top left, then go to the **Settings** tab
35-
</Step>
27+
<Tabs>
28+
<Tab title="OAuth (recommended)">
3629

37-
<Step title="Access API Tokens">
38-
Go to **API Tokens** section
39-
</Step>
30+
If your MCP client supports OAuth, this is the easiest option — no token generation required. The client will handle authentication automatically.
4031

41-
<Step title="Generate Token">
42-
Click "Generate Token" and copy it
32+
**Example with Claude Code:**
4333

44-
<Warning>
45-
Save this token securely. You won't be able to see it again!
46-
</Warning>
47-
</Step>
48-
</Steps>
34+
```bash
35+
# Read-only (default)
36+
claude mcp add --transport http qovery https://mcp.qovery.com/mcp --callback-port 4242
4937

50-
### 2. Configure Your MCP Client
38+
# Read/write
39+
claude mcp add --transport http qovery "https://mcp.qovery.com/mcp?read_write=true" --callback-port 4242
40+
```
5141

52-
The Qovery MCP Server is accessible at:
42+
Refer to your MCP client's documentation for how to configure OAuth with a custom server URL.
5343

54-
```
55-
https://mcp.qovery.com/mcp
56-
```
44+
</Tab>
5745

58-
<Info>
59-
The Qovery MCP Server is also available through the [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.qovery).
60-
</Info>
46+
<Tab title="API Token">
6147

62-
## Authentication
48+
If your MCP client doesn't support OAuth, generate a Qovery API token and pass it via the URL.
6349

64-
The Qovery MCP Server supports **2 authentication methods**:
50+
**Step 1 — Generate a token:**
6551

66-
### OAuth
52+
<Steps>
53+
<Step title="Open Qovery Console">
54+
Go to [console.qovery.com](https://console.qovery.com)
55+
</Step>
6756

68-
The easiest method to authentificate, it will open a page in your browser to authentificate
57+
<Step title="Navigate to Settings">
58+
Click on the settings icon in your organization
59+
</Step>
6960

70-
<Tabs>
71-
<Tab title="Claude code">
61+
<Step title="Access API Tokens">
62+
Go to **API Tokens** section
63+
</Step>
7264

73-
Use the MCP Server URL and configure an OAuth callback port
65+
<Step title="Generate Token">
66+
Click "Generate Token" and copy it
7467

75-
```bash
76-
claude mcp add --transport http qovery https://mcp.qovery.com/mcp --callback-port 4242
77-
```
78-
</Tab>
68+
<Warning>
69+
Save this token securely. You won't be able to see it again!
70+
</Warning>
71+
</Step>
72+
</Steps>
7973

80-
<Tab title="Codex">
74+
**Step 2 — Configure your MCP client:**
8175

82-
At the root of your `.codex/config.toml` add this settings.
76+
Use the following URL format, replacing `your_qovery_token` with your token:
8377

84-
```toml
85-
mcp_oauth_callback_port = 4242
8678
```
79+
# Read-only (default)
80+
https://mcp.qovery.com/mcp?token=your_qovery_token
8781
88-
After you can add Qovery MCP Server with this command
89-
90-
```bash
91-
codex mcp add qovery --url https://mcp.qovery.com/mcp
82+
# Read/write
83+
https://mcp.qovery.com/mcp?token=your_qovery_token&read_write=true
9284
```
93-
</Tab>
94-
</Tabs>
9585

86+
You can also pass the token via an `Authorization` header instead:
9687

97-
### Qovery API Token
88+
If you want to use a Qovery API token, for example to be able to limit the permission of what can be done.
89+
You can create a token with read/view only permission so you are guaranteed no destructive action can be taken.
9890

99-
If you want to use a Qovery API token, for example to be able to limit the permission of what can be done.
100-
You can create a token with read/view only permission so you are guaranteed no destructive action can be taken.
91+
<Tabs>
92+
<Tab title="Claude Code">
10193

102-
<Tabs>
103-
<Tab title="Claude Code">
94+
Configure claude code to add your Qovery token in the HTTP headers
10495

105-
Configure claude code to add your Qovery token in the HTTP headers
96+
```bash
97+
claude mcp add --transport http qovery https://mcp.qovery.com/mcp --header 'Authorization: Token qov_xxxx'
98+
```
99+
```
100+
Authorization: Token your_qovery_token
101+
```
102+
103+
</Tab>
104+
</Tabs>
106105

107-
```bash
108-
claude mcp add --transport http qovery https://mcp.qovery.com/mcp --header 'Authorization: Token qov_xxxx'
109-
```
110106
</Tab>
107+
</Tabs>
111108

112-
<Tab title="Codex">
113-
In your `.codex/config.toml` add this settings to the Qovery MCP server section
109+
<Info>
110+
The Qovery MCP Server is also available through the [MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=com.qovery).
111+
</Info>
114112

115-
```
116-
[mcp_servers.qovery]
117-
url = "https://mcp.qovery.com/mcp"
118-
http_headers = { "Authorization" = "Token qov_xxxx" }
119-
```
113+
## Access Modes
120114

121-
</Tab>
122-
</Tabs>
115+
| Mode | Default | Description |
116+
|------|---------|-------------|
117+
| Read-only | Yes | Can query and list resources (environments, services, deployments, etc.) |
118+
| Read/write | No (`read_write=true`) | Can also trigger deployments, update configurations, and perform write operations |
119+
120+
<Info>
121+
The `devops_copilot` tool depends on two settings in your Qovery Console:
122+
123+
1. **Copilot must be enabled** — if disabled, the tool will not be accessible at all, regardless of your MCP configuration
124+
2. **Write access must be enabled** — required to use the tool in read/write mode (in addition to the `read_write=true` URL parameter)
125+
</Info>
126+
127+
<Warning>
128+
Enable write mode only when needed. Prefer read-only mode to limit the blast radius of unintended AI actions.
129+
</Warning>
123130

124131
## Usage Examples
125132

0 commit comments

Comments
 (0)