-
Notifications
You must be signed in to change notification settings - Fork 73
feat: Add comprehensive Pages API support with session authentication #43
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
base: canary
Are you sure you want to change the base?
Changes from all commits
d86df96
0c5fdf5
7a31baf
1b22916
28615e9
4608a5a
974fae4
01cfbe2
4eaa546
cc5a97e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,133 @@ | ||
| # Plane MCP Server - Pages API Setup Guide | ||
|
|
||
| ## Quick Start | ||
|
|
||
| ### 1. Install | ||
| ```bash | ||
| npm install -g @makeplane/plane-mcp-server | ||
| ``` | ||
|
|
||
| ### 2. Configure Your MCP Client | ||
|
|
||
| #### For Claude Desktop | ||
|
|
||
| Edit `~/Library/Application Support/Claude/claude_desktop_config.json`: | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["-y", "@makeplane/plane-mcp-server"], | ||
| "env": { | ||
| "PLANE_API_KEY": "your-api-key-here", | ||
| "PLANE_WORKSPACE_SLUG": "your-workspace-slug", | ||
| "PLANE_API_HOST_URL": "https://api.plane.so/", | ||
| "PLANE_EMAIL": "your-email@example.com", | ||
| "PLANE_PASSWORD": "your-password" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| #### For VSCode | ||
|
|
||
| Edit `~/.vscode/mcp.json`: | ||
|
|
||
| ```json | ||
| { | ||
| "servers": { | ||
| "plane": { | ||
| "command": "npx", | ||
| "args": ["-y", "@makeplane/plane-mcp-server"], | ||
| "env": { | ||
| "PLANE_API_KEY": "your-api-key-here", | ||
| "PLANE_WORKSPACE_SLUG": "your-workspace-slug", | ||
| "PLANE_API_HOST_URL": "https://api.plane.so/", | ||
| "PLANE_EMAIL": "your-email@example.com", | ||
| "PLANE_PASSWORD": "your-password" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### 3. Environment Variables | ||
|
|
||
| #### Required for All Features | ||
| - `PLANE_API_KEY` - Get from Workspace Settings > API Tokens in Plane | ||
| - `PLANE_WORKSPACE_SLUG` - Found in your Plane workspace URL | ||
|
|
||
| #### Optional | ||
| - `PLANE_API_HOST_URL` - Defaults to `https://api.plane.so/` (set for self-hosted) | ||
|
|
||
| #### For Pages API Only | ||
| - `PLANE_EMAIL` - Your Plane account email | ||
| - `PLANE_PASSWORD` - Your Plane account password | ||
|
|
||
| **Note:** If you don't set email/password, you can still use Pages tools by calling `plane_login` manually in your conversation. | ||
|
|
||
| ## Authentication Methods | ||
|
|
||
| ### API Key Authentication | ||
| Used for most tools: | ||
| - Projects, Issues, Modules, Cycles | ||
| - Labels, States, Issue Types | ||
| - Work Logs | ||
|
|
||
| ### Session Authentication | ||
| Required for Pages API tools: | ||
| - All 18 Pages API tools | ||
| - Use `plane_login` tool or set `PLANE_EMAIL`/`PLANE_PASSWORD` env vars | ||
|
|
||
| ## Testing Your Setup | ||
|
|
||
| ### Test API Key Authentication | ||
| Ask your AI assistant: | ||
| ``` | ||
| "List my Plane projects" | ||
| ``` | ||
|
|
||
| ### Test Pages Authentication | ||
| Ask your AI assistant: | ||
| ``` | ||
| "Login to Plane with my credentials and list pages in project <project-id>" | ||
| ``` | ||
|
Comment on lines
+88
to
+96
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add language identifiers to fenced blocks. This resolves MD040 and improves readability. 📝 Suggested update-```
+```text
"List my Plane projects"@@ 🧰 Tools🪛 markdownlint-cli2 (0.18.1)88-88: Fenced code blocks should have a language specified (MD040, fenced-code-language) 94-94: Fenced code blocks should have a language specified (MD040, fenced-code-language) 🤖 Prompt for AI Agents |
||
|
|
||
| ## Troubleshooting | ||
|
|
||
| ### Pages API Not Working | ||
| 1. Verify you've called `plane_login` or set `PLANE_EMAIL`/`PLANE_PASSWORD` | ||
| 2. Check your password is correct (no SSO - must be email/password account) | ||
| 3. For cloud instances, ensure you're using `https://api.plane.so/` | ||
|
|
||
| ### API Key Authentication Failing | ||
| 1. Verify your API key is valid in Plane settings | ||
| 2. Check `PLANE_WORKSPACE_SLUG` matches your workspace URL | ||
| 3. For self-hosted, verify `PLANE_API_HOST_URL` is correct | ||
|
|
||
| ## Self-Hosted Plane | ||
|
|
||
| Set `PLANE_API_HOST_URL` to your instance: | ||
| ```json | ||
| { | ||
| "env": { | ||
| "PLANE_API_HOST_URL": "http://your-plane-instance.com/", | ||
| ... | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## Security Notes | ||
|
|
||
| - Store credentials securely in your MCP client config | ||
| - Don't share your API keys or passwords | ||
| - Use environment-specific credentials (dev vs prod) | ||
| - Consider using separate API keys for different tools | ||
|
|
||
| ## Getting Help | ||
|
|
||
| - [Plane Documentation](https://docs.plane.so) | ||
| - [MCP Documentation](https://modelcontextprotocol.io) | ||
| - [GitHub Issues](https://github.com/makeplane/plane-mcp-server/issues) | ||
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.
Security concern: Plaintext password storage in environment variables.
Storing passwords in environment variables or configuration files creates several security risks:
ps,top)The documentation should warn users about these risks and recommend:
plane_loginapproach (Option 2) over environment variables when possible📋 Suggested documentation enhancement
Add a security warning after line 434:
🤖 Prompt for AI Agents