MadeCheck
com.madecheck/madecheckmadecheck.comstreamable-httpv1.0.0Scanned
Free landed cost estimates and import requirements for US businesses buying from China.
27 tools: 3 can delete or cancel things, 3 do something that can't be undone, 12 change things and 9 only read.
- Reads private data · 1
- Reads text others write · 2
- Can send data out · 2
- 2 findings
Anlyon alternative
18 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
27 tools
Deletes or cancels 3Claude Code: deny
cancel_order_packCancel order pack.No findings
Why it is in this group
- The name "cancel_order_pack" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Cancel order pack. Cancel order_pack_id before deposit using request_id; returns completion or a pending_action_id, with refunds governed by first publication. requires the member's own approval. 成员作废。定金前用 order_pack_id 和 request_id 作废订单包;返回完成状态或 pending_action_id,退款按首版是否出版处理。要本人点同意。
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
mark_deposit_paidMark deposit paid.No findings
Why it is in this group
- The name "mark_deposit_paid" says "mark": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Mark deposit paid. Freeze the current order_pack_id/version after deposit payment with request_id; returns completion or a pending_action_id awaiting the member. requires the member's own approval. 定金已付,锁版。用 order_pack_id、当前 version 和 request_id 将已付定金的订单包锁版;返回完成状态或待成员本人点的 pending_action_id。要本人点同意。
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
revoke_signoffRevoke signoff.1 finding
Why it is in this group
- The name "revoke_signoff" says "revoke": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "revoke_signoff" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "revoke_signoff" says "revoke": a word for removing or ending something.
Description, as the server wrote it Revoke signoff. Revoke the caller side's active signoffs for order_pack_id and lines of line_id before deposit; returns completion after pack state is recalculated. not available to AI agents. 撤回签认(定金前)。定金前按 order_pack_id 和 lines 中的 line_id 撤回本侧签认;返回完成状态并重算订单包状态。AI 不能调用。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
Can't be undone 3Claude Code: ask
pay_style_topupPay style topup.No findings
Why it is in this group
- The name "pay_style_topup" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Pay style topup. Pay the pending style-tier difference for order_pack_id using request_id; returns completion with charged_cents, or a pending_action_id for an AI. charges credits. requires the member's own approval. 付款数补差。用 order_pack_id 和 request_id 付待结清的款数档位补差;返回完成状态及 charged_cents,AI 调用时返回 pending_action_id。扣额度。要本人点同意。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
post_order_pack_messagePost order pack message.Can send data outNo findings
Why it is in this group
- The name "post_order_pack_message" says "post" and "message": it sends a message, which cannot be taken back.
What it can reach
- outboundThe name "post_order_pack_message" says "post" and "message": it sends something to other people.
Description, as the server wrote it Post order pack message. Post body to order_pack_id with optional line_id and visible_to; returns message_id or a pending_action_id when an AI requests factory-visible text. messages an AI sends for the factory to see require approval. 留言。用 order_pack_id、body 及可选 line_id、visible_to 留言;返回 message_id,AI 发起工厂可见文字时返回 pending_action_id。AI 发给工厂看的留言要本人点。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
send_order_pack_to_factorySend order pack to factory.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "send_order_pack_to_factory" says "send": a word for sending, and what is sent cannot be taken back.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe name "send_order_pack_to_factory" says "send": it sends or publishes something to other people.
- outboundThe input takes a destination (input.channel): what the tool writes goes there.
Description, as the server wrote it Send order pack to factory. Prepare factory access to a published order_pack_id using channel=copy_link and request_id; returns link_ready or a pending_action_id, without the link itself. requires the member's own approval. 给工厂发链接。用 order_pack_id、channel=copy_link 和 request_id 为已出版订单包准备工厂访问;返回 link_ready 或 pending_action_id,回包不含链接本身。要本人点同意。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
Changes things 12Claude Code: ask
accept_compliance_quoteAccept compliance quote.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Accept compliance quote. Accept the quoted compliance_case_id using request_id and available credits; returns case completion state and charged_cents after payment. charges credits. 接受报价。用 compliance_case_id、request_id 和可用额度接受合规报价;返回受理状态及 charged_cents。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
add_order_pack_materialAdd order pack material.No findings
Why it is in this group
- The name "add_order_pack_material" says "add": a word for a change.
Description, as the server wrote it Add order pack material. Add text or uploaded documents in materials to order_pack_id with request_id; returns the queued material publication and its target version. charges credits. 加材料(成员侧)。用 order_pack_id、materials 和 request_id 加入文字或已上传文件;返回材料版的排队状态及将出版的版号。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
answer_order_pack_linesAnswer order pack lines.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Answer order pack lines. Submit factory answers for line_id entries at the current order_pack_id/version, optionally new_lines; returns a queued answer publication and version. 工厂答复。按 order_pack_id、当前 version 和 answers 中的 line_id 提交工厂答复,可附 new_lines;返回答复版排队状态及版号。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_order_packCreate order pack.No findings
Why it is in this group
- The name "create_order_pack" says "create": a word for a change.
Description, as the server wrote it Create order pack. Open an order pack using title, style_count, materials and request_id; returns a queued publication, order_pack_id, version and charged_cents. charges credits. 开订单包。用 title、style_count、materials 和 request_id 开订单包;返回排队出版状态、order_pack_id、版号及 charged_cents。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
decide_pending_actionDecide pending action.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Decide pending action. Decide pending_action_id with decision=approve or reject and request_id as the person; returns the decision or executed action result after current-value checks. not available to AI agents. 处理待本人点的请求。本人用 pending_action_id、decision=approve/reject 和 request_id 处理请求;核对当前值后返回决定或动作执行结果。AI 不能调用。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
decline_order_packDecline order pack.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Decline order pack. Decline a factory order before deposit using order_pack_id, reason_zh and request_id; returns completion or a pending_action_id for the factory rep. requires the factory rep's own approval. 工厂拒单。工厂在定金前用 order_pack_id、reason_zh 和 request_id 拒单;返回完成状态或待业务员本人点的 pending_action_id。要业务员本人点。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
estimate_landed_costEstimate landed cost.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Estimate landed cost. Estimate a shipment total from hts_code or product, total fob_usd and quantity; returns duty lines, fees and total/per-unit cents with tax-date notes. free, rate-limited. 到岸成本估算。按 hts_code 或 product、整票 fob_usd 和 quantity 估算到岸成本;返回税费明细、整票及单件美分金额和税率日期说明。免费,限次。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
finish_document_uploadFinish document upload.No findings
Why it is in this group
- The name "finish_document_upload" says "upload": a word for a change.
Description, as the server wrote it Finish document upload. Finish a previously uploaded document_id with request_id after verifying its stored hash; returns document_id and done state. 上传完成。用 document_id 和 request_id 完成上传,核对已存文件哈希;返回 document_id 和 done 状态。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
lookup_factoryLook up factory.1 finding
Why it is in this group
- The name "lookup_factory" says "lookup": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "lookup_factory" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "lookup_factory" says "lookup": a word for reading.
Description, as the server wrote it Look up factory. Find a company by query (name, registration code or store link) and request_id; returns found, its evidence-backed dossier and charged_cents. charges credits. 工厂档案。用 query 中的公司名称、登记代码或店铺链接及 request_id 查工厂;返回 found、带证据的档案及 charged_cents。扣额度。 Coming soon: credits go on sale at madecheck.com. / 即将开放:额度将在 madecheck.com 发售。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
request_compliance_checkRequest compliance check.No findings
Why it is in this group
- The name "request_compliance_check" says "request": a word for a change.
Description, as the server wrote it Request compliance check. Request a quote for product and optional category, materials and order_pack_id with request_id; returns compliance_case_id, quoted_cents and items_preview. 申请合规办理(只报价)。用 product、request_id 及可选 category、materials、order_pack_id 申请合规办理报价;返回 compliance_case_id、quoted_cents 和 items_preview。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
sign_order_pack_linesSign order pack lines.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Sign order pack lines. Sign lines identified by line_id and the seen value_sha256 in order_pack_id; returns completion or a pending_action_id awaiting the person. requires the member's own approval. 签认若干行。按 order_pack_id 及 lines 中的 line_id、所见 value_sha256 签认若干行;返回完成状态或待本人点的 pending_action_id。要本人点同意。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
start_document_uploadStart document upload.No findings
Why it is in this group
- The name "start_document_upload" says "start": a word for a change.
Description, as the server wrote it Start document upload. Register kind, filename and sha256 with request_id and optional order_pack_id; returns document_id and a one-use upload_url for a raw-byte PUT. 开始上传。用 kind、filename、sha256、request_id 及可选 order_pack_id 开始上传;返回 document_id 和供原始字节 PUT 使用的一次性 upload_url。
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
Only reads 9Show 9 read-only tools
get_buy_credits_linkGet buy credits link.No findings
Why it is in this group
- The name "get_buy_credits_link" says "get": a word for reading.
Description, as the server wrote it Get buy credits link. Get the website payment URL, optionally prefilled with positive amount_cents; returns url so the member can buy credits on the website. 拿买额度链接。用可选的正整数 amount_cents 取得网页付款链接;返回 url,供成员在网页买额度。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_compliance_checkGet compliance check.No findings
Why it is in this group
- The name "get_compliance_check" says "get": a word for reading.
Description, as the server wrote it Get compliance check. Read the caller member's compliance_case_id; returns the case status, quoted_cents and its requirements with supporting citations. 看合规办理。按 compliance_case_id 看本成员的合规办理;返回状态、quoted_cents 和带出处的要求。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_credit_balanceGet credit balance.No findings
Why it is in this group
- The name "get_credit_balance" says "get": a word for reading.
Description, as the server wrote it Get credit balance. Read member credit balance and recent transactions using optional limit and cursor; returns balance_cents, transactions and next_cursor. 查额度。用可选 limit 和 cursor 查成员额度及近期变动;返回 balance_cents、transactions 和 next_cursor。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
get_order_packGet order pack.No findings
Why it is in this group
- The name "get_order_pack" says "get": a word for reading.
Description, as the server wrote it Get order pack. Read order_pack_id at an optional published version; returns pack details and lines with derived signoffs, limited to the factory view for company callers. 看订单包。按 order_pack_id 及可选已出版 version 看订单包;返回正文、逐行内容和派生签认,公司侧只收到工厂可见内容。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_compliance_checksList compliance checks.No findings
Why it is in this group
- The name "list_compliance_checks" says "list": a word for reading.
Description, as the server wrote it List compliance checks. List the caller member's compliance cases using limit and cursor; returns cases and next_cursor for pagination. 列出合规办理。用 limit 和 cursor 列出本成员的合规办理;返回办理列表及下一页 next_cursor。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_import_requirementsList import requirements.No findings
Why it is in this group
- The name "list_import_requirements" says "list": a word for reading.
Description, as the server wrote it List import requirements. List category requirements for product, with optional category and for_children; returns applicable requirements, citations, labels and testing notes. free, rate-limited. 品类合规门槛。按 product 及可选 category、for_children 列品类合规门槛;返回适用要求、出处、标签和检测说明。免费,限次。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_order_pack_messagesList order pack messages.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "list_order_pack_messages" says "list": a word for reading.
What it can reach
- private-dataThe name "list_order_pack_messages" says "list" and "message": it reads messages.
- private-dataThe description's first sentence says "list" and "message": it reads messages.
- untrusted-inputThe name "list_order_pack_messages" says "list" and "message": it reads messages, which other people can write.
- untrusted-inputThe description's first sentence says "list" and "message": it reads messages, which other people can write.
Description, as the server wrote it List order pack messages. Read messages for order_pack_id using limit and cursor; returns messages and next_cursor, with company callers seeing only both-side messages. 看留言。按 order_pack_id、limit 和 cursor 看留言;返回留言及 next_cursor,公司侧只看双方可见留言。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_order_packsList order packs.No findings
Why it is in this group
- The name "list_order_packs" says "list": a word for reading.
Description, as the server wrote it List order packs. List the caller owner's order packs using optional status, limit and cursor; returns visible packs and next_cursor for the next page. 列出订单包。用可选 status、limit 和 cursor 列出本人所属的订单包;返回可见订单包及下一页 next_cursor。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_pending_actionsList pending actions.No findings
Why it is in this group
- The name "list_pending_actions" says "list": a word for reading.
Description, as the server wrote it List pending actions. List awaiting actions using limit and cursor; returns actions and next_cursor, restricted to the AI requester or the person's own owner. 列出等本人点的请求。用 limit 和 cursor 列出待本人点的请求;返回 actions 和 next_cursor,AI 只看自己发起的请求,本人只看自己所属的请求。
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
4 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.
- Reads private data1
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write2
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out2
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__madecheck__list_order_pack_messages"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
- Warnlookup_factory
The server marks "lookup_factory" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "lookup_factory" says "lookup": a word for reading.
- Warnrevoke_signoff
The server marks "revoke_signoff" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "revoke_signoff" says "revoke": a word for removing or ending something.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http madecheck https://mcp.madecheck.com/v1claude mcp add --transport http madecheck https://mcp.madecheck.com/v1Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__madecheck__list_import_requirements",
"mcp__madecheck__get_order_pack",
"mcp__madecheck__list_order_packs",
"mcp__madecheck__list_order_pack_messages",
"mcp__madecheck__get_compliance_check",
"mcp__madecheck__list_compliance_checks",
"mcp__madecheck__get_credit_balance",
"mcp__madecheck__get_buy_credits_link",
"mcp__madecheck__list_pending_actions"
],
"ask": [
"mcp__madecheck__estimate_landed_cost",
"mcp__madecheck__lookup_factory",
"mcp__madecheck__create_order_pack",
"mcp__madecheck__add_order_pack_material",
"mcp__madecheck__answer_order_pack_lines",
"mcp__madecheck__sign_order_pack_lines",
"mcp__madecheck__send_order_pack_to_factory",
"mcp__madecheck__decline_order_pack",
"mcp__madecheck__post_order_pack_message",
"mcp__madecheck__request_compliance_check",
"mcp__madecheck__accept_compliance_quote",
"mcp__madecheck__start_document_upload",
"mcp__madecheck__finish_document_upload",
"mcp__madecheck__decide_pending_action",
"mcp__madecheck__pay_style_topup"
],
"deny": [
"mcp__madecheck__revoke_signoff",
"mcp__madecheck__mark_deposit_paid",
"mcp__madecheck__cancel_order_pack"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as madecheck. Review it before you use it.
Capability tags behind 3 rules
- mcp__madecheck__send_order_pack_to_factory untrusted-input, outbound
- mcp__madecheck__post_order_pack_message outbound
- mcp__madecheck__list_order_pack_messages private-data, untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.madecheck/madecheck/verify?hash=31fa06ddc3f7a9539e6f5a37979c4f98b404b0380506d226244a7df34c5c63b3" | jq -e '.changed == false'Pinned hash 31fa06ddc3f7, from Oct 24, 2026, 20:20 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.madecheck/madecheck/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.madecheck/madecheck)Source: MCP Registry. Synced Oct 24, 2026, 20:20 UTC.