A side-by-side look at the Mantisbt MCP Server and Plane MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Mantisbt MCP Server for product management work as a local process; choose Plane MCP Server for product management. You can also run both side by side in one mcpServers block.
MANTIS_BASE_URL, MANTIS_API_KEY, MCP_HTTP_TOKEN.get_issue, get_issues, list_issues.PLANE_API_KEY, PLANE_WORKSPACE_SLUG.project_id, name, description_html.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Product Management | Product Management |
| Quality signal | 60/100 · Good | 45/100 · Fair |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | API key required | API key required |
| Pricing | Free | Free |
| Required env vars | MANTIS_BASE_URLMANTIS_API_KEYMCP_HTTP_TOKEN | PLANE_API_KEYPLANE_WORKSPACE_SLUG |
| Verified owner | Community listing | Community listing |
| GitHub stars | 12 | 40 |
| Directory activity | 0 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 30 | 4 |
| Full listing | View Mantisbt MCP Server | View Plane MCP Server |
get_issueRetrieve an issue by its numeric ID; optional `select` for field projection to reduce response sizeget_issuesRetrieve multiple issues by ID in one call (1–50 IDs); missing or inaccessible IDs return `null` at their position instead of failing the calllist_issuesFilter issues by project, status, author, and more; optional `select` for field projection and `status` for client-side status filtering — canonical English status names (e.g. `"new"`, `"resolved"`) are matched by ID, making the filter language-independent on localized installationscreate_issueCreate a new issue; `severity` and `priority` must be canonical English names (e.g. `minor`, `major`, `normal`, `high`) — call `get_issue_enums` to see all valid values and their localized labels; optional `handler` parameter accepts a username as alternative to `handler_id` (resolved against proje…update_issueUpdate an existing issue; enum fields (`status`, `priority`, `severity`, `resolution`, `reproducibility`) accept canonical English names, localized names, or numeric IDs — the server resolves names to IDs automatically; supports `custom_fields` and an optional `note` parameter that appends a note i…delete_issueDelete an issuelist_notesList all notes of an issueadd_noteAdd a note to an issuedelete_noteDelete a notelist_issue_filesList attachments of an issueupload_fileUpload a file to an issue — preferred: local `file_path` (server reads and encodes automatically); fallback: Base64-encoded `content` + `filename` (use only when `file_path` is not available)add_relationshipCreate a relationship between two issues; optional `type_name` parameter accepts a string name (e.g. `"related_to"`, `"duplicate_of"`) as alternative to numeric `type_idproject_idID of the project to retrievenameTitle of the issuedescription_htmlHTML description of the issue (required by Plane API)issue_idID of the issue to retrievePaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"dpesch-mantisbt-mcp-server": {
"command": "npx",
"args": [
"-y",
"@dpesch/mantisbt-mcp-server"
],
"env": {
"MANTIS_BASE_URL": "YOUR_MANTIS_BASE_URL_HERE",
"MANTIS_API_KEY": "YOUR_MANTIS_API_KEY_HERE",
"MCP_HTTP_TOKEN": "YOUR_MCP_HTTP_TOKEN_HERE"
}
}
}
}
No confirmed install command for Plane MCP Server yet — follow the setup steps linked from its listing page rather than a guessed package name.