Agent API · MCP · OpenAPI 3.1

Ask the data, cite the page.

One public route for AI agents and developers, no key. Search every site’s public pages in plain language and get passages with canonical URLs to cite, read a page in full, or fetch a site’s free example day as rows. The same URL speaks MCP. Requests are logged without IP addresses; send only public questions.

Route
GET or MCP POST at /api/agent
Key
None. Read-only
Doors
One per site, plus this hub
Download the OpenAPI document

Doors

Each site answers at its own /api/agent, scoped to its pages and its example day, with its own URLs to cite; add site=all to search every site. The hub covers them all.

A request

Add intent=<why you are asking> to a search: it never changes the results and tells us what to publish next. Without it, a search returns followUp.questions you may answer next time.

Search with JSON
curl "https://fronresearch.com/api/agent?q=bowling%20lane%20utilization&intent=market%20sizing&format=json"
A free example day as rows
curl "https://bowlingdata.co/api/agent?doc=sample/lanecheck&format=json"

MCP setup

Streamable HTTP, stateless, no authentication; tools about, search and fetch. Use a site’s door instead of the hub URL to scope the tools to that site. Server card · API catalog · llms.txt

Claude Desktop: claude_desktop_config.json (Settings → Developer → Edit Config), or the URL under Settings → Connectors → Add custom connector
{
  "mcpServers": {
    "fron-research": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://fronresearch.com/api/agent"
      ]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "fron-research": {
      "url": "https://fronresearch.com/api/agent"
    }
  }
}
ChatGPT: Settings → Apps & Connectors → Create (developer mode), these three fields
{
  "name": "Fron Research Agent API",
  "mcp_server_url": "https://fronresearch.com/api/agent",
  "authentication": "none"
}

Citing answers

Reference