Developers
Use IsAgentReady from your tooling while retaining control of the scan lifecycle.
Quick start
Choose your editor to add the MCP server, then install Agent Skills to fix the issues it finds.
Scan and fix from your editor
Install our MCP server to scan any website from your terminal. Pair it with AI agent skills to fix failing checks automatically.
- Scan any website directly from your terminal
- Fix failing checks with AI agent skills
- Re-scan to verify improvements
claude mcp add isagentready-mcp -- npx -y isagentready-mcp
codex mcp add isagentready-mcp -- npx -y isagentready-mcp
gemini mcp add isagentready-mcp -- npx -y isagentready-mcp
docker run -i --rm ghcr.io/bartwaardenburg/isagentready-mcp
/plugin marketplace add bartwaardenburg/isagentready-skills
git clone https://github.com/bartwaardenburg/isagentready-skills.git ~/.cursor/skills/isagentready-skills
git clone https://github.com/bartwaardenburg/isagentready-skills.git ~/.agents/skills/isagentready-skills
git clone https://github.com/bartwaardenburg/isagentready-skills.git ~/.codeium/windsurf/skills/isagentready-skills
git clone https://github.com/bartwaardenburg/isagentready-skills.git ~/.agents/skills/isagentready-skills
gemini skills install https://github.com/bartwaardenburg/isagentready-skills.git
git clone https://github.com/bartwaardenburg/isagentready-skills.git ~/.config/agents/skills/isagentready-skills
CLI and scan API
Install the CLI and start a scan from the command line. Use the API to start scans, poll the returned URL, and read the completed canonical report.
npm install -g @isagentready/cli
npx @isagentready/cli scan example.com
OpenAPI: The OpenAPI specification documents requests and responses. Completed report fields are additive and versioned by methodology.
MCP and A2A
Connect Streamable HTTP MCP clients to /mcp. The endpoint supports stateless MCP 2026-07-28 and the existing handshake. Report tools return identical JSON in the text fallback and structuredContent. The fixed ui://isagentready/score-report.html resource renders the scorecard without external assets. Discover capabilities through /.well-known/mcp.json and use the A2A Agent Card for task-based integrations.
Agent Skills are listed at /.well-known/agent-skills/index.json.
Run discoverability probes
Run the official discoverability probes against Anthropic or OpenAI with your own API key. The script sends the results to your monitored site. IsAgentReady does not see your key and does not pay for AI calls.
curl -fsSLO https://isagentready.com/tools/discoverability-probe.mjs
export ISAGENTREADY_SITE_ID=<site-id> PROVIDER=anthropic MODEL=<model>
read -rs ANTHROPIC_API_KEY && export ANTHROPIC_API_KEY
read -rs ISAGENTREADY_TOKEN && export ISAGENTREADY_TOKEN
node discoverability-probe.mjs --dry-run
You pick the model. Paste your API key and your management token at the silent read prompts, so they do not go into your shell history. Use PROVIDER=openai with OPENAI_API_KEY for OpenAI. Remove --dry-run to send the results. The script needs Node.js 20 or later. It reads the probe set from /api/v1/discoverability/probe-set.
Results are experimental. They do not count toward any score and do not prove a cause.
Rate limits and errors
Responses limited by quota include RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and Retry-After. Reuse cached results before requesting another scan.
API errors use problem details with type, title, status, detail, and instance, while retaining legacy error and message fields.
Compatibility
Public reports keep their stored methodology version. New report fields are additive, and deprecated integrations remain documented until a replacement is available.
Monitoring APIs require verified ownership and a management bearer token. Public scan, rankings, MCP, and A2A reads remain credential-free.
A2A retains its protocol-specific application/a2a+json errors; the JSON API uses problem details.
Readiness checks in CI
Stop a deploy when the readiness of your site drops. Paste the readiness job into the workflow that deploys your site, next to the deploy job. GitHub Actions connects needs only to jobs in the same workflow file. The job reads the status of your monitoring policy and fails on HTTP 412 or any other error.
jobs:
readiness:
runs-on: ubuntu-latest
steps:
- name: Check the IsAgentReady monitoring status
env:
ISAGENTREADY_TOKEN: ${{ secrets.ISAGENTREADY_TOKEN }}
ISAGENTREADY_SITE_ID: ${{ secrets.ISAGENTREADY_SITE_ID }}
run: |
status=$(curl --silent --show-error --output status.json --write-out '%{http_code}' \
--header "Authorization: Bearer $ISAGENTREADY_TOKEN" \
"https://isagentready.com/api/v1/monitoring/sites/$ISAGENTREADY_SITE_ID/status")
cat status.json
case "$status" in
200) echo "Readiness policy passed." ;;
202) echo "::notice::The next monitoring scan is still pending." ;;
412) echo "::error::Readiness dropped below the monitoring policy."; exit 1 ;;
*) echo "::error::The status check returned HTTP $status."; exit 1 ;;
esac
# Your existing deploy job. Add the needs line.
deploy:
needs: readiness
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Your deploy steps stay here.
Store the management token and the site ID from the monitoring API as the repository secrets ISAGENTREADY_TOKEN and ISAGENTREADY_SITE_ID. A pending scan (HTTP 202) lets the job pass.
Show your grade in a README with the badge at /badge/example.com.svg. Every scan page gives Markdown and HTML snippets.