Amendor

Pull change requests from your Amendor board into your coding agent to build and open PRs.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,226Tokens (tool definitions)
~3.1 KBTypical response size
Moderate attention impact (0.96% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "amendor-mcp": {
      "command": "npx",
      "args": [
        "amendor-mcp"
      ]
    }
  }
}

Runnable packages

npmamendor-mcp1.0.0stdio

Remote endpoints

https://amendor.site/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_change_requests(status)

List change requests submitted by end users on sites you ship. Optionally filter by status. Start here to see what people are asking for.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Optional status filter: new, accepted, building, preview, approved, shipped, or rejected. Omit to list every open request."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "requests": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Short ticket code like \"RB-3\"; pass to get_change_request."
          },
          "status": {
            "type": "string",
            "description": "Current status of the request."
          },
          "request_text": {
            "type": "string",
            "description": "What the user asked for, in their own words."
          },
          "page_url": {
            "type": "string",
            "description": "URL of the page the request was made on."
          },
          "project": {
            "type": "string",
            "description": "Project the request belongs to."
          }
        },
        "required": [
          "code",
          "status",
          "request_text",
          "page_url",
          "project"
        ],
        "additionalProperties": false
      },
      "description": "Matching change requests, newest first."
    }
  },
  "required": [
    "requests"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_change_request(id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Ticket code like \"RB-3\" from list_change_requests (raw ids also work)."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Short ticket code."
    },
    "id": {
      "type": "string",
      "description": "Internal change request id (used in branch names and PR markers)."
    },
    "status": {
      "type": "string",
      "description": "Current status."
    },
    "page_url": {
      "type": "string",
      "description": "URL of the page the request was made on."
    },
    "requested_by": {
      "type": "string",
      "description": "Requester email, or \"anonymous\"."
    },
    "request_text": {
      "type": "string",
      "description": "What the user wants."
    },
    "revision_requested": {
      "type": "boolean",
      "description": "True if the requester reviewed a preview and asked for changes; push to the same branch/PR."
    },
    "revision_comment": {
      "type": "string",
      "description": "The revision note, or empty string if none."
    },
    "elements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "selector": {
            "type": "string",
            "description": "CSS selector of the element the user pointed at."
          },
          "html": {
            "type": "string",
            "description": "outerHTML of that element; may be empty."
          }
        },
        "required": [
          "selector",
          "html"
        ],
        "additionalProperties": false
      },
      "description": "Elements attached to the request; empty for a general request."
    },
    "screenshot_url": {
      "type": "string",
      "description": "Absolute screenshot URL, or empty string."
    },
    "attachment_urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Absolute URLs of any extra attachments."
    }
  },
  "required": [
    "code",
    "id",
    "status",
    "page_url",
    "requested_by",
    "request_text",
    "revision_requested",
    "revision_comment",
    "elements",
    "screenshot_url",
    "attachment_urls"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡set_preview_url(id, url)

Attach a deploy-preview URL to a change request and mark it ready for the requester to review.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Ticket code like \"RB-3\" (raw ids also work)."
    },
    "url": {
      "type": "string",
      "description": "Deploy-preview URL (from your host) that the requester will review."
    }
  },
  "required": [
    "id",
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Short ticket code."
    },
    "status": {
      "type": "string",
      "description": "New status, set to \"preview\"."
    },
    "review_url": {
      "type": "string",
      "description": "Page where the requester reviews and approves the change."
    }
  },
  "required": [
    "code",
    "status",
    "review_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_status(id, status)

Update a change request status as it moves through the build and review flow.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Ticket code like \"RB-3\" (raw ids also work)."
    },
    "status": {
      "type": "string",
      "description": "New status: new, accepted, building, preview, approved, shipped, or rejected."
    }
  },
  "required": [
    "id",
    "status"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Short ticket code."
    },
    "status": {
      "type": "string",
      "description": "The status now set on the request."
    }
  },
  "required": [
    "code",
    "status"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools