greyridge-x402-tools

Why was my Claude connector rejected?

Submitting an MCP server to the Anthropic Claude Connector Directory puts it through a review that runs around 20 days. If it comes back rejected, you fix the problem and rejoin the queue — another ~20 days. Most rejections are not subtle security failures; they are structural rules in Anthropic’s published review criteria that are easy to miss and cheap to fix if you catch them before you submit.

This page lists the structural criteria a reviewer checks, and gives you a way to test your own tools/list against them in one call — no account, no login, nothing leaving your machine for private servers.

The checks that fail connectors before a human ever reads them

These come straight from Anthropic’s published connector review criteria. Each applies per tool your server advertises:

Check your server before you submit

Run the readiness check against your tool definitions. It evaluates every tool against the criteria above and tells you whether you would clear the structural bar — before you spend a review cycle finding out.

URL mode — your MCP server is reachable:

curl "https://x402-data-api.sigrunner.workers.dev/scan/mcp/preview?url=https://your-mcp-host/mcp&directory=true"

Paste mode — private, OAuth-gated or stdio-only server, nothing leaves your machine:

curl -s -X POST https://x402-data-api.sigrunner.workers.dev/scan/mcp/preview \
  -H 'content-type: application/json' \
  -d '{"directory":true,"tools":[ /* your tools/list result */ ]}'

The free response tells you whether you are ready and how many blockers you have:

{
  "directory_readiness": {
    "ready": false,
    "blocker_count": 2,
    "checked_against": "Anthropic Claude Connector Directory published review criteria"
  }
}

A clean, minimal get_weather tool already returns two blockers — a missing title and a missing permission hint — because those annotations are required and are the single most common thing people forget. Knowing the count before you submit is the point.

Get the itemized blockers and how to fix each

The free check tells you that you would fail and how many criteria. To see which tools fail, which criterion each one trips, and the exact fix, get the itemized readiness report.

Pay by card — no wallet, nothing on-chain. Subscribe at grey ridge signals pricing for $9.99/month. You get an API key good for 100 scans across every endpoint, so you pull the itemized report now and re-check each release before you resubmit. Stripe checkout, cancel anytime:

curl -s -X POST https://x402-data-api.sigrunner.workers.dev/scan/mcp \
  -H 'content-type: application/json' \
  -H 'X-API-Key: sk_your_key' \
  -d '{"directory":true,"tools":[ /* your tools/list result */ ]}'

That returns a blockers array — one entry per failing tool with the rule, the detail, and the exact fix. One $9.99 month saves a ~20-day round trip, and the same key gates your CI below.

Building an agent instead? Pay per call with no account — $0.05 USDC via x402 on Base, drop the X-API-Key header:

curl -s -X POST https://x402-data-api.sigrunner.workers.dev/scan/mcp \
  -H 'content-type: application/json' \
  -d '{"directory":true,"tools":[ /* your tools/list result */ ]}'

Keep it compliant on every release — CI gate

A connector that passes today can regress the moment a tool is renamed or a new one is added without its annotations. Gate it in CI so a non-compliant change never reaches a submission:

name: Claude connector readiness
on: [push, pull_request]
jobs:
  readiness:
    runs-on: ubuntu-latest
    steps:
      - uses: rezearcher/mcp-directory-readiness@v1
        with:
          url: https://your-mcp-host/mcp

The Action rezearcher/mcp-directory-readiness runs the same check on every push and fails closed — a readiness check that can’t run exits non-zero rather than silently passing.

What this does not check

This evaluates the published structural criteria and the metadata security class. It does not reproduce Anthropic’s private review and cannot guarantee acceptance. Verify these yourself: a published privacy policy, a working OAuth 2.0 configuration, and DNS/domain ownership for your connector — the review also covers those, and they live outside the tool definitions.


Static analysis of advertised tool metadata only — the scanner reads tool names, descriptions and schemas; it never invokes a tool. Code: greyridge-x402-tools · mcp-directory-readiness Action · Contact: contact@greyridgesignals.ai