-
Notifications
You must be signed in to change notification settings - Fork 7
chore: update MCP server docs with latest http transport changes #179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,77 +5,86 @@ description: Use the Plane MCP server to integrate with Plane | |
|
|
||
| The [Model Context Protocol](https://modelcontextprotocol.io/overview) (MCP) is a | ||
| standardized interface that enables AI models to communicate with external tools and | ||
| services. When combined with Server-Sent Events (SSE), it provides a powerful | ||
| mechanism for real-time data transfer between AI models and external systems. | ||
| services. The Plane MCP Server enables AI agents to interact with Plane's project | ||
| management capabilities through multiple transport methods. | ||
|
|
||
| <Note> | ||
| The Plane MCP Server is open source and available on [GitHub](https://github.com/makeplane/plane-mcp-server). | ||
|
|
||
| <Note> | ||
| Beta | ||
| The Plane MCP Server is currently in **Beta**. Some aspects of the API may change. | ||
| While MCP is standardized, it is also rapidly evolving. The Plane MCP Server aims to | ||
| provide a stable implementation for developers to build robust AI-powered | ||
| applications. Please send any issues to [email protected]. | ||
| </Note> | ||
|
|
||
| ## Prerequisites | ||
| ## Transport methods | ||
|
|
||
| Before setting up the Plane MCP Server, ensure you have the following installed: | ||
| The Plane MCP Server supports multiple transport methods to accommodate different deployment scenarios: | ||
|
|
||
| ### Node.js and npm | ||
| - **Node.js**: Version 20 or later (LTS recommended) | ||
| - **npm**: Comes bundled with Node.js | ||
| - **npx**: Comes bundled with npm | ||
|
|
||
| You can verify your installation by running: | ||
| ```bash | ||
| node --version | ||
| npm --version | ||
| npx --version | ||
| ``` | ||
| | Transport | Best for | Authentication | | ||
| |-----------|----------|----------------| | ||
| | [HTTP with OAuth](#remote-http-with-oauth) | Cloud users, simplest setup | Browser-based OAuth | | ||
| | [HTTP with PAT Token](#remote-http-with-pat-token) | Automated workflows, CI/CD | API key in headers | | ||
| | [Local Stdio](#local-stdio-transport) | Self-hosted Plane instances | Environment variables | | ||
| | [SSE (Legacy)](#sse-transport-legacy) | Existing integrations | Browser-based OAuth | | ||
|
|
||
| If you don't have Node.js installed, download it from [nodejs.org](https://nodejs.org/). | ||
| ## Remote HTTP with OAuth | ||
|
|
||
| <Note> | ||
| The MCP server uses `npx` to run the `mcp-remote` package, which handles the connection to Plane's MCP server. This is why Node.js and npx are required. | ||
| </Note> | ||
| The recommended method for connecting to Plane Cloud. Uses browser-based OAuth for authentication. | ||
|
|
||
| ## Using the Plane MCP Server | ||
| ### Prerequisites | ||
|
|
||
| Follow these steps to integrate with the Plane MCP Server. | ||
| - **Node.js**: Version 22 or later | ||
| - **npx**: Comes bundled with npm | ||
|
|
||
| ### Claude.ai | ||
|
|
||
| - Open **Settings** from the sidebar on the web or desktop app. | ||
| - Scroll to the **Integrations** section and click **Add more**. | ||
| - Enter the Integration URL: `https://mcp.plane.so/sse` | ||
| - Click **Connect** to link your Plane workspace. | ||
| 1. Open **Settings** from the sidebar on the web or desktop app. | ||
| 2. Scroll to the **Integrations** section and click **Add more**. | ||
| 3. Enter the Integration URL: `https://mcp.plane.so/http/mcp` | ||
| 4. Click **Connect** to link your Plane workspace. | ||
|
|
||
| ### Claude Desktop | ||
|
|
||
| Add Plane to [Claude Desktop](https://modelcontextprotocol.io/quickstart/user) by | ||
| updating your `claude_desktop_config.json`: | ||
| Add to your `claude_desktop_config.json`: | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["mcp-remote@latest", "https://mcp.plane.so/http/mcp"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### Cursor | ||
|
|
||
| Add to your Cursor MCP configuration: | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["mcp-remote", "https://mcp.plane.so/sse"] | ||
| "args": ["mcp-remote@latest", "https://mcp.plane.so/http/mcp"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### VSCode | ||
|
|
||
| Connect Plane to [VSCode](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server) | ||
| by editing your `.vscode.json` or `mcp.json` file: | ||
| Add to your `.vscode/mcp.json` file: | ||
|
|
||
| ```json | ||
| { | ||
| "servers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["mcp-remote", "https://mcp.plane.so/sse"] | ||
| "args": ["mcp-remote@latest", "https://mcp.plane.so/http/mcp"] | ||
| } | ||
| } | ||
| } | ||
|
|
@@ -93,7 +102,7 @@ by editing your `.vscode.json` or `mcp.json` file: | |
| "mcpServers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["-y", "mcp-remote", "https://mcp.plane.so/sse"] | ||
| "args": ["-y", "mcp-remote@latest", "https://mcp.plane.so/http/mcp"] | ||
| } | ||
| } | ||
| } | ||
|
|
@@ -110,61 +119,157 @@ by editing your `.vscode.json` or `mcp.json` file: | |
| "plane": { | ||
| "source": "custom", | ||
| "command": "npx", | ||
| "args": ["-y", "mcp-remote", "https://mcp.plane.so/sse"], | ||
| "args": ["-y", "mcp-remote@latest", "https://mcp.plane.so/http/mcp"], | ||
| "env": {} | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## Remote HTTP with PAT Token | ||
|
|
||
| Use this method when you need header-based authentication, such as in automated workflows or CI/CD pipelines. | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - **Node.js**: Version 22 or later | ||
| - **npx**: Comes bundled with npm | ||
| - **Plane API Key**: Generate from your Plane workspace settings | ||
|
|
||
| ### Configuration | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["mcp-remote@latest", "https://mcp.plane.so/http/api-key/mcp"], | ||
| "headers": { | ||
| "Authorization": "Bearer <YOUR_API_KEY>", | ||
| "X-Workspace-slug": "<YOUR_WORKSPACE_SLUG>" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| Replace `<YOUR_API_KEY>` with your Plane API key and `<YOUR_WORKSPACE_SLUG>` with your workspace slug. | ||
|
|
||
| ## Local Stdio transport | ||
|
|
||
| Use this method to connect to a self-hosted Plane instance. The Stdio transport runs locally and communicates directly with your Plane API. | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - **Python**: Version 3.10 or later | ||
| - **uvx**: Comes bundled with [uv](https://docs.astral.sh/uv/getting-started/installation/) | ||
|
|
||
| You can verify your installation by running: | ||
| ```bash | ||
| python --version | ||
| uvx --version | ||
| ``` | ||
|
|
||
| ### Configuration | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "uvx", | ||
| "args": ["plane-mcp-server", "stdio"], | ||
| "env": { | ||
| "PLANE_API_KEY": "<YOUR_API_KEY>", | ||
| "PLANE_WORKSPACE_SLUG": "<YOUR_WORKSPACE_SLUG>", | ||
| "PLANE_BASE_URL": "https://your-plane-instance.com/api" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### Environment variables | ||
|
|
||
| | Variable | Required | Description | | ||
| |----------|----------|-------------| | ||
| | `PLANE_API_KEY` | Yes | Your Plane API key | | ||
| | `PLANE_WORKSPACE_SLUG` | Yes | Your workspace slug | | ||
| | `PLANE_BASE_URL` | No | API URL for self-hosted instances (defaults to `https://api.plane.so`) | | ||
Prashant-Surya marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| ## SSE transport (Legacy) | ||
|
|
||
| <Note> | ||
| The SSE transport is maintained for backward compatibility. For new integrations, we recommend using the [HTTP with OAuth](#remote-http-with-oauth) transport. | ||
| </Note> | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - **Node.js**: Version 22 or later | ||
| - **npx**: Comes bundled with npm | ||
|
|
||
| ### Configuration | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["mcp-remote@latest", "https://mcp.plane.so/sse"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## Activating the Plane MCP Server | ||
|
|
||
| After setup, when activating the server, you will be prompted in your browser to | ||
| connect your Plane workspace to the MCP server. | ||
| After setup, when activating the server with OAuth-based transports (HTTP with OAuth or SSE), you will be prompted in your browser to connect your Plane workspace to the MCP server. | ||
|
|
||
| When prompted to authorize, click **Approve**. | ||
|
|
||
| Next, choose the workspace you want to connect, review the permissions, and click | ||
| **Accept**. | ||
| Next, choose the workspace you want to connect, review the permissions, and click **Accept**. | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| ### Common Issues | ||
| ### Common issues | ||
|
|
||
| **Authentication Errors** | ||
| **Authentication errors** | ||
|
|
||
| If you encounter authentication issues, clear saved auth tokens: | ||
| If you encounter authentication issues with OAuth transports, clear saved auth tokens: | ||
|
|
||
| ```bash | ||
| rm -rf ~/.mcp-auth | ||
| ``` | ||
|
|
||
| **Connection Timeouts** | ||
| **Connection timeouts** | ||
|
|
||
| - Ensure you have a stable internet connection | ||
| - Check if your firewall or proxy is blocking MCP connections | ||
| - Try using the HTTP endpoint instead of SSE if available | ||
| - Verify your Plane instance is accessible | ||
|
|
||
| **WSL on Windows** | ||
|
|
||
| If you're using WSL on Windows and encountering errors, use this configuration: | ||
| If you're using WSL on Windows and encountering errors with remote transports: | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "wsl", | ||
| "args": ["npx", "-y", "mcp-remote", "https://mcp.plane.so/sse", "--transport sse-only"] | ||
| "args": ["npx", "-y", "mcp-remote@latest", "https://mcp.plane.so/http/mcp"] | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| **Node.js Version** | ||
| **Node.js version** | ||
|
|
||
| Ensure you have Node.js 22 or later installed for remote transports. | ||
|
|
||
| **Python version** | ||
|
|
||
| Ensure you have a recent version of Node.js installed. MCP servers require Node.js 18 or later. | ||
| Ensure you have Python 3.10 or later installed for the local Stdio transport. | ||
|
|
||
| ### Getting Help | ||
| ### Getting help | ||
|
|
||
| If you continue to experience issues: | ||
|
|
||
|
|
@@ -174,4 +279,4 @@ If you continue to experience issues: | |
|
|
||
| ## Congrats! | ||
|
|
||
| You have successfully connected your Plane workspace to the MCP server! | ||
| You have successfully connected your Plane workspace to the MCP server! | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
mcp-remote npm package headers configuration MCP server💡 Result:
Short answer — mcp-remote supports sending custom HTTP headers to the remote MCP server via CLI flags or environment variables.
How to set headers
args: ["mcp-remote","https://remote.mcp.server/sse","--header","Authorization: Bearer ${AUTH_TOKEN}"] (set AUTH_TOKEN in env). [1][2]
Related options
Sources
Replace
headersfield with--headerCLI flags in the args array.The
headersconfiguration field is not supported by mcp-remote. Headers must be passed via--headerflags in the command arguments. The configuration should be:{ "mcpServers": { "plane": { "command": "npx", "args": [ "mcp-remote@latest", "https://mcp.plane.so/http/api-key/mcp", "--header", "Authorization: Bearer <YOUR_API_KEY>", "--header", "X-Workspace-slug: <YOUR_WORKSPACE_SLUG>" ] } } }Repeat
--headerfor each additional header needed.🤖 Prompt for AI Agents