MCP Server (AI Assistant Integration)
MantisHub ships an MCP server that connects your MantisHub instance to AI assistants such as Claude, ChatGPT, Gemini, Cursor, and VS Code Copilot. Once connected, you can work with your issue tracker in plain language — ask the assistant to find issues, create and update them, add notes, read and write wiki pages, and search across your projects — without leaving the tool you are already working in.
The MCP server is only available for Platinum + plans. Check out this article to upgrade your plan or reach out to our support team.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools and data sources. An MCP server publishes a set of tools; an MCP-compatible AI client connects to that server and decides which tools to call based on what you ask.
MantisHub's MCP server is served as a path on your own instance:
https://yourmantishubname.mantishub.io/mcp
There is nothing to install or host. The server acts as a translator between the AI assistant and the MantisHub REST API. Every request carries your API token, so each action is attributed to you and you can only see and change the data you are already authorized to access — exactly the same permissions you have in the web UI.
Setting Up
Connecting an AI tool takes three steps: create an API token, find your MCP URL, then add the server to your AI tool.
Step 1 — Create an API Token
Log into your MantisHub, click your avatar in the top right-hand corner, select My Account, open the API Tokens tab, enter a name for the token (for example MCP), and click Create.
Copy and save the generated token — it is only displayed once. If you lose it, revoke it and generate a new one. See REST API for more detail on API tokens.
The token carries your permissions. The AI assistant can only see and change what you can see and change.
Step 2 — Find Your MCP URL
Your MCP URL is your normal MantisHub address with /mcp appended, for example https://yourmantishubname.mantishub.io/mcp.
The examples below use https://yourmantishubname.mantishub.io/mcp — substitute your own address.
Step 3 — Add the Server to Your AI Tool
Most AI tools connect to a remote MCP server directly: you supply a URL and an Authorization header containing your API token. Paste the token exactly as generated — no Bearer prefix.
Pick your client below.
Claude Code
A single command, with no configuration file to edit:
claude mcp add --transport http mantishub https://yourmantishubname.mantishub.io/mcp \
--header "Authorization: YOUR_TOKEN"By default the server is added at local scope — available only to you, and only in the current project. Use the --scope (-s) flag to change where it is registered:
User scope makes the server available to you across every project on your machine. Because your API token carries your own permissions, this is usually the right choice:
shclaude mcp add --scope user --transport http mantishub https://yourmantishubname.mantishub.io/mcp \ --header "Authorization: YOUR_TOKEN"Project scope writes the server to a
.mcp.jsonfile in the project root that is shared with everyone who works in that project. Because the file is shared, point the header at an environment variable rather than a literal token, so each teammate connects with their own:shclaude mcp add --scope project --transport http mantishub https://yourmantishubname.mantishub.io/mcp \ --header 'Authorization: ${MANTISHUB_TOKEN}'Note the single quotes: they stop your shell from substituting the value, so the literal
${MANTISHUB_TOKEN}is what gets written into.mcp.json. Claude Code expands it when it connects. Everyone on the project then setsMANTISHUB_TOKENto their own API token in their shell profile — one shared configuration file, one token per person.WARNING
If you paste the token directly into the command instead,
.mcp.jsonwill contain your personal API token. Make sure it is not committed to source control — add it to.gitignore— so your token is not shared.
Use claude mcp list to confirm it registered, and claude mcp remove mantishub to remove it. Add --scope user to remove if you registered the server at user scope.
If you ran these commands from a separate terminal while Claude Code was already open, restart Claude Code so it picks up the change.
Claude Desktop
Claude Desktop launches MCP servers as local processes and cannot dial a remote URL directly, so it uses the mcp-remote bridge. This requires Node.js 18 or higher to be installed.
Edit the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mantishub": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://yourmantishubname.mantishub.io/mcp",
"--header",
"Authorization:${MANTIS_AUTH}"
],
"env": {
"MANTIS_AUTH": "YOUR_TOKEN"
}
}
}
}Then fully quit and reopen Claude Desktop — closing the window is not enough.
WARNING
Note that the header is written as Authorization:${MANTIS_AUTH} with no space after the colon, and the token is supplied through the env block. Claude Desktop splits each argument on whitespace, so writing the token inline would break the header in two. This is the most common reason a Claude Desktop setup fails.
ChatGPT / Codex
Go to Settings → MCP Servers → Add Server and enter:
- Name:
mantishub - Transport:
Streamable HTTP - URL:
https://yourmantishubname.mantishub.io/mcp - Headers: key
Authorization, valueYOUR_TOKEN
Cursor, VS Code, and Other Remote-Capable Clients
Add the following to the client's MCP configuration (Cursor: Settings → MCP → Add; VS Code: your mcp.json):
{
"mcpServers": {
"mantishub": {
"url": "https://yourmantishubname.mantishub.io/mcp",
"headers": {
"Authorization": "YOUR_TOKEN"
}
}
}
}Antigravity IDE
Go to Agent → MCP Servers → Manage MCP Servers → View Raw Config and paste:
{
"mcpServers": {
"mantishub": {
"serverUrl": "https://yourmantishubname.mantishub.io/mcp",
"headers": {
"Authorization": "YOUR_TOKEN"
}
}
}
}Verifying the Connection
In any connected client, ask:
What should I work on next?The assistant should use the MCP connection to reach your instance and answer using issues from MantisHub — for example, the ones assigned to you.
What You Can Do
The MCP server exposes tools for issues, notes, projects, users, wiki pages, saved filters, and instance configuration. Some examples of what you can ask for:
Issues
- "Show me all critical bugs assigned to me"
- "Create an issue to fix the flaky test above under project XYZ and assign to John"
- "Resolve issue 1234 and add a note saying the fix is deployed"
- "Assign issue 1234 to John and change its priority to urgent"
Notes
- "Add a note to 1234 saying I'll look at this tomorrow"
- "Summarize the discussion on issue 1234"
Search
- "Find all open issues related to payments"
- "Show me issues created this week by John"
- "List all issues tagged with security, newest first"
- "Summarize all feature requests relating to our analytics feature and suggest the top 3 features to implement next"
Wiki Pages
- "Show me the wiki page for the authentication module"
- "Implement the design documented in the 'single sign-on' wiki page"
- "Based on the feature implemented on this branch, create a wiki page with user documentation for the feature"
- "Update the 'single sign-on' wiki page to reflect the latest changes"
- "Analyze the code and write up a wiki page with a proposal to make our tests pass faster"
Projects, Users, and Configuration
You rarely need to ask about these directly. Instead, the assistant looks them up on its own to complete a higher-level request. When you say "create an issue in project XYZ and assign it to John," it resolves XYZ against the projects you have access to and John against the users on that project before it creates anything.
Because every instance has its own projects, priorities, severities, statuses, categories, and custom fields, the assistant can query those first, so the values it submits are ones your instance actually accepts. You can still ask directly when you want to — for example, "list the projects I have access to" or "what priorities are available in this instance?" — but most of the time these lookups happen behind the scenes.
Security
The MCP server is built on top of the MantisHub REST API, so every request goes through the same business logic and authorization the API already enforces. There is no separate permission model to reason about — anything you cannot do through the API, you cannot do through MCP.
- Your token, your permissions. The API token is passed through to your instance on every call and MantisHub enforces access control exactly as it does in the web UI. The MCP server never bypasses permissions and can never see more than you can.
- Encrypted in transit. All traffic uses HTTPS, inheriting your instance's TLS certificate. Authorization headers are never written to logs.
- Rate limited. Requests are capped per instance so that automated agents cannot overload your instance.
- Revocable at any time. Revoke the token in My Account → API Tokens to immediately cut off any AI tool using it, without affecting your password or other integrations.
Troubleshooting
Authentication or permission errors. Confirm the token was pasted whole, with no Bearer prefix and no surrounding spaces, and that it has not been revoked. Check the Last Used column in My Account → API Tokens to see whether the token is being used at all.
Claude Desktop shows no MantisHub tools. Check that -y is present in the args array, that the header uses the no-space Authorization:${MANTIS_AUTH} form described above, and that the JSON is valid — an invalid configuration file is silently ignored. You can test the bridge directly with:
npx -y mcp-remote https://yourmantishubname.mantishub.io/mcp --header "Authorization:YOUR_TOKEN"Claude Desktop logs are in ~/Library/Logs/Claude/mcp*.log on macOS and %APPDATA%\Claude\logs\ on Windows.
The assistant used an invalid priority, status, or custom field value. Ask it to check the instance configuration first — for example, "check the available priorities in MantisHub, then create the issue."
Requests are being throttled. Rate limits are applied per instance. If a bulk operation is being rejected, ask the assistant to work in smaller batches, or contact MantisHub support.
