API & MCP Docs

Build on the GEO Article Audit

A versioned REST API and a Model Context Protocol server expose the same audit engine so your tools and AI agents can audit, explain, and improve articles programmatically.

Overview

All REST endpoints live under /api/v1 and return JSON that always includes api_version, scoring_version, and generated_at. The machine-readable spec is available at /openapi.json.

Requests are rate limited per client. Retrieving a private saved audit requires an authenticated session that owns it; public audits are open. Running audits and reading rules are open within the rate limit.

REST endpoints

MethodPath
GET/api/v1/audit/meta
GET/api/v1/audit/rules
POST/api/v1/audit/run
GET/api/v1/audit/results/{id}
POST/api/v1/audit/compare
POST/api/v1/audit/revision-prompt
GET/api/v1/insights
POST/api/v1/contact

Examples

Run an audit with JSON
curl -X POST https://geoarticleaudit.com/api/v1/audit/run \
  -H "Content-Type: application/json" \
  -d '{
    "article_text": "# How do I choose a CRM?\nThe short answer is...",
    "money_dialog": "How do I choose a CRM?"
  }'
Run an audit with a file
curl -X POST https://geoarticleaudit.com/api/v1/audit/run \
  -F "[email protected]"
Fetch a single rule
curl https://geoarticleaudit.com/api/v1/audit/rules?rule_id=S1-1

MCP server

The Model Context Protocol server is available at https://geoarticleaudit.com/mcp. It speaks JSON-RPC 2.0 over HTTP and supports initialize, tools/list, and tools/call.

audit_geo_article
Run a full audit on article text and return scores, findings, and recommendations.
get_geo_article_audit_rules
List the audit rules and scoring scale, optionally filtered.
explain_geo_article_score
Explain a score: sub-scores, band, strongest and weakest rules.
generate_geo_article_revision_prompt
Build a structured revision prompt from a result object or audit id.
compare_geo_article_versions
Compare two article versions and report score deltas.
List available tools
curl -X POST https://geoarticleaudit.com/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
curl -X POST https://geoarticleaudit.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "audit_geo_article",
      "arguments": { "article_text": "..." }
    }
  }'