Search / io.github.dpesch/mantisbt-mcp-server
MantisBT MCP Server
L0· runs locallyMantisBT MCP server – manage issues, notes, files, tags, and relationships. With semantic search.
v1.14.0 · active · descriptor JSON · versions
Search / io.github.dpesch/mantisbt-mcp-server
L0· runs locallyMantisBT MCP server – manage issues, notes, files, tags, and relationships. With semantic search.
v1.14.0 · active · descriptor JSON · versions
{
"mcpServers": {
"mantisbt-mcp-server": {
"command": "npx",
"args": [
"-y",
"@dpesch/[email protected]"
],
"env": {
"MANTIS_BASE_URL": "${MANTIS_BASE_URL}",
"MANTIS_API_KEY": "${MANTIS_API_KEY}",
"MANTIS_USE_INDEX_PHP": "false",
"MANTIS_CACHE_TTL": "3600",
"TRANSPORT": "stdio",
"PORT": "3000",
"MCP_HTTP_HOST": "127.0.0.1",
"MCP_HTTP_TOKEN": "${MCP_HTTP_TOKEN}",
"MANTIS_SEARCH_ENABLED": "false",
"MANTIS_SEARCH_BACKEND": "vectra",
"MANTIS_SEARCH_MODEL": "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
"MANTIS_SEARCH_THREADS": "1"
}
}
}
}claude mcp add mantisbt-mcp-server -e "MANTIS_BASE_URL=${MANTIS_BASE_URL}" -e "MANTIS_API_KEY=${MANTIS_API_KEY}" -e "MANTIS_USE_INDEX_PHP=false" -e "MANTIS_CACHE_TTL=3600" -e "TRANSPORT=stdio" -e "PORT=3000" -e "MCP_HTTP_HOST=127.0.0.1" -e "MCP_HTTP_TOKEN=${MCP_HTTP_TOKEN}" -e "MANTIS_SEARCH_ENABLED=false" -e "MANTIS_SEARCH_BACKEND=vectra" -e "MANTIS_SEARCH_MODEL=Xenova/paraphrase-multilingual-MiniLM-L12-v2" -e "MANTIS_SEARCH_THREADS=1" -- npx -y @dpesch/[email protected][mcp_servers.mantisbt-mcp-server]
command = "npx"
args = ["-y", "@dpesch/[email protected]"]
env = { "MANTIS_BASE_URL" = "${MANTIS_BASE_URL}", "MANTIS_API_KEY" = "${MANTIS_API_KEY}", "MANTIS_USE_INDEX_PHP" = "false", "MANTIS_CACHE_TTL" = "3600", "TRANSPORT" = "stdio", "PORT" = "3000", "MCP_HTTP_HOST" = "127.0.0.1", "MCP_HTTP_TOKEN" = "${MCP_HTTP_TOKEN}", "MANTIS_SEARCH_ENABLED" = "false", "MANTIS_SEARCH_BACKEND" = "vectra", "MANTIS_SEARCH_MODEL" = "Xenova/paraphrase-multilingual-MiniLM-L12-v2", "MANTIS_SEARCH_THREADS" = "1" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mantisbt-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@dpesch/[email protected]"
],
"enabled": true,
"environment": {
"MANTIS_BASE_URL": "{env:MANTIS_BASE_URL}",
"MANTIS_API_KEY": "{env:MANTIS_API_KEY}",
"MANTIS_USE_INDEX_PHP": "false",
"MANTIS_CACHE_TTL": "3600",
"TRANSPORT": "stdio",
"PORT": "3000",
"MCP_HTTP_HOST": "127.0.0.1",
"MCP_HTTP_TOKEN": "{env:MCP_HTTP_TOKEN}",
"MANTIS_SEARCH_ENABLED": "false",
"MANTIS_SEARCH_BACKEND": "vectra",
"MANTIS_SEARCH_MODEL": "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
"MANTIS_SEARCH_THREADS": "1"
}
}
}
}{
"mcpServers": {
"mantisbt-mcp-server": {
"command": "npx",
"args": [
"-y",
"@dpesch/[email protected]"
],
"env": {
"MANTIS_BASE_URL": "${MANTIS_BASE_URL}",
"MANTIS_API_KEY": "${MANTIS_API_KEY}",
"MANTIS_USE_INDEX_PHP": "false",
"MANTIS_CACHE_TTL": "3600",
"TRANSPORT": "stdio",
"PORT": "3000",
"MCP_HTTP_HOST": "127.0.0.1",
"MCP_HTTP_TOKEN": "${MCP_HTTP_TOKEN}",
"MANTIS_SEARCH_ENABLED": "false",
"MANTIS_SEARCH_BACKEND": "vectra",
"MANTIS_SEARCH_MODEL": "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
"MANTIS_SEARCH_THREADS": "1"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mantisbt-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkcGVzY2gvbWFudGlzYnQtbWNwLXNlcnZlckAxLjE0LjAiXSwiZW52Ijp7Ik1BTlRJU19CQVNFX1VSTCI6IiR7TUFOVElTX0JBU0VfVVJMfSIsIk1BTlRJU19BUElfS0VZIjoiJHtNQU5USVNfQVBJX0tFWX0iLCJNQU5USVNfVVNFX0lOREVYX1BIUCI6ImZhbHNlIiwiTUFOVElTX0NBQ0hFX1RUTCI6IjM2MDAiLCJUUkFOU1BPUlQiOiJzdGRpbyIsIlBPUlQiOiIzMDAwIiwiTUNQX0hUVFBfSE9TVCI6IjEyNy4wLjAuMSIsIk1DUF9IVFRQX1RPS0VOIjoiJHtNQ1BfSFRUUF9UT0tFTn0iLCJNQU5USVNfU0VBUkNIX0VOQUJMRUQiOiJmYWxzZSIsIk1BTlRJU19TRUFSQ0hfQkFDS0VORCI6InZlY3RyYSIsIk1BTlRJU19TRUFSQ0hfTU9ERUwiOiJYZW5vdmEvcGFyYXBocmFzZS1tdWx0aWxpbmd1YWwtTWluaUxNLUwxMi12MiIsIk1BTlRJU19TRUFSQ0hfVEhSRUFEUyI6IjEifX0%3D"
}{
"servers": {
"mantisbt-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dpesch/[email protected]"
],
"env": {
"MANTIS_BASE_URL": "${MANTIS_BASE_URL}",
"MANTIS_API_KEY": "${MANTIS_API_KEY}",
"MANTIS_USE_INDEX_PHP": "false",
"MANTIS_CACHE_TTL": "3600",
"TRANSPORT": "stdio",
"PORT": "3000",
"MCP_HTTP_HOST": "127.0.0.1",
"MCP_HTTP_TOKEN": "${MCP_HTTP_TOKEN}",
"MANTIS_SEARCH_ENABLED": "false",
"MANTIS_SEARCH_BACKEND": "vectra",
"MANTIS_SEARCH_MODEL": "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
"MANTIS_SEARCH_THREADS": "1"
}
}
}
}{
"mcpServers": {
"mantisbt-mcp-server": {
"command": "npx",
"args": [
"-y",
"@dpesch/[email protected]"
],
"env": {
"MANTIS_BASE_URL": "${MANTIS_BASE_URL}",
"MANTIS_API_KEY": "${MANTIS_API_KEY}",
"MANTIS_USE_INDEX_PHP": "false",
"MANTIS_CACHE_TTL": "3600",
"TRANSPORT": "stdio",
"PORT": "3000",
"MCP_HTTP_HOST": "127.0.0.1",
"MCP_HTTP_TOKEN": "${MCP_HTTP_TOKEN}",
"MANTIS_SEARCH_ENABLED": "false",
"MANTIS_SEARCH_BACKEND": "vectra",
"MANTIS_SEARCH_MODEL": "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
"MANTIS_SEARCH_THREADS": "1"
}
}
}
}extensions:
"mantisbt-mcp-server":
enabled: true
name: "mantisbt-mcp-server"
type: stdio
cmd: "npx"
args:
- "-y"
- "@dpesch/[email protected]"
envs:
"MANTIS_BASE_URL": "${MANTIS_BASE_URL}"
"MANTIS_API_KEY": "${MANTIS_API_KEY}"
"MANTIS_USE_INDEX_PHP": "false"
"MANTIS_CACHE_TTL": "3600"
"TRANSPORT": "stdio"
"PORT": "3000"
"MCP_HTTP_HOST": "127.0.0.1"
"MCP_HTTP_TOKEN": "${MCP_HTTP_TOKEN}"
"MANTIS_SEARCH_ENABLED": "false"
"MANTIS_SEARCH_BACKEND": "vectra"
"MANTIS_SEARCH_MODEL": "Xenova/paraphrase-multilingual-MiniLM-L12-v2"
"MANTIS_SEARCH_THREADS": "1"
timeout: 300
Placeholders to fill from your own secret store: ${MANTIS_API_KEY}, ${MCP_HTTP_TOKEN}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know @dpesch/[email protected]No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
~liveness-unmeasured +updated-23d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@dpesch/[email protected] npmthis version is not known to the dependency resolver
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
@dpesch/mantisbt-mcp-server | npm | 1.14.0 | npx | MANTIS_API_KEY, MCP_HTTP_TOKEN |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.dpesch/mantisbt-mcp-server",
"title": "MantisBT MCP Server",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.14.0",
"packages": [
{
"version": "1.14.0",
"transport": {
"type": "stdio"
},
"identifier": "@dpesch/mantisbt-mcp-server",
"runtimeHint": "npx",
"registryType": "npm",
"environmentVariables": [
{
"name": "MANTIS_BASE_URL",
"format": "string",
"isRequired": true,
"description": "Base URL of the MantisBT REST API, e.g. https://your-mantis.example.com/api/rest",
"placeholder": "https://your-mantis.example.com/api/rest"
},
{
"name": "MANTIS_API_KEY",
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "MantisBT API key (Profile → API Tokens in MantisBT)"
},
{
"name": "MANTIS_USE_INDEX_PHP",
"format": "boolean",
"default": "false",
"description": "Use /api/rest/index.php/ for MantisBT installations without URL rewriting. Detected automatically when MANTIS_BASE_URL ends with /api/rest/index.php"
},
{
"name": "MANTIS_CACHE_DIR",
"format": "filepath",
"description": "Directory for the metadata cache. Defaults to ~/.cache/mantisbt-mcp"
},
{
"name": "MANTIS_CACHE_TTL",
"format": "number",
"default": "3600",
"description": "Metadata cache TTL in seconds. Default: 3600 (1 hour)"
},
{
"name": "TRANSPORT",
"format": "string",
"choices": [
"stdio",
"http"
],
"default": "stdio",
"description": "Transport mode. 'stdio' for local use (default), 'http' for remote/team deployments"
},
{
"name": "PORT",
"format": "number",
"default": "3000",
"description": "HTTP port when TRANSPORT=http. Default: 3000"
},
{
"name": "MCP_HTTP_HOST",
"format": "string",
"default": "127.0.0.1",
"description": "Bind address when TRANSPORT=http. Default: 127.0.0.1 (local only). Use 0.0.0.0 for Docker/remote."
},
{
"name": "MCP_HTTP_TOKEN",
"format": "string",
"isSecret": true,
"description": "Optional Bearer token to protect the /mcp endpoint when TRANSPORT=http"
},
{
"name": "MANTIS_SEARCH_ENABLED",
"format": "boolean",
"default": "false",
"description": "Enable offline semantic search (requires ~80 MB model download on first use)"
},
{
"name": "MANTIS_SEARCH_BACKEND",
"format": "string",
"choices": [
"vectra",
"sqlite-vec"
],
"default": "vectra",
"description": "Vector store backend for semantic search. 'vectra' (default, pure JS) or 'sqlite-vec' (faster for >10k issues)"
},
{
"name": "MANTIS_SEARCH_DIR",
"format": "filepath",
"description": "Directory for the semantic search index. Defaults to ~/.cache/mantisbt-mcp/search"
},
{
"name": "MANTIS_SEARCH_MODEL",
"format": "string",
"default": "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
"description": "Hugging Face model for embeddings. Default: Xenova/paraphrase-multilingual-MiniLM-L12-v2"
},
{
"name": "MANTIS_SEARCH_THREADS",
"format": "number",
"default": "1",
"description": "ONNX inference threads for the embedding model. Default: 1"
},
{
"name": "MANTIS_UPLOAD_DIR",
"format": "filepath",
"description": "If set, restricts file uploads to this directory (path traversal protection)"
}
]
}
],
"description": "MantisBT MCP server – manage issues, notes, files, tags, and relationships. With semantic search."
}