MCP vs REST API

Two ways to access the same data. Choose the one that fits your use case.

MCP (Model Context Protocol)

Best for AI agents, coding assistants, and conversational tools

  • How it works: Your AI calls tools directly -- search, get_document, resolve_reference, and more. No HTTP code needed.
  • Auth: OAuth -- automatic sign-in on first use. Alternatively, pass an API key in headers.
  • Advantages: Structured tool calls, automatic capability discovery, rich context for the model.
  • Setup: Paste https://legaldatahunter.com/mcp into your MCP client (Claude, Cursor, ChatGPT, Windsurf, etc.).
Set up MCP →

REST API

Best for web apps, mobile apps, dashboards, scripts, and data pipelines

  • How it works: Standard HTTP requests to /v1/* endpoints. JSON in, JSON out.
  • Auth: Bearer token -- add Authorization: Bearer sk-... to every request.
  • Advantages: Full control, works everywhere HTTP works, easy to integrate into any stack.
  • Setup: Get a key at /account, then start making requests.
API Quickstart →

Side-by-Side Comparison

MCP REST API
Best for AI agents & assistants Apps, UIs, scripts
Protocol Streamable HTTP (MCP) Standard HTTP / JSON
Auth OAuth (automatic) Bearer token
Tool discovery Automatic Docs or /swagger
Data access Same corpus Same corpus
Rate limits Same tiers Same tiers
Latency Same Same

Which Should I Use?

MCP and REST share the same authentication and the same data. You can use both in the same project -- for example, MCP for your AI features and REST for your dashboard.

Both Use the Same Backend

MCP tools map 1:1 to REST endpoints. The search tool calls POST /v1/search, get_document calls GET /v1/documents/{source}/{source_id}, and so on. Same rate limits, same data, same response format.

The MCP server acts as a thin adapter that translates tool calls into API requests. There is no separate data path or caching layer -- every MCP call hits the same infrastructure as a direct API request.

MCP Tool to REST Endpoint Mapping

MCP Tool                 REST Endpoint
search                   POST /v1/search
get_document             GET  /v1/documents/{source}/{source_id}
resolve_reference        POST /v1/resolve
discover_countries       GET  /v1/discover/countries
discover_sources         GET  /v1/discover/countries/{code}/sources
get_filters              GET  /v1/discover/sources/{source}/filters
report_source_issue      POST /v1/sources/{source}/issues