Skip to content

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.

Developer Tools

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
Install MCP
claude mcp add isagentready-mcp -- npx -y isagentready-mcp
Install Agent Skills
/plugin marketplace add bartwaardenburg/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 for your deploy workflow plain
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.