A Model Context Protocol (MCP) server for interacting with Bugzilla bug tracking systems
Server has 7 tools with complete input schemas and descriptions present. However, descriptions are generic and lack LLM-optimization guidance. Parameter descriptions are minimal (e.g., 'The bug ID to fetch information for'). Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling exists but lacks recovery guidance. Tool naming follows verb_noun convention (bug_info, add_comment) but some names are ambiguous (server_url, bug_url, unclear what they return). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Missing pagination guidance for bugs_quicksearch despite accepting limit/offset. Overall: functional but below production baseline.
Add a comment to a bug. It can optionally be private. If success, returns the created comment id.
Returns the comments of given bug id. Private comments are not included by default but can be explicitely requested
Returns the entire information about a given bugzilla bug id
returns the bug url
Search bugs using bugzilla's quicksearch syntax. To reduce the token limit & response time, only returns a subset of fields for each bug. The user can query full details of each bug using the bug_info tool
Access the documentation of the bugzilla quicksearch syntax. LLM can learn using this tool. Response is in HTML
Output schemas not documented. LLMs cannot infer response structure (fields, types, nested objects). Forces agents to guess what data is available for downstream tool calls.
Tool names 'server_url' and 'bug_url' are ambiguous. Do they return a URL string, a structured object with URL + metadata, or something else? Rename to 'get_server_url' and 'get_bug_url' for clarity.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are declared in metadata but not exposed to LLM. add_comment is WRITE but LLM has no signal to treat it as irreversible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
bugzilla server's base url
Parameter descriptions are minimal and lack constraints. E.g., 'The bug ID to fetch information for' does not specify: valid range, format, or what happens if ID does not exist. Descriptions should be 50-200 chars with actionable constraints.
Error handling returns generic ToolError messages without recovery guidance. E.g., 'Failed to fetch bug info' does not tell LLM what to do next. Should include: 'Bug not found. Verify ID with bugs_quicksearch()' or 'API rate limit exceeded. Retry in 60 seconds.'