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
docs: sync MCP server docs to plane-mcp-server v0.3.0
Rewrite the MCP server setup guide around the hosted OAuth endpoint with
per-client setup (Claude, Claude Code, ChatGPT, Codex, Cursor, VS Code,
Windsurf, Zed, Antigravity, mcp-remote), correct the access-token headers
(Authorization: Bearer + x-workspace-slug), and add security, permissions,
upgrading, troubleshooting and FAQ sections.
Rebuild the tool reference for the 28 action-dispatch tools (183 actions,
169 retired-name aliases, 7 unmappable) from the v0.3.0 tool declarations,
and update the self-hosting guide with the correct OAuth callback URIs, new
environment variables (PLANE_OAUTH_ALLOWED_REDIRECT_URIS, LOG_USER_INFO,
Redis/ElastiCache options) and logging notes.
Copy file name to clipboardExpand all lines: docs/dev-tools/mcp-server-self-host.md
+85-37Lines changed: 85 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,33 @@
1
1
---
2
-
title: Self-host MCP Server
3
-
description: Deploy your own Plane MCP Server with Docker Compose or Helm. Register an OAuth app, configure credentials, and point AI clients at your own instance.
2
+
title: Self-host the MCP server
3
+
description: Deploy the Plane MCP server with Docker Compose or Helm, register OAuth callbacks, configure storage and security, and connect AI clients.
This guide is for teams that want to run their own instance of the Plane MCP Server - either because they're on a self-hosted Plane installation that needs OAuth against their own domain, or because they want full control over the MCP infrastructure.
9
+
This guide is for teams that want to run their own instance of the Plane MCP server — either because they use a
10
+
self-hosted Plane installation that needs OAuth against their own domain, or because they want full control over the
11
+
MCP infrastructure.
10
12
11
-
If you're a Plane Cloud user connecting to `mcp.plane.so`, you don't need this. Use the [MCP Server setup guide](/dev-tools/mcp-server) instead.
13
+
If you're a Plane Cloud user connecting to `mcp.plane.so`, you don't need this. Use the
14
+
[MCP server setup guide](/dev-tools/mcp-server) instead.
12
15
13
16
## Prerequisites
14
17
15
18
- A running **Plane instance** (self-hosted or Cloud) with workspace admin access
16
19
-**Docker** and Docker Compose v2+, _or_**Kubernetes** v1.21+ with Helm v3+
17
-
- A **public URL** for the MCP server (e.g. `https://mcp.yourdomain.com`) - OAuth callbacks must be able to reach it over HTTPS
20
+
- A **public URL** for the MCP server (e.g. `https://mcp.yourdomain.com`) — OAuth callbacks must reach it over HTTPS
18
21
19
22
---
20
23
21
24
## Register an OAuth app in Plane
22
25
23
26
The MCP server authenticates users through Plane's OAuth 2.0 system. You need to register an app to get a Client ID and Client Secret.
| `PLANE_OAUTH_PROVIDER_BASE_URL` | Yes | Public URL of **this MCP server**, not your Plane instance. |
161
+
| `PLANE_OAUTH_PROVIDER_ENABLE_CIMD` | No | Enables client ID metadata documents. Defaults to `false`. |
162
+
| `PLANE_OAUTH_ALLOWED_REDIRECT_URIS` | No | Comma-separated extra client redirect patterns. `*` can match a port, path segment, or subdomain; keep hosts pinned. |
163
+
| `MCP_PATH_PREFIX` | No | Prefix for every route. For example, `/plane` serves MCP at `/plane/http/mcp`. |
164
+
| `REDIS_HOST` | No | Redis or Valkey host for persistent OAuth token storage. Without it, tokens use in-memory storage. |
165
+
| `REDIS_PORT` | No | Redis or Valkey port. |
166
+
| `REDIS_PASSWORD` | No | Static Redis or Valkey password. |
167
+
| `REDIS_SSL` | No | Enables TLS for Redis or Valkey when set to `true`. |
168
+
| `ELASTICACHE_SECRET_ARN` | No | AWS Secrets Manager ARN containing a rotating ElastiCache authentication token. |
169
+
| `AWS_REGION` | No | AWS region for `ELASTICACHE_SECRET_ARN`. |
170
+
| `REDIS_AUTH_TOKEN_KEY` | No | JSON key that contains the rotating token in the AWS secret. |
171
+
| `LOG_USER_INFO` | No | Logs the user's display name when `true`. Defaults to `false`; the display name is PII. |
172
+
173
+
#### Onboard a new MCP client
174
+
175
+
The built-in redirect allowlist contains:
176
+
177
+
- `http://localhost:*`, `http://localhost:*/*`, `http://127.0.0.1:*`, and
| `https://mcp.yourdomain.com/sse` | OAuth | Deprecated HTTP+SSE transport |
252
296
253
-
Client configuration is identical to the [MCP Server setup guide](/dev-tools/mcp-server) - replace `https://mcp.plane.so` with your server's URL in every config snippet.
297
+
Client configuration is identical to the [MCP server setup guide](/dev-tools/mcp-server). Swap
298
+
`https://mcp.plane.so`for your server's host in each configuration.
254
299
255
300
---
256
301
@@ -273,9 +318,12 @@ If Valkey is unhealthy, tokens are stored in-memory and lost on restart. Verify
273
318
274
319
**OAuth errors:**
275
320
276
-
- Confirm all three redirect URIs are registered in your Plane OAuth app: `/callback`, `/http/auth/callback`, `/auth/callback`.
321
+
- Confirm both redirect URIs are registered in your Plane OAuth app: `/http/auth/callback`and `/auth/callback`. An
322
+
existing `/callback` registration is harmless but unnecessary.
277
323
- Check that `PLANE_OAUTH_PROVIDER_CLIENT_ID` and `PLANE_OAUTH_PROVIDER_CLIENT_SECRET` match what Plane generated.
278
324
- Check that `PLANE_OAUTH_PROVIDER_BASE_URL` is the publicly reachable `https://` URL of this MCP server - not your Plane instance URL.
325
+
- If the client reports `redirect_uri is not allowed`, add its exact callback or a host-pinned pattern to
326
+
`PLANE_OAUTH_ALLOWED_REDIRECT_URIS`, then restart the deployment.
279
327
- Clear any cached auth tokens on the client side:
280
328
281
329
```bash
@@ -297,5 +345,5 @@ docker compose up -d
297
345
298
346
---
299
347
300
-
→ For client configuration details, see the [MCP Server setup guide](/dev-tools/mcp-server).
301
-
→ For the full list of available tools, see the [MCP Server Tool Reference](/dev-tools/mcp-server-tools).
348
+
→ For client configuration details, see the [MCP server setup guide](/dev-tools/mcp-server).
349
+
→ For the full list of available tools, see the [tool reference](/dev-tools/mcp-server-tools).
0 commit comments