
Bugzilla Model context protocol (MCP) Server
概览
A robust MCP server that provides seamless interaction with Bugzilla instances through the Model Context Protocol. This server exposes a comprehensive set of tools and prompts, enabling AI models and other MCP clients to efficiently query bug information, manage comments, and leverage Bugzilla's powerful quicksearch capabilities. The server provides the following tools for interacting with Bugzilla: - : Retrieves comprehensive details for specified Bugzilla bug IDs. By default every field is returned; use Bugzilla's native field selection to trim large or bulk fetches. - : - bug_ids: A list of bug IDs to fetch details for - include_fields: Comma-separated field names to return (Bugzilla's native Bug.get parameter; supports field groups and _default/_all/_extra). For the leanest response request only scalar fields, e.g. "id,status,resolution,summary". Requesting a user field (assigned_to, creator, cc, qa_contact) also returns its verbose *_detail object.
README
以下为原文 README 节选,完整内容请查看原文。
Bugzilla Model Context Protocol (MCP) Server
A robust MCP server that provides seamless interaction with Bugzilla instances through the Model Context Protocol. This server exposes a comprehensive set of tools and prompts, enabling AI models and other MCP clients to efficiently query bug information, manage comments, and leverage Bugzilla’s powerful quicksearch capabilities.
Table of Contents
- Features
- Requirements
- Installation
- Configuration
- Usage
- API Reference
- Examples
- Troubleshooting
- License
Features
Tools
The server provides the following tools for interacting with Bugzilla:
Bug Information
-
bug_info(bug_ids: list[int], include_fields: Optional[str] = None, exclude_fields: Optional[str] = None): Retrieves comprehensive details for specified Bugzilla bug IDs. By default every field is returned; use Bugzilla’s native field selection to trim large or bulk fetches.- Parameters:
bug_ids: A list of bug IDs to fetch details forinclude_fields: Comma-separated field names to return (Bugzilla’s nativeBug.getparameter; supports field groups and_default/_all/_extra). For the leanest response request only scalar fields, e.g."id,status,resolution,summary". Requesting a user field (assigned_to,creator,cc,qa_contact) also returns its verbose*_detailobject. Defaults to all fieldsexclude_fields: Comma-separated field names to drop. To remove a user-object expansion, exclude both the base field and its*_detailtogether, e.g."cc,cc_detail"— excluding the*_detailalone has no effect, as Bugzilla re-attaches it while the base field is present
- Returns: A dictionary containing the array
bugswhich lists the requested information about the bugs (status, assignee, summary, description, extensions, etc.) - Note on Bugzilla API parity: both
include_fieldsandexclude_fieldsare native BugzillaBug.getparameters, forwarded to the API unchanged; the underlying request is standard Bugzilla - Example:
bug_info([12345, 67890], include_fields="id,status,resolution,summary")fetches two bugs with just the essential scalar fields
- Parameters:
-
bug_history(bug_id: int, new_since: Optional[datetime] = None, changed_fields: Optional[str] = None, exclude_authors: Optional[str] = None, limit: Optional[int] = None): Fetches the change history of a given bug ID, with SQL-like controls to keep only the change events that matter for triage.- Parameters:
安装
uvx mcp-bugzilla --bugzilla-server https://bugzilla.example.com配置
{
"mcpServers": {
"bugzilla": {
"url": "http://127.0.0.1:8000/mcp/",
"headers": {
"ApiKey": "YOUR_API_KEY_HERE"
}
}
}
}