MantisBT MCP Server
MantisBT MCP server – manage issues, notes, files, tags, and relationships.
Connector by dpesch · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/dpesch-mantisbt-mcp-server
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 23 read · 12 write · 6 delete
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 41
Read from the source code; the running server may list different tools.
Read 23 · Look things up without changing anything.
find_project_memberget_configget_current_userget_issueget_issue_enumsget_issue_fieldsget_issuesget_mantis_versionget_mcp_versionget_metadataget_metadata_fullget_project_categories
Show 11 more tools
get_project_usersget_project_versionsget_search_index_statuslist_filterslist_issue_fileslist_issueslist_languageslist_noteslist_projectslist_tagssearch_issues
Write 12 · Create, change, send or run things.
add_monitoradd_noteadd_relationshipattach_tagscreate_issuecreate_versionrebuild_search_indexrelease_versionsync_metadataupdate_issueupdate_versionupload_file
Delete 6 · Delete, drop, revoke or wipe things.
delete_issuedelete_notedelete_versiondetach_tagremove_monitorremove_relationship
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
MANTIS_API_KEYMCP_HTTP_TOKEN
Other settings (environment variables or headers).
MANTIS_BASE_URLMANTIS_CACHE_DIRMANTIS_CACHE_TTLMANTIS_SEARCH_BACKENDMANTIS_SEARCH_DIRMANTIS_SEARCH_ENABLEDMANTIS_SEARCH_MODELMANTIS_SEARCH_THREADSMANTIS_UPLOAD_DIRMANTIS_USE_INDEX_PHPMCP_HTTP_HOSTPORT
Show 1 more settings
TRANSPORT
Network hosts it talks to 1
glama.ai· found in code
Tools (41)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_monitorAdd Issue MonitorAdd a user as a monitor (watcher) of a MantisBT issue. Monitors receive email notifications whenever the issue is updated. Returns a success confirmation object. Use add_monitor to subscribe team members to issue updates without assigning them as the handler. To unsubscribe a user, call remove_monitor with the same parameters. Adding a user who is already a monitor is a no-op — the operation succeeds without creating duplicates. Prerequisites: obtain issue_id from list_issues or get_issue; use find_project_member or get_project_users to look up valid MantisBT login names.
add_noteAdd Note to IssueAdd a note (comment) to an existing MantisBT issue. Returns the created note object including id, created_at, reporter, text, view_state, and a view_url linking directly to the note in the MantisBT web UI. Full UTF-8 text is supported. Markdown syntax is stored as-is — rendering depends on the MantisBT instance's configured text renderer. Use view_state="private" to restrict the note to users with reporter-level access or higher; public notes are visible to all users who can view the issue. Prerequisites: obtain issue_id from list_issues, get_issue, or search_issues.
add_relationshipAdd Issue RelationshipDescription is built at runtime.
attach_tagsAttach Tags to IssueAttach one or more tags to a MantisBT issue. Each tag can be specified either by ID or by name. If a tag name is provided that does not exist yet, MantisBT will create it automatically (requires tag_create_threshold permission, default: REPORTER). Requires tag_attach_threshold permission (default: REPORTER).
create_issueCreate IssueCreate a new MantisBT issue. Returns the full created issue object including the assigned id, summary, status, priority, severity, category, reporter, created_at, and view_url. Required fields: summary, description, project_id, category. All other fields are optional with sensible defaults (priority: "normal", severity: "minor"). Recommended workflow: 1. Call get_project_categories to obtain a valid category name 2. Optionally call get_project_versions to obtain version names 3. Optionally call find_project_member to resolve the assignee's username Both priority and severity accept canonica…
create_versionCreate VersionCreate a new version in a MantisBT project. Returns the created version object (id, name, description, released, obsolete, timestamp). Version names must be unique within the project. Without timestamp, MantisBT uses the current date. Requires the manage_project_threshold access level in the project (MantisBT default: manager).
delete_issueDelete Issuecan change or delete dataPermanently delete a MantisBT issue. This action is irreversible.
delete_noteDelete Notecan change or delete dataPermanently delete a note from a MantisBT issue. This action is irreversible — deleted notes cannot be recovered. Returns a plain-text confirmation message on success. Returns an error if the note does not exist or the current user lacks permission to delete it (MantisBT enforces access control: users can typically only delete their own notes unless they have manager-level access or higher). Prerequisites: obtain note_id from list_notes or from get_issue (notes[].id); obtain issue_id from the same source.
delete_versionDelete Versioncan change or delete dataPermanently delete a version of a MantisBT project. This action is irreversible. MantisBT clears the version, target_version and fixed_in_version fields of all issues that reference the deleted version (including subprojects if versions are inherited). To retire a version without touching issues, set obsolete=true via update_version instead. The version must belong to project_id itself: versions inherited from a parent project can only be changed via the parent's project_id (otherwise MantisBT answers "Version not found"). get_project_versions with inherit=false (the default) lists the proje…
detach_tagDetach Tag from IssueRemove a tag from a MantisBT issue. Requires tag_detach_own_threshold (default: REPORTER) for own tags, or tag_detach_threshold (default: DEVELOPER) for tags attached by others.
find_project_memberFind Project Memberread-onlySearch for users with access to a MantisBT project by name, display name, or email. Returns up to `limit` matching users (default: 10, max: 100). Matching is case-insensitive substring search across `name`, `real_name`, and `email` fields. Omit `query` to list the first `limit` users. Data is served from the local metadata cache when fresh; falls back to a live API call otherwise.
get_configGet MantisBT Configurationread-onlyRetrieve one or more MantisBT configuration options. Common option names: - "status_enum_string" — issue status values and their IDs - "priority_enum_string" — priority values - "severity_enum_string" — severity values - "resolution_enum_string" — resolution values - "reproducibility_enum_string" — reproducibility values - "view_state_enum_string" — view state values - "access_levels_enum_string" — access level values
get_current_userGet Current Userread-onlyRetrieve the profile of the user associated with the current API key.
get_issueGet Issueread-onlyRetrieve a single MantisBT issue by its numeric ID. Returns all issue fields including notes, attachments, and relationships (unless "select" is given). Notes are always included — no separate list_notes call needed.
get_issue_enumsGet Issue Enum Valuesread-onlyReturn valid ID, name, and (if available) localized label for all issue enum fields. Use this tool before creating or updating issues to look up the correct value for severity, status, priority, resolution, or reproducibility. Example response (English installation): { "severity": [{"id": 10, "name": "feature"}, {"id": 50, "name": "minor"}, ...], "status": [{"id": 10, "name": "new"}, {"id": 20, "name": "feedback"}, ...], "priority": [{"id": 10, "name": "none"}, {"id": 30, "name": "normal"}, ...], "resolution": [{"id": 10, "name": "open"}, {"id": 20, "n…
Show 26 more tools
get_issue_fieldsGet Issue Fieldsread-onlyReturn all field names that are valid for the "select" parameter of list_issues and get_issue. Fields are discovered by fetching a sample issue from MantisBT (which reflects the server's active configuration — e.g. whether eta, projection, or profile fields are enabled) and merging the result with fields that MantisBT omits when empty (notes, attachments, relationships, etc.). The result is cached with the same TTL as the metadata cache. Use this tool before constructing a "select" string to ensure you only request fields that exist on this server.
get_issuesGet Multiple Issuesread-onlyRetrieve multiple MantisBT issues by their numeric IDs in a single MCP call. Requests run in parallel (max 5 concurrent). Missing or inaccessible IDs return null at their array position — the call never fails due to individual missing IDs. Response includes "requested", "found", and "failed" counters for quick validation.
get_mantis_versionGet MantisBT Versionread-onlyReturns the version of the connected MantisBT installation and optionally compares it against the latest official release on GitHub. The version is read from the X-Mantis-Version response header sent by every API call. The GitHub comparison requires an outbound HTTPS request to the GitHub API.
get_mcp_versionGet MCP Server Versionread-onlyReturns the version of this mantisbt-mcp-server instance.
get_metadataGet Cached Metadataread-onlyReturn a compact summary of cached MantisBT metadata: project count, tag count, and per-project counts of users, versions, and categories. If the cache does not exist or has expired (default TTL: 24 hours), it will automatically sync first. Use sync_metadata to force a refresh. For full lists use: list_projects (projects), get_project_users / get_project_versions / get_project_categories (per-project data), list_tags (tags).
get_metadata_fullGet Full Cached Metadataread-onlyReturn the complete raw MantisBT metadata cache: all projects with full fields, and per-project lists of users, versions, categories, plus all tags. If the cache does not exist or has expired (default TTL: 24 hours), it will automatically sync first. Use sync_metadata to force a refresh. For a lightweight overview use get_metadata instead.
get_project_categoriesGet Project Categoriesread-onlyList all categories available for a MantisBT project. Note: The MantisBT API returns global (cross-project) categories with a "[All Projects] " prefix. This tool strips that prefix so the returned names can be used directly when creating issues.
get_project_usersGet Project Usersread-onlyList all users with access to a specific MantisBT project. Returns an array of user objects, each containing id, name (login name), real_name, email, and access_level fields. Use get_project_users when you need the complete user list for a project — for example, to verify who has access or to build a handler list. For name-based lookup of a single user, prefer find_project_member which supports case-insensitive substring search and is significantly faster on large projects. Access level IDs: 10=viewer, 25=reporter, 40=updater, 55=developer, 70=manager, 90=administrator. Prerequisites: obtai…
get_project_versionsGet Project Versionsread-onlyList all versions defined for a MantisBT project. Returns an array of version objects, each containing id, name, released (boolean), obsolete (boolean), and timestamp (version date). To create, change, release or delete versions use create_version, update_version, release_version and delete_version. Use the returned version names directly when creating or updating issues via create_issue and update_issue (version, target_version, fixed_in_version fields). By default, obsolete and inherited parent-project versions are excluded. Set obsolete=true to include deprecated versions; set inherit=tru…
get_search_index_statusSearch Index Statusread-onlyReturns the current fill level of the semantic search index: how many issues are indexed vs. the total number of issues in MantisBT, plus the timestamp of the last sync.
list_filtersList Saved Filtersread-onlyList all saved MantisBT issue filters accessible to the current user. Filter IDs can be used with list_issues.
list_issue_filesList Issue File Attachmentsread-onlyList all file attachments of a MantisBT issue. Returns an array of attachment objects, each containing id, filename, size in bytes, content_type, and download_url. Returns an empty array if the issue has no attachments. Use this tool when you need to inspect or enumerate files attached to an issue. To add a new attachment, use upload_file instead. To retrieve full issue details that include attachments alongside other fields, use get_issue instead.
list_issuesList Issuesread-onlyList MantisBT issues with optional filtering. Returns a paginated list of issues. Use the "select" parameter to limit returned fields and reduce response size significantly. Note: "assigned_to", "reporter_id", "status", and date filters are applied client-side (the MantisBT REST API does not support these as server-side filters). When any of these filters are active the tool automatically fetches multiple pages internally until enough matching results are found (up to 500 issues scanned). The "page" and "page_size" parameters refer to the resulting filtered list. Tip for date queries: fetchi…
list_languagesList Supported Languagesread-onlyList all languages supported by the MantisBT installation.
list_notesList Issue Notesread-onlyList all notes (comments) attached to a MantisBT issue. Note: get_issue already includes notes in its response — use list_notes only when you need notes without fetching the full issue.
list_projectsList Projectsread-onlyList all MantisBT projects accessible to the current API user.
list_tagsList Tagsread-onlyList all tags defined in the MantisBT installation. The MantisBT REST API exposes a GET /tags endpoint on some installations. If that endpoint is not available, this tool falls back to the local metadata cache populated by sync_metadata.
rebuild_search_indexRebuild Semantic Search IndexBuild or update the semantic search index for MantisBT issues. Use full: true to clear the existing index and rebuild from scratch.
release_versionRelease VersionMark a version as released and set its date (default: now). Optionally create a follow-up version in the same step. The follow-up version is only created when next_version is given; its name is used as-is — no automatic numbering. Returns { released: <version> } plus either next_version: <version> or next_version_error: <message>. The two steps are separate API calls: if creating the follow-up version fails, the release itself stays in effect and the error is reported in next_version_error. The version must belong to project_id itself: versions inherited from a parent project can only be ch…
remove_monitorRemove Issue Monitorcan change or delete dataRemove a user from the monitor list of a MantisBT issue. The user will no longer receive email notifications for updates to this issue.
remove_relationshipRemove Issue Relationshipcan change or delete dataRemove a relationship from a MantisBT issue. Use get_issue first to retrieve the relationship IDs. The relationship_id is the numeric id field of a relationship object in the issue's relationships array (not the type ID).
search_issuesSemantic Issue Searchread-onlySearch MantisBT issues using natural language. Returns the most relevant issues by semantic similarity. The search index must be populated first via rebuild_search_index.
sync_metadataSync Metadata CacheFetch all projects and their associated users, versions, categories, and tags from MantisBT and store them in the local metadata cache. Tags are fetched via the dedicated GET /tags endpoint when available. On installations where that endpoint is missing (MantisBT < 2.26), tags are collected by scanning all issues across all projects. This is useful for getting a complete overview of your MantisBT installation. The cache is valid for 24 hours by default (configurable via MANTIS_CACHE_TTL env var). Use this tool to refresh stale data.
update_issueUpdate IssueUpdate one or more fields of an existing MantisBT issue using a partial PATCH. The "fields" object accepts any combination of: - summary (string) - description (string) - steps_to_reproduce (string) - additional_information (string) - status: { name: "new"|"feedback"|"acknowledged"|"confirmed"|"assigned"|"resolved"|"closed" } - resolution: { id: 20 } (20 = fixed/resolved) - handler: { id: <user_id> } or { name: "<username>" } - priority: { name: "<priority_name>" } - severity: { name: "<severity_name>" } - reproducibility: { name: "<reproducibility_name>" } - category: { name: "<category_nam…
update_versionUpdate VersionUpdate an existing version of a MantisBT project. Only the fields you pass are changed. Returns the updated version object. Renaming a version also rewrites the version, target_version and fixed_in_version fields of all issues that reference it (including subprojects if versions are inherited). Setting released=true does not change the version date — pass timestamp as well, or use release_version, which does both. The version must belong to project_id itself: versions inherited from a parent project can only be changed via the parent's project_id (otherwise MantisBT answers "Version not fou…
upload_fileUpload File AttachmentUpload a file as an attachment to a MantisBT issue. Adds the file to the issue without modifying any issue fields or status. Returns the created attachment metadata on success. Provide exactly one of the two input modes: - file_path (preferred): absolute path to a local file — use this whenever the file exists on disk; the server reads and encodes it automatically; filename is derived from the path. Note: file_path reads from the server's filesystem and is disabled over the HTTP transport unless MANTIS_UPLOAD_DIR is configured — HTTP clients should use content instead. - content: Base64-encod…
Signals
- Weekly downloads
- 96
- Last release
- Oct 24, 2026 (5 days ago)
- Last package publish
- Sep 27, 2026 (1 month ago)
From the package registry.
Details
- Registry name
io.github.dpesch/mantisbt-mcp-server- Version
- 1.14.1
- Auth
- API key
- Packages
- npm @dpesch/mantisbt-mcp-server
- License
- License unknown
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
- Source
- Official MCP Registry
Cite this page
MantisBT MCP Server. Agent Mart. https://agentmart.dev/connectors/dpesch-mantisbt-mcp-server (last updated 2026-10-25)