feedbug-mcp
Server Quality Checklist
Latest release: v1.1.3
- Disambiguation5/5
Each tool has a clearly distinct purpose: listing bugs, getting full details, retrieving specific context (HTML, diagnostics, replay), adding comments, and resolving. The 'Do not use when' notes further prevent ambiguity, making it easy for an agent to select the right tool.
Naming Consistency5/5All tools follow a consistent 'feedbug_verb_noun' pattern (e.g., feedbug_list_bugs, feedbug_get_bug, feedbug_resolve_bug). The prefix is uniform, and the verb-noun structure is predictable and clear.
Tool Count5/5Seven tools is an ideal size for a bug tracking server. Each tool covers a distinct operation without being overwhelming: listing, reading full details, accessing specific sub-data (HTML, diagnostics, replay), commenting, and resolving. No tool is superfluous.
Completeness4/5The tool set covers the core bug lifecycle: discover, inspect, comment, and resolve. Minor gaps exist, such as the inability to reopen a bug or filter by multiple criteria, and the comment tool only works with Linear. However, these are intentional limitations of the Feedbug integration, and the surface is largely complete for its purpose.
Average 4.8/5 across 6 of 7 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 9 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
Tools from this server were used 2 times in the last 30 days.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds behavioral detail: scoped by FEEDBUG_PROJECT_KEY to a single project, and error behavior ('Bug not found' for unknown/project-mismatched IDs). This provides meaningful context beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and return value. It uses clear sections (Returns, Use when, Do not use when, Behavior) that are easy to scan. Every sentence adds distinct value without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, full schema coverage, explicit annotations, and the existence of sibling tools for specific slices of data, the description fully covers the tool's purpose, scope, error handling, and usage guidance. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already provides a rich description of the 'id' parameter (accepts UUID or tracker identifier, case-insensitively, rejected if belonging to another project). The tool has only one parameter, so there is limited room for the description to add more. The description indirectly reinforces the parameter semantics by noting it returns data for a single bug.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and title ('feedbug_get_bug', 'Read a bug report') clearly indicate the action. The description specifies it reads a bug report in full and lists the fields returned, distinguishing it from sibling tools that return partial context (e.g., feedbug_get_html_context, feedbug_get_diagnostics).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use ('you picked a bug out of feedbug_list_bugs and are about to reproduce or fix it'), and provides a clear 'Do not use when' list with specific alternatives (feedbug_get_html_context, feedbug_get_diagnostics, feedbug_get_replay). This pairs perfectly with the sibling tool context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations: read-only & idempotent (echoed and expanded), scoped by FEEDBUG_PROJECT_KEY, null fields for missing data, and error handling for unknown IDs. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with main action. Uses clear section headers (Returns, Use when, Do not use when, Behavior). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers input, output (explicit JSON fields), error cases, scope (single project), and relationship to sibling tools. No output schema, but description fully compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and describes the 'id' parameter in detail. Description adds no additional parameter information beyond schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'read' and resource 'browser environment'. Specifies returned fields (page URL, viewport size, user agent, reporter). Distinguishes from sibling feedbug_get_bug which includes more data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides 'Use when' and 'Do not use when' sections. Tells when to reproduce bugs and when to prefer feedbug_get_bug instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description goes beyond these by adding scoping (by FEEDBUG_PROJECT_KEY), error behavior (returns error message instead of empty tree when no DOM context), and platform-specific fallback behavior (component paths survive Vue builds but are absent in minified React, fall back to selector path). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is approximately 100 words, well-structured with a clear opening sentence, return value explanation, use/don't use sections, and behavioral notes. Every sentence adds distinct value, and there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no output schema, and no nested objects, the description covers everything needed: what it returns (JSON object with specific fields), when to use it, when not to, error handling, and platform-specific behavior. It is fully self-contained and sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The tool description does not add new information about the 'id' parameter beyond what the schema already provides (the schema already describes the parameter as a bug UUID or tracker identifier). The description mentions scoping by project key, which is related but does not directly enhance parameter semantics. Hence minimal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a precise verb and resource: 'Read the HTML and DOM context captured at the instant the tester clicked on the bug.' It lists the returned components (CSS selector path, component path, clicked element, ancestors, siblings), which clearly distinguishes it from siblings like feedbug_get_bug (general bug info) or feedbug_get_replay (behavioral replay).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly includes 'Use when:' and 'Do not use when:' sections, stating that it is the shortest path from a bug to its source component, and that for behavioral bugs the alternative feedbug_get_replay should be used instead. This provides clear and actionable guidance for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond the annotations: idempotency (already hinted, but explained with the 'already resolved' consequence), the fact that linked Linear/GitHub issues are NOT closed, and the webhook sync that can reopen the report. This adds substantial context about side effects and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized into purpose, returns, usage, and behavior sections. Each sentence contributes essential information without redundancy, balancing clarity with detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the return type, side effects, idempotency, integration with external trackers, and the critical 'no reopen' caveat. It is thorough enough for correct invocation and expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameter documentation, describing the id as a UUID or tracker identifier with case-insensitivity and project rejection. The description adds no extra parameter details, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Mark a bug as resolved in Feedbug') with a specific condition ('once its fix is verified'). It distinguishes this from sibling tools by focusing on status resolution, which the read-only siblings do not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'Use when' and 'Do not use when' sections provide clear decision guidance, including the critical warning that the server exposes no way to reopen a bug. This prevents misuse and sets it apart from feedbug_add_comment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations: read-only/idempotent restated, auth scope (FEEDBUG_PROJECT_KEY, single project), truncation/no-pagination behavior, and empty-array return. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured: purpose, return format, use-when, do-not-use, behavior, edge case. Every sentence adds value; appropriately sized for a tool with rich behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides return shape (JSON array with fields), auth scope, truncation, empty-array behavior, and usage boundaries. No output schema, so the description carries the return-format burden – fully covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes all 3 params (100% coverage). Description adds the tip to narrow via status/page_url instead of paging and clarifies truncation, which complements schema. Slight redundancy with schema's clamping note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States 'List the bug reports captured by the Feedbug widget, newest first' – specific verb+resource+order. Clearly differentiates from feedbug_get_bug by describing when not to use it (when holding a bug id).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides 'Use when' and 'Do not use when' sections, naming the alternative feedbug_get_bug. Also advises narrowing with status/page_url instead of paging, giving clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond the minimal annotations: it is not idempotent, cannot edit or delete comments, comments are public and authored by the Linear account, and it advises sending a single finished comment. The annotations (readOnlyHint=false, idempotentHint=false) are consistent but lack detail; the description fills the gap completely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core action, and uses clear sections (action, return, use cases, behavior). Every sentence is necessary and informative, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters, no output schema, and no nested objects, the description covers all relevant aspects: return value ('confirmation message'), behavior, and usage constraints. It is complete for effective agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by clarifying constraints: 'Ids belonging to another project are rejected' and 'Must not be empty or whitespace only.' It also mentions that the body supports Markdown, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Post a comment on the tracker issue linked to a bug.' This clearly distinguishes the tool from its siblings (e.g., feedbug_list_bugs, feedbug_get_bug), which read or list bugs rather than adding comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('document a fix, ask the reporter for a reproduction, or leave an update') and when not to use it ('bug is tracked in GitHub' and 'never use it to talk to the user running you'). It also provides an alternative context (GitHub vs Linear).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations that already declare readOnlyHint, idempotentHint, and destructiveHint, the description adds valuable behavioral context: it explains the scoping by FEEDBUG_PROJECT_KEY, that missing recordings return a non-error message ('No session replay available'), and that the call is always safe to attempt. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise at four short paragraphs, each with a distinct purpose: the first paragraph states the action and scope, the second describes the output and cost, the third provides usage guidance, and the fourth covers behavior. Every sentence earns its place, and the structure is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no output schema, and annotations already cover safety, the description is fully complete: it covers the idiosyncratic return format (one-line message), special case (no recording), scoping to project key, and how to call feedbug_get_bug to avoid redundancy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description does not repeat parameter details, but it complements the schema by explaining the id can be a UUID or tracker identifier like 'PRE-13', matched case-insensitively, and clarifies that ids from other projects are rejected — adding meaningful value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the specific resource 'session replay URL of a bug', and distinguishes it from siblings by noting that feedbug_get_bug returns the same URL alongside other data, while feedbug_get_replay focuses on just the recording link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when' the written report is insufficient and you want to provide a link, and 'Do not use when' you already called feedbug_get_bug (which returns the same URL), offering clear guidance on when to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/joffreyBerrier/feedbug-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server