Getting Started

Installation

Get started with Bugzilla MCP Server.

Requirements

Start with the local server. Use the hosted one to try things out without installing anything.

Local (recommended)Hosted
Bugzilla5.0 or newer, with the REST API enabledSame, and reachable from the internet
API keyFrom userprefs.cgi?tab=apikeySame
On your machineuv or pipx. Claude Desktop's one-click install needs nothing.Nothing
MCP clientAny client that runs stdio serversAny client that supports HTTP transport with custom headers
Where your key goesStays on your machinePasses through bugzilla.fastmcp.app
Attachment downloadsYesNo (the server never touches its disk)

The server runs on your machine, so your Bugzilla API key never leaves it. It starts read-only; see Read-only Mode to enable write tools.

First, get an API key from your Bugzilla: https://your-bugzilla-instance.com/userprefs.cgi?tab=apikey.

Claude Desktop: one click

  1. Download bugzilla-mcp.mcpb from the latest release.
  2. Double-click it, or install it from Settings → Extensions.
  3. Enter your Bugzilla URL and API key. Untick Read-only only if Claude should update bugs.

No Python or terminal needed.

Claude Code

Install uv, then:

Terminal
claude mcp add bugzilla --scope user -e BUGZILLA_URL=https://bugzilla.example.com -e BUGZILLA_API_KEY=your-api-key -- uvx bugzilla-mcp

Add --allow-writes after bugzilla-mcp to enable write tools.

Cursor, VS Code and other clients

{
  "mcpServers": {
    "bugzilla": {
      "command": "uvx",
      "args": ["bugzilla-mcp"],
      "env": {
        "BUGZILLA_URL": "https://bugzilla.example.com",
        "BUGZILLA_API_KEY": "your-api-key"
      }
    }
  }
}

If the client can't find uvx, use the full path from which uvx.

pipx

pipx installs bugzilla-mcp into its own environment and puts the command on your PATH:

Terminal
brew install pipx && pipx ensurepath   # macOS; see pipx docs for Linux/Windows
pipx install bugzilla-mcp
bugzilla-mcp --help

Then use bugzilla-mcp as the command in your client, with no uvx needed:

Terminal
claude mcp add bugzilla --scope user -e BUGZILLA_URL=https://bugzilla.example.com -e BUGZILLA_API_KEY=your-api-key -- bugzilla-mcp

Desktop apps don't always load your shell's PATH; if one can't find the command, use the full path from which bugzilla-mcp (usually ~/.local/bin/bugzilla-mcp). Upgrade with pipx upgrade bugzilla-mcp.

The package needs Python 3.12+. If pipx reports "No matching distribution found for bugzilla-mcp", it is using an older Python (macOS's python3 is 3.9): run pipx install --python python3.12 bugzilla-mcp.

bugzilla-mcp --transport http runs it as a multi-user HTTP server instead, taking credentials from each request's headers. See Running your own HTTP server.

Hosted Server

Nothing to install: a hosted server runs on FastMCP Cloud at https://bugzilla.fastmcp.app/mcp. With Claude Code:

Terminal
claude mcp add --transport http bugzilla https://bugzilla.fastmcp.app/mcp --scope user --header "api_key: your-api-key" --header "bugzilla_url: https://bugzilla.example.com"

Configs for Claude Desktop, Cursor and VS Code are under Hosted server. Your key passes through that server, so install locally for day-to-day use.

Development

To work on the server itself:

Terminal
git clone https://github.com/SanthoshSiddegowda/bugzilla-mcp.git
cd bugzilla-mcp
uv sync --all-extras        # creates the virtual environment
uv run pytest tests         # run the tests
uv run bugzilla-mcp --help  # run your checkout, same flags as the package

To point an MCP client at your checkout instead of the published package, replace uvx bugzilla-mcp with uv run --directory /absolute/path/to/bugzilla-mcp bugzilla-mcp in any config from Configuration. uv run fastmcp inspect server.py:mcp lists every tool with its parameters.

Next Steps