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
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools