Amendor
Server Details
Pull change requests from your Amendor board into your coding agent to build and open PRs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- deslay1/amendor-mcp
- GitHub Stars
- 2
- Server Listing
- amendor-mcp
TDQS
Scored across 4 tools
Each tool has a clear and distinct role: listing, fetching details, updating status, and attaching a preview URL. Even though set_preview_url also marks a request as ready for review, the descriptions clearly delineate the intended use, so no two tools are ambiguous.
Tools follow a mostly consistent get/list/set/update + noun snake_case pattern. update_status is slightly less specific than the others (it omits the 'change_request' object), but the overall naming convention is uniform and readable.
Four tools is a focused, well-scoped set for a change-request management workflow. Each tool serves a distinct step in the build and review process without unnecessary redundancies or bloat.
The set covers the full lifecycle of a change request from an agent's perspective: discover what users want, get full details, push the work forward with a preview URL, and update the status as it moves. Since change requests are created by end users, lacking a create tool is appropriate. No obvious gaps exist.
Available Tools
4 toolsget_change_requestGet change requestARead-onlyIdempotentInspect
Get full detail for one change request so you can implement it: the user request, the exact element they pointed at (CSS selector + outerHTML), the page URL, and a screenshot URL. Call this before making the change.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Ticket code like "RB-3" from list_change_requests (raw ids also work). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Internal change request id (used in branch names and PR markers). |
| code | Yes | Short ticket code. |
| status | Yes | Current status. |
| elements | Yes | Elements attached to the request; empty for a general request. |
| page_url | Yes | URL of the page the request was made on. |
| request_text | Yes | What the user wants. |
| requested_by | Yes | Requester email, or "anonymous". |
| screenshot_url | Yes | Absolute screenshot URL, or empty string. |
| attachment_urls | Yes | Absolute URLs of any extra attachments. |
| revision_comment | Yes | The revision note, or empty string if none. |
| revision_requested | Yes | True if the requester reviewed a preview and asked for changes; push to the same branch/PR. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds useful context beyond annotations by specifying exactly what data is returned (user request, element, page URL, screenshot URL), which helps the agent understand the tool's output without relying solely on the output schema.
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 two sentences, immediately states the purpose, and lists specific data fields without unnecessary detail. Every word earns its place, making it highly concise and well-structured.
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?
With a simple one-parameter tool, a rich output schema, and strong annotations, the description covers all essential aspects: what the tool does, what it returns, and when to call it. The only minor omission is lack of explicit mention that no user/workspace filtering applies (though that's not relevant here). It is nearly complete.
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, with the parameter 'id' fully described as a ticket code like 'RB-3' from list_change_requests. The description does not add additional parameter information, which is acceptable since the schema already carries the burden. The 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 tool retrieves full detail for a single change request, specifically listing the fields (user request, element selector, outerHTML, URLs). It distinguishes from siblings like list_change_requests by emphasizing 'one change request' and 'full detail'.
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 provides explicit guidance: 'Call this before making the change.' This implies it should be used before mutation tools like update_status. While it doesn't explicitly state when not to use it, the context of implementation is clear. Also references list_change_requests for obtaining the id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_change_requestsList change requestsARead-onlyIdempotentInspect
List change requests submitted by end users on sites you ship. Optionally filter by status. Start here to see what people are asking for.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Optional status filter: new, accepted, building, preview, approved, shipped, or rejected. Omit to list every open request. |
Output Schema
| Name | Required | Description |
|---|---|---|
| requests | Yes | Matching change requests, newest first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is well covered. The description adds context about the source of the requests ('submitted by end users') but does not disclose additional behavioral details like pagination or ordering, which are not required given the output schema exists and annotations are strong.
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 three short, focused sentences: purpose, filter option, and usage hint. Every sentence earns its place with no redundancy or fluff. The most important info (what it does) is front-loaded.
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 one optional parameter, full schema description, output schema present, and strong annotations, the description provides enough context. It states what the tool returns, how to filter, and when to use it. No critical gaps remain.
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 only parameter 'status' has 100% schema coverage with a clear description of accepted values and behavior when omitted. The description simply repeats 'Optionally filter by status' without adding new semantic detail, so it adds minimal value beyond the schema.
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 change requests with specific context (submitted by end users on sites you ship). The verb 'List' plus resource 'change requests' makes the function unambiguous and differentiates it from sibling tools like get_change_request (single item), set_preview_url, and update_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?
The phrase 'Start here to see what people are asking for' gives clear usage context as an entry point for exploring change requests. It also mentions the optional status filter, implying the tool is for broad listing. However, it does not explicitly contrast with sibling tools or say when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_preview_urlAttach preview URLAIdempotentInspect
Attach a deploy-preview URL to a change request and mark it ready for the requester to review.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Ticket code like "RB-3" (raw ids also work). | |
| url | Yes | Deploy-preview URL (from your host) that the requester will review. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | Yes | Short ticket code. |
| status | Yes | New status, set to "preview". |
| review_url | Yes | Page where the requester reviews and approves the change. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a behavioral detail beyond the annotations: it marks the request ready for review. Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered; the description's added effect of changing readiness is useful context without contradiction.
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 with no filler. It efficiently communicates the core action and effect, making it easy for an agent to parse quickly.
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 two-parameter mutation with an output schema and comprehensive annotations, the description is complete enough. It covers the essential action and effect; the lack of overwrite behavior is acceptable given the idempotent hint.
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?
Both parameters are fully described in the schema with 100% coverage, so the description adds little additional meaning. The url parameter description in the schema already mentions 'from your host' and the requester review context, matching the tool description. Baseline of 3 applies when schema does the heavy lifting.
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: attach a deploy-preview URL to a change request and mark it ready for review. It uses a specific verb and resource, and it distinguishes itself from sibling read tools (get_change_request, list_change_requests) and update_status by specifying the URL attachment and review-ready effect.
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 gives clear context for use (attaching a preview URL) but does not explicitly contrast with update_status, which could also be used to change review readiness. No when-not-to-use exclusions are provided, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_statusUpdate statusAIdempotentInspect
Update a change request status as it moves through the build and review flow.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Ticket code like "RB-3" (raw ids also work). | |
| status | Yes | New status: new, accepted, building, preview, approved, shipped, or rejected. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | Yes | Short ticket code. |
| status | Yes | The status now set on the request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey that this is a write operation, idempotent, and non-destructive. The description adds the notion of a 'flow' but does not disclose details about valid transitions or side effects. With annotations present, the description provides minimal but non-contradictory additional context.
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, well-structured sentence that immediately states the core action. Every word adds value, with no unnecessary detail or repetition of schema 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?
Given the tool's simplicity, the presence of an output schema, and comprehensive annotations, the description is sufficient. It could be improved by clarifying whether any status transition is allowed or if there are ordering constraints, but this is not a critical gap for basic usage.
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 covers 100% of the parameters with clear descriptions for both 'id' and 'status', including allowed values. The description adds no further parameter semantics, so a 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 tool updates a change request status, specifying the resource ('change request status') and the context ('build and review flow'). It distinguishes itself from the read-only sibling tools (get_change_request, list_change_requests) and from set_preview_url, though it does not explicitly name alternatives.
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 phrase 'as it moves through the build and review flow' implies this tool is used for status transitions, providing some context. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any preconditions or limitations.
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.
4 tool updates
- Changed
get_change_request4 fields changed- changed
Input schema / properties / id / descriptionPrevious value: -"Change request id, from list_change_requests."New value: +"Ticket code like \"RB-3\" from list_change_requests (raw ids also work)." - added
Output schema / properties / codeAdded value: +{ + "description": "Short ticket code.", + "type": "string" +} - changed
Output schema / properties / id / descriptionPrevious value: -"Change request id."New value: +"Internal change request id (used in branch names and PR markers)." - changed
Output schema / requiredPrevious value: -[ - "id", - "status", - "page_url", - "requested_by", - "request_text", - "revision_requested", - "revision_comment", - "elements", - "screenshot_url", - "attachment_urls" -]New value: +[ + "code", + "id", + "status", + "page_url", + "requested_by", + "request_text", + "revision_requested", + "revision_comment", + "elements", + "screenshot_url", + "attachment_urls" +]
- Changed
list_change_requests4 fields changed- added
Output schema / properties / requests / items / properties / codeAdded value: +{ + "description": "Short ticket code like \"RB-3\"; pass to get_change_request.", + "type": "string" +} - removed
Output schema / properties / requests / items / properties / idRemoved value: -{ - "description": "Change request id; pass to get_change_request.", - "type": "string" -} - added
Output schema / properties / requests / items / properties / projectAdded value: +{ + "description": "Project the request belongs to.", + "type": "string" +} - changed
Output schema / properties / requests / items / requiredPrevious value: -[ - "id", - "status", - "request_text", - "page_url" -]New value: +[ + "code", + "status", + "request_text", + "page_url", + "project" +]
- Changed
set_preview_url4 fields changed- changed
Input schema / properties / id / descriptionPrevious value: -"Change request id."New value: +"Ticket code like \"RB-3\" (raw ids also work)." - added
Output schema / properties / codeAdded value: +{ + "description": "Short ticket code.", + "type": "string" +} - removed
Output schema / properties / idRemoved value: -{ - "description": "Change request id.", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "status", - "review_url" -]New value: +[ + "code", + "status", + "review_url" +]
- Changed
update_status4 fields changed- changed
Input schema / properties / id / descriptionPrevious value: -"Change request id."New value: +"Ticket code like \"RB-3\" (raw ids also work)." - added
Output schema / properties / codeAdded value: +{ + "description": "Short ticket code.", + "type": "string" +} - removed
Output schema / properties / idRemoved value: -{ - "description": "Change request id.", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "status" -]New value: +[ + "code", + "status" +]
4 tool updates
- First observed
get_change_request - First observed
list_change_requests - First observed
set_preview_url - First observed
update_status
Related MCP Connectors
Read your Usero feedback inbox and clusters, file feedback, build forms, and open an AI PR.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
- AxisOAuthdev.useaxis
Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
Turn described changes into reviewed pull requests: propose, triage, review, dependency audits.
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceEnables AI-driven orchestration of GitHub development workflows including automated issue analysis, code generation, code review, and PR creation through multiple specialized agents. Integrates with GitHub Actions to automate the complete development process from issue to pull request.7-
- FlicenseNot gradedqualityCmaintenanceEnables MCP-connected AI agents to review GitHub pull requests and post meaningful inline review comments directly on them through natural language prompts.-
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to receive and act on voice-captured tasks delivered as GitHub issues, including retrieving full context, adding notes, asking the developer questions, and closing tasks when complete.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to automate GitHub repository management, issue tracking, and commits using natural language.10Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.