MantisBT MCP Server
MantisBT MCP Server
A Model Context Protocol (MCP) server that integrates the MantisBT REST API into Claude Code and other MCP-capable clients. Read, create, and update issues directly from your editor.
Requirements
Node.js ≥ 18
MantisBT installation with REST API enabled (version 2.23+)
MantisBT API token (create under My Account → API Tokens)
Related MCP server: MantisBT MCP Server
Installation
Via npx (recommended):
Add to ~/.claude/claude_desktop_config.json (Claude Desktop) or your local
claude_desktop_config.json (Claude Code):
{
"mcpServers": {
"mantisbt": {
"command": "npx",
"args": ["-y", "@dpesch/mantisbt-mcp-server"],
"env": {
"MANTIS_BASE_URL": "https://your-mantis.example.com/api/rest",
"MANTIS_API_KEY": "your-api-token"
}
}
}
}Local build:
git clone https://codeberg.org/dpesch/mantisbt-mcp-server
cd mantisbt-mcp-server
npm run init
npm run build{
"mcpServers": {
"mantisbt": {
"command": "node",
"args": ["/path/to/mantisbt-mcp-server/dist/index.js"],
"env": {
"MANTIS_BASE_URL": "https://your-mantis.example.com/api/rest",
"MANTIS_API_KEY": "your-api-token"
}
}
}
}Configuration
Environment variables
Variable | Required | Default | Description |
| ✅ | – | Base URL of your MantisBT installation. Both |
| ✅ | – | API token for authentication |
| – |
| Directory for the metadata cache |
| – |
| Cache lifetime in seconds |
| – |
| Transport mode: |
| – |
| Port for HTTP mode |
| – |
| Bind address for HTTP mode. Changed from |
| – | – | When set, the |
| – |
| Set to |
| – |
| Vector store backend: |
| – |
| Directory for the search index |
| – |
| Embedding model name (downloaded once on first use, ~80 MB) |
| – |
| Number of ONNX intra-op threads for the embedding model. Default is 1 to prevent CPU saturation on multi-core machines and WSL. Increase only if index rebuild speed matters and the host is dedicated to this workload. |
| – | – | Restrict |
Available tools
Issues
Tool | Description |
| Retrieve an issue by its numeric ID |
| Retrieve multiple issues by ID in one call (1–50 IDs); missing or inaccessible IDs return |
| Filter issues by project, status, author, and more; optional |
| Create a new issue; |
| Update an existing issue; enum fields ( |
| Delete an issue |
Notes
Tool | Description |
| List all notes of an issue |
| Add a note to an issue |
| Delete a note |
Attachments
Tool | Description |
| List attachments of an issue |
| Upload a file to an issue — either by local |
Relationships
Tool | Description |
| Create a relationship between two issues; optional |
| Remove a relationship from an issue (use the |
Monitors
Tool | Description |
| Add a user as a monitor of an issue |
| Remove a user as a monitor of an issue |
Tags
Tool | Description |
| List all available tags; falls back to the metadata cache when |
| Attach tags to an issue |
| Remove a tag from an issue |
Projects
Tool | Description |
| List all accessible projects; returns normalized project data (consistent with |
| Get versions of a project; optional |
| Get categories of a project |
| Get users of a project |
| Search project members by name, real name, or email (case-insensitive substring match); optional |
Semantic search (optional)
Instead of exact keyword matching, semantic search understands the meaning behind a query. Ask in plain language — the search engine finds conceptually related issues even when the wording doesn't match:
"login fails after password reset" — finds issues about authentication edge cases
"performance problems on the checkout page" — surfaces related reports regardless of the exact terminology used
"duplicate entries in the invoice list" — catches issues described as "shown twice", "double records", etc.
The embedding model (~80 MB) runs entirely offline — no OpenAI key, no external API. It is downloaded once on first start and cached locally. Issues are indexed incrementally on every server start (only new and updated issues are re-indexed).
Activate with MANTIS_SEARCH_ENABLED=true.
Tool | Description |
| Natural language search over all indexed issues — returns top-N results with cosine similarity score; optional |
| Build or update the search index; |
| Return the current fill level of the search index: how many issues are indexed vs. total, and the timestamp of the last sync |
Which backend to choose?
|
| |
Dependencies | None (pure JS) | Requires native build tools |
Install | Included |
|
Best for | Up to ~10,000 issues | 10,000+ issues |
Performance | Fast enough for most setups | Faster for large corpora |
Start with vectra. Switch to sqlite-vec if indexing or query times become noticeably slow.
npm install sqlite-vec better-sqlite3
# then set MANTIS_SEARCH_BACKEND=sqlite-vecMetadata & system
Tool | Description |
| Return all field names valid for the |
| Retrieve a compact metadata summary: project/tag counts and per-project user/version/category counts; use |
| Return the full raw metadata cache as minified JSON (all projects with complete fields, users/versions/categories per project, all tags) |
| Refresh the metadata cache |
| List saved filters |
| Retrieve your own user profile |
| List available languages |
| Show server configuration (base URL, cache TTL) |
| Return valid ID/name pairs for all issue enum fields (severity, status, priority, resolution, reproducibility) — use before |
| Get MantisBT version and check for updates |
| Return the version of this mantisbt-mcp-server instance |
Available resources
MCP Resources are URI-addressable, read-only data that clients can fetch directly without calling a tool. They are the third MCP primitive alongside Tools and Prompts. Note that Resource support is less widely implemented in MCP clients than Tools — check your client's documentation.
Resource URI | Description |
| Profile of the authenticated API user (live fetch) |
| All accessible MantisBT projects as a compact list (cache-backed, refreshed via |
| Combined project view: project fields + users + versions + categories in one call; cache-first, list-support for enumerating all available project URIs |
| Valid values for all issue enum fields: severity, priority, status, resolution, reproducibility (live fetch) |
Available prompts
MCP prompt templates are conversation starters that instruct the LLM to collect structured input and then call the appropriate tool. They are not tools themselves — they initiate a guided workflow.
Prompt | Required args | Optional args | Description |
|
|
| Guides through a structured bug report and calls |
|
|
| Guides through a feature request and calls |
|
| – | Fetches an issue via |
|
| – | Lists issues via |
HTTP mode
For use as a standalone server (e.g. in remote setups):
MANTIS_BASE_URL=... MANTIS_API_KEY=... TRANSPORT=http PORT=3456 node dist/index.js
# With token authentication and explicit bind address (required for Docker/remote):
# MCP_HTTP_TOKEN=secret MANTIS_BASE_URL=... MANTIS_API_KEY=... \
# TRANSPORT=http PORT=3456 MCP_HTTP_HOST=0.0.0.0 node dist/index.jsHealth check: GET http://localhost:3456/health (always public, no token required)
Documentation
Cookbook — tool-oriented recipes with copy-paste-ready parameter examples for all registered tools
Usage Examples — natural language prompt examples for everyday use cases (no tool names required)
Development
npm run init # First-time setup: install deps, git hooks, typecheck
npm run build # Compile TypeScript → dist/
npm run typecheck # Type check without output
npm run dev # Watch mode for development
npm test # Run tests (vitest)
npm run test:watch # Run tests in watch mode
npm run test:coverage # Coverage reportLicense
MIT – see LICENSE
Contributing
Contributions welcome! Please read CONTRIBUTING.md. Repository: codeberg.org/dpesch/mantisbt-mcp-server
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol (MCP) service that enables integration with Mantis Bug Tracker, allowing users to query and analyze bug tracking data through natural language commands.82810MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with MantisBT bug tracking systems through the REST API. Supports issue management, project access, user information, and note creation with type-safe operations.2
- AlicenseAqualityDmaintenanceConnect Claude to your Redmine instance to search, browse, create and update issues, manage time entries, and upload/download attachments.51Mozilla Public 2.0
- FlicenseNot gradedqualityCmaintenanceEnables query and management of Zentao bugs, tasks, projects, and iterations directly from MCP-compatible IDEs like Cursor or Claude Desktop.
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dpesch/mantisbt-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server