looot

Search, price and run 2,500+ data endpoints from 90+ providers with one key and one prepaid balance: work emails, phones, company and people search, Google results, web pages and news. Price shown before every run.

Hosted MCP Server

npx add-mcp 'https://api.looot.ai/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

looot MCP

Install in Cursor Install in VS Code Install in VS Code Insiders

looot is one gateway to about 2,500 data provider operations: email find and verify, company enrichment, SEO and SERP data, social profiles, web scraping and more. One token, one prepaid balance, one run contract.

The server is hosted at https://api.looot.ai/mcp (streamable HTTP). Most clients connect to it directly and sign in with the browser. This repo adds two things:

  • looot-mcp, a small npm bin that bridges stdio to the hosted server, for clients that only speak stdio. It runs a pinned mcp-remote (0.14.3) and adds nothing else.
  • server.json, the MCP Registry entry (ai.looot/looot), remote first.
  • gemini-extension.json and GEMINI.md, the Gemini CLI extension (remote server plus the looot skill as context).
  • llms-install.md, setup steps an AI agent such as Cline can follow on its own.

looot-mcp is not on npm yet, so the npx looot-mcp lines below work only after a release. Every remote setup works today.

Install

Pick your client. Each one connects to the hosted server and opens a browser sign-in the first time. To use an agent token instead, see Authentication.

Claude Code

claude mcp add --transport http looot https://api.looot.ai/mcp

Then run /mcp, pick looot and choose Authenticate.

Claude (claude.ai and Claude Desktop connector)

Settings, Connectors, Add custom connector. Name looot, URL https://api.looot.ai/mcp. Connect, then sign in with your looot account in the browser window that opens.

Cursor

Click the Install in Cursor button above, or add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "looot": { "url": "https://api.looot.ai/mcp" }
  }
}

VS Code

Click the Install in VS Code button above, or run:

code --add-mcp '{"name":"looot","type":"http","url":"https://api.looot.ai/mcp"}'

or add it to .vscode/mcp.json:

{
  "servers": {
    "looot": { "type": "http", "url": "https://api.looot.ai/mcp" }
  }
}

Codex

codex mcp add looot --url https://api.looot.ai/mcp
codex mcp login looot

Or in ~/.codex/config.toml:

[mcp_servers.looot]
url = "https://api.looot.ai/mcp"

Gemini CLI

As an extension (adds the server and the looot usage guide):

gemini extensions install https://github.com/loootai/looot-mcp

Or only the server:

gemini mcp add --transport http looot https://api.looot.ai/mcp

Or in ~/.gemini/settings.json (httpUrl is Gemini's key for streamable HTTP):

{
  "mcpServers": {
    "looot": { "httpUrl": "https://api.looot.ai/mcp" }
  }
}

Then /mcp auth looot inside Gemini CLI.

ChatGPT (developer mode)

Settings, Apps and Connectors, Advanced settings, turn on Developer mode. Then Create, name looot, MCP server URL https://api.looot.ai/mcp, authentication OAuth.

Not yet tested end to end with looot. The public page looot.ai/agents/chatgpt still says this path is not live.

Windsurf

In ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "looot": { "serverUrl": "https://api.looot.ai/mcp" }
  }
}

Any stdio-only client

{
  "mcpServers": {
    "looot": { "command": "npx", "args": ["-y", "looot-mcp@0.1.0"] }
  }
}

Until looot-mcp is on npm, the same bridge runs straight from mcp-remote:

{
  "mcpServers": {
    "looot": {
      "command": "npx",
      "args": ["-y", "mcp-remote@0.14.3", "https://api.looot.ai/mcp", "--transport", "http-only"]
    }
  }
}

60-second quickstart

  1. Add the server with one of the setups above and sign in.
  2. Ask your agent: "Use looot catalog_overview with topic email, then find the cheapest way to verify an email." Browsing is free.
  3. Top up before the first paid run. The balance tool returns the minimum and a payment link; new workspaces start at $0 and there is no trial credit.
  4. Ask: "Run job:people.email.verify on jane.doe@example.com with fallback." The agent calls run, and the result carries the price actually charged.

Tools

The hosted server lists these tools (source: api.looot.ai/llms.txt):

ToolWhat it doesCost
catalog_overviewcategories, platforms and jobs with counts and cheapest pricesfree
search_catalog, search, discoverfind endpoints for a job, ranked by preferfree
discover_smartranks a shortlist against a plain-English use casesmall paid AI call
inspectinput and output schema, price formula, estimated max costfree
runholds the estimated cost, runs, settles; accepts job:<id> and fallbackpaid
runs_get, runs_list, runs_cancel, runs_evidencerun status, history, cancel, per-attempt receiptsfree
balance, top_upbalance and a Stripe payment linkfree
my_tools, capability_requestworkspace tools, ask for a missing jobfree

Authentication

Browser sign-in (OAuth) is the default. The server answers an unauthenticated call with 401 and WWW-Authenticate: Bearer resource_metadata=..., and every client above follows that.

For headless agents, create an agent token at looot.ai (Settings, Agent tokens) with at least catalog.read, runs.read and runs.execute, then export it:

export LOOOT_TOKEN=cs_ms_...   # shown once, never commit it
  • looot-mcp picks up LOOOT_TOKEN and sends it as a bearer header. The token stays out of the process list: the bridge passes Authorization:Bearer ${LOOOT_TOKEN} and mcp-remote expands it from its own environment.
  • Claude Code: add --header "Authorization: Bearer $LOOOT_TOKEN" to the claude mcp add line.
  • Codex: add bearer_token_env_var = "LOOOT_TOKEN" under [mcp_servers.looot].

Develop

npm install --ignore-scripts
npm test            # unit tests, offline
npm run test:live   # free public routes only: /.well-known/mcp.json and the OAuth metadata
npm run scan        # leak scanner, also run by the pre-commit hook
git config core.hooksPath .githooks

Links

License

MIT, see LICENSE. The hosted looot service has its own terms: https://looot.ai/terms