Skippr Extension MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Skippr Extension MCP ServerShow me all high-severity accessibility issues in my project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Skippr Extension MCP Server
Skippr Extension MCP Server acts as a bridge between product issues identified by Skippr's browser extension. Built upon MCP, it enables your coding agent to discover, understand, and fix issues such as UX inconsistencies, accessibility violations, and product quality problems seamlessly.
Key Features
Natural language interaction: Fix product issues using intuitive, conversational commands with your AI coding agent.
Seamless integration: Works with Claude Code, Cursor, Copilot, and other MCP-compatible coding assistants.
Real-time issue sync: Automatically receives issues from Skippr's browser extension as you review your product.
AI-powered reviews: Get insights from specialized AI agents that review your product like a PM, designer, content strategist, and accessibility expert would.
Context-rich details: Each issue includes actionable prompts, element metadata, and suggested fixes.
Project-based organization: Manage multiple projects with isolated issue tracking.
Related MCP server: autonomous-frontend-browser-tools
Prerequisites
Before setting up the Skippr MCP server, ensure you have:
An MCP Coding Agent Client application (Claude Code, Cursor, VS Code, etc.)
Node.js >= v22.x
Skippr Chrome Extension installed and configured
Installation
Run this command in your terminal. See Claude Code MCP docs for more info.
Claude Code Local Server Connection
claude mcp add skippr-extension-mcp -- npx -y @skippr/extension-mcp-serverAfter installation, the Skippr Extension MCP server will be available in your Claude Code sessions. You can start using natural language commands to interact with your product issues.
Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server
Paste the following configuration into your Cursor ~/.cursor/mcp.json file. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.
Cursor Local Server Connection
{
"mcpServers": {
"skippr-extension-mcp": {
"command": "npx",
"args": ["-y", "@skippr/extension-mcp-server"]
}
}
}After adding the configuration, restart Cursor to activate the MCP server.
Add the following to your VS Code settings.json file (accessible via Command Palette > Preferences: Open User Settings (JSON)). See VS Code MCP docs for more info.
"mcp": {
"servers": {
"skippr-extension-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@skippr/extension-mcp-server"]
}
}
}After adding the configuration, reload VS Code to activate the MCP server.
Usage Examples
Once installed, interact with Skippr using natural language commands in your coding assistant:
Show me all high-severity accessibility issues in my projectList all unresolved UX issues for the latest reviewGet details for issue abc-123 and help me fix itWhat product issues do I have across all my projects?
Support
For questions, technical support, or feedback:
Email: contact@skippr.ai
Website: https://skippr.ai
© 2025 Skippr - Released under MIT License
Available Tools
11 toolsskippr_disconnect_extensionDisconnect ExtensionB
Disconnects a specific browser extension by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| extensionId | Yes | The extension ID to disconnect |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | |
| extensionId | Yes | |
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description should disclose behavioral traits like whether disconnection is permanent, reversibility, or side effects. Only states basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 9 words, front-loaded and efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple parameter and presence of output schema, description is minimally complete but lacks usage context and behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description for extensionId. Tool description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Disconnects' and resource 'browser extension by its ID', clearly distinguishing it from sibling tools like skippr_list_connected_extensions or skippr_restart_extension_server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_extension_server_statusExtension Server StatusB
Gets the current status of the WebSocket server for browser extensions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| running | Yes | |
| port | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose what the status object contains (e.g., connection state, latency) or any potential side effects (e.g., network call). The description is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is front-loaded with the key action. However, it could be slightly more informative without losing conciseness, e.g., mentioning the output format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, the description is adequate but not fully complete. It does not clarify what 'status' means (e.g., 'connected' vs 'disconnected'), which a user might need to interpret the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%. The description adds no parameter details because none exist, but it correctly implies no inputs are needed. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'gets the current status of the WebSocket server for browser extensions,' with a specific verb and resource. It distinguishes itself from sibling tools like 'restart' or 'disconnect' which modify state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'restart_extension_server' or 'list_connected_extensions'. The description does not provide any context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_get_issueGet Skippr Issue DetailsA
Gets full details for a specific Skippr issue including raw markdown content
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project identifier | |
| reviewId | Yes | Review ID | |
| issueId | Yes | Issue ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| reviewId | Yes | |
| title | Yes | |
| severity | Yes | |
| resolved | Yes | |
| category | No | |
| markdown | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output includes raw markdown, but does not mention side effects, permissions, or idempotency. The word 'Gets' implies a read operation, but more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the purpose concisely without unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the simple nature of a get operation, the description is largely complete. It could be improved by briefly contrasting with skippr_list_issues or skippr_verify_issue_fix.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for each parameter. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Gets) and resource (full details for a specific Skippr issue) and distinguishes from siblings like skippr_list_issues by mentioning 'specific' and including 'raw markdown content'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description implies usage for retrieving a single issue, but does not mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_list_connected_extensionsList Connected ExtensionsB
Lists all currently connected browser extensions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| totalExtensions | Yes | |
| extensions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden, but it only states the core action. It fails to disclose traits like read-only nature, performance impact, or what constitutes 'connected'. This is minimal disclosure for a list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded and wastes no words. It earns its place by stating the exact action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema (not shown but present), the description is largely complete. It could clarify 'connected' (e.g., extensions with active WebSocket), but the output schema likely provides detail. Still, for such a simple tool, it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so baseline is 4. The description does not add detail about absence of filters or default behavior, but that is acceptable given no parameters. The schema coverage is 100% trivially.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists all currently connected browser extensions' uses a specific verb ('list') and resource ('connected browser extensions'), clearly stating the tool's purpose. However, it does not differentiate from sibling tools like 'skippr_extension_server_status', which might have overlapping concepts, preventing a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not specify when to use this tool compared to alternatives (e.g., 'skippr_extension_server_status' for status checks, or 'skippr_disconnect_extension' for disconnecting). An agent would have no context on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_list_issuesList Skippr IssuesB
Lists all available Skippr issues with optional filtering by project, review, severity, category, and resolution status
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project identifier | |
| reviewId | No | Filter by review ID | |
| severity | No | Filter by severity level | |
| category | No | Filter by category | |
| resolved | No | Filter by resolved status |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | Yes | |
| totalCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states it lists issues with filtering; no disclosure of pagination, result limits, ordering, or any behavioral traits beyond what is obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action and resource, efficiently listing all filter options. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the action and filter options; output schema exists so return values need not be detailed. Could mention pagination or result limits, but overall complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the tool description merely lists the filterable fields without adding new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Skippr issues and enumerates the filterable attributes. It distinguishes from get_issue by using 'list' vs 'get', but does not explicitly differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing issues with optional filters, but no explicit guidance on when to use this vs alternatives like skippr_get_issue or skippr_verify_issue_fix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_list_projectsList Skippr ProjectsA
Lists all available project IDs from the .skippr/projects directory
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| projects | Yes | |
| totalCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only states the action without clarifying side effects, permissions, or whether it's read-only. The description lacks detail beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no extraneous words, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and an output schema present, the description is adequate. It could mention error states or empty results, but the core purpose is communicated effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% coverage, so the description does not need to add parameter meaning. Baseline score of 4 is appropriate as the description adds no unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all available project IDs from a specific directory, with a specific verb and resource. It distinguishes from sibling tools like skippr_list_issues which list different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving project IDs but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_notify_all_extensionsNotify All ExtensionsA
Broadcasts a message to all connected browser extensions
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Message type | |
| payload | No | The message payload |
Output Schema
| Name | Required | Description |
|---|---|---|
| sent | Yes | |
| failed | Yes | |
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like side effects, error handling, or permissions. It only states the action without any mention of system impact, failure modes, or rate limits, leaving the agent uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It efficiently conveys the core purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple broadcast tool, the description is minimal. It does not explain the return value (though an output schema exists) or when broadcasting might fail. While not severely incomplete for such a tool, it could mention typical use cases or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the description need not add much. It omits clarifying parameter meaning beyond schema descriptions (e.g., payload format), but the schema already defines type enum and payload as a generic object. No added value, but adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Broadcasts a message') and target ('to all connected browser extensions'), distinguishing it from sibling tools like skippr_notify_project_extensions that target a subset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the name and description imply use for broadcasting to all extensions, there is no explicit guidance on when to use this versus alternatives (e.g., skippr_send_to_extension for individual messages). The usage context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_notify_project_extensionsNotify Project ExtensionsB
Sends a message to all browser extensions connected to a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | The project ID to notify | |
| type | Yes | Message type | |
| payload | No | The message payload |
Output Schema
| Name | Required | Description |
|---|---|---|
| projectId | Yes | |
| sent | Yes | |
| failed | Yes | |
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states 'Sends a message' with no disclosure of side effects, permissions, rate limits, delivery guarantees, or error behavior. Lacks depth for a communication tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words. Front-loaded with the action verb and resource, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, return values may be documented elsewhere, but description lacks context on prerequisites (e.g., project membership), error handling, or whether delivery is guaranteed. Incomplete for real-world agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already documented. Description adds no extra meaning beyond schema; baseline of 3 is appropriate as the description does not harm but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action: 'Sends a message to all browser extensions connected to a specific project'. It distinguishes from siblings like skippr_send_to_extension (single extension) and skippr_notify_all_extensions (all projects) by specifying 'connected to a specific project'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies broadcasting within a project, but lacks explicit when-to-use, when-not-to-use, or references to sibling tools like skippr_notify_all_extensions or skippr_send_to_extension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_restart_extension_serverRestart Extension ServerB
Restarts the WebSocket server that communicates with browser extensions
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Optional port number for the extension server (defaults to WS_PORT env var or 4040) |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | |
| message | Yes | |
| port | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description lacks details on side effects (e.g., disconnecting connected extensions, required permissions, or server downtime).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, front-loaded action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description covers the basic purpose. However, it omits important behavioral context (e.g., effects on ongoing connections) for a restart operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The tool description adds minimal context (default value logic) beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool restarts the WebSocket server for browser extensions, using a specific verb and resource. It distinguishes itself from sibling tools that operate on extensions or check status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios, or when restart is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_send_to_extensionSend Message to ExtensionB
Sends a message to a specific browser extension by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| extensionId | Yes | The extension ID to send the message to | |
| type | Yes | Message type | |
| payload | No | The message payload |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | |
| extensionId | Yes | |
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states 'sends a message' but does not explain if the operation is synchronous, what happens if the extension is not connected, or any side effects. This is insufficient for safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action. No unnecessary words, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and the presence of an output schema (not shown), the description should still cover behavior, error handling, or prerequisites. It lacks information on success/failure responses and constraints, making it incomplete for a tool with three parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema descriptions are adequate. The tool description does not add any additional meaning beyond the schema, so it meets the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: sending a message to a specific browser extension by its ID. It uses a specific verb and resource, and distinguishes from sibling tools like notify_all_extensions (sends to all) and notify_project_extensions (sends to project group).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or when not to use it. Prerequisites (e.g., extension must be connected) are not mentioned, leaving the agent without clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skippr_verify_issue_fixVerify Issue FixB
Requests verification from the browser extension to check if an issue has been fixed
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | The project ID containing the issue | |
| issueId | Yes | The issue ID to verify | |
| reviewId | Yes | Review ID for the issue | |
| timeout | No | Timeout in milliseconds (default: 300000) |
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | |
| projectId | Yes | |
| issueId | Yes | |
| verified | No | |
| reasoning | No | |
| error | No | |
| message | Yes | |
| details | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It does not explain what 'requests verification' entails (e.g., whether it blocks, how it handles connection failures, or what triggers the extension). The timeout parameter hints at waiting, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that front-loads the core purpose. No extraneous words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters and an output schema. The description is adequate but lacks details about preconditions (e.g., extension must be connected) or the nature of verification (e.g., expected outcomes). With more context, the description could be more helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions in the input schema (100% coverage). The description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('requests verification') and the resource ('if an issue has been fixed'), distinguishing it from sibling tools like skippr_send_to_extension or skippr_get_issue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor when not to use it. The description does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
v0.6.2- First observed
skippr_disconnect_extension - First observed
skippr_extension_server_status - First observed
skippr_get_issue - First observed
skippr_list_connected_extensions - First observed
skippr_list_issues - First observed
skippr_list_projects - First observed
skippr_notify_all_extensions - First observed
skippr_notify_project_extensions - First observed
skippr_restart_extension_server - First observed
skippr_send_to_extension - First observed
skippr_verify_issue_fix
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose: extension server management, issue/project listing, and issue verification. No two tools overlap in functionality.
All tools follow a consistent 'skippr_verb_noun' pattern with clear action and target (e.g., skippr_list_issues, skippr_disconnect_extension). No mixing of styles.
11 tools is reasonable for a server that handles both extension communication and issue management. Slightly on the higher side but well-organized.
Covers extension lifecycle well (connect, disconnect, list, notify, restart) and provides issue listing and verification, but lacks issue creation, update, or deletion, leaving workflow gaps.
Maintenance
Related MCP Connectors
Give AI coding agents access to your Vynix visual feedback, bug reports, and AI diagnosis.
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
Browser-backed QA with evidence and fix-ready reports for coding agents.
Browser-based QA for AI-built software. Test pages with real browsers via agents.
Related MCP Servers
- AlicenseAqualityFmaintenanceUnleashes LLM-powered agents to autonomously execute and debug web apps directly in your code editor, with features like webapp navigation, network traffic capture, and console error collection.21,240Apache 2.0
- AlicenseAqualityNot gradedmaintenanceEnables AI tools to interact with browsers for enhanced frontend development, providing context to LLMs through tools like API call analysis, screenshots, element selection, and documentation ingestion.9910-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to debug frontend applications by providing direct access to browser DevTools, React state, DOM inspection, and runtime debugging capabilities. Bridges the gap between AI and complex web applications for autonomous debugging and issue resolution.MIT
- AlicenseNot gradedqualityAmaintenanceBridges AI coding agents with the browser to provide visual debugging, real-time error capture, screenshot capabilities, DOM inspection, and interactive wireframing through a reverse proxy with injected developer tools.2821Apache 2.0