There is no key to provision and no plan to choose: the first call comes back with a price, the client pays it in USDC on Base, and the retry carries the proof. That makes cost a per-call decision and makes the failure mode legible — an agent that cannot pay gets a requirement back rather than a wrong answer.
An MCP wrapper around the Secant Agent Research Pack, a paid research API built for autonomous agents. Four tools cover search, extraction, a bundled research run and change monitoring, and payment is part of the call rather than a subscription arranged beforehand.
- Ranked web search — `search`
- Search, selected page extraction, normalized JSON and citations in one run — `research_pack`
- Readable page text and metadata from a URL — `extract_page`
- Page change checks between visits — `monitor_diff`
- The same retry-safe payment shape on every tool: call without `payment` to get the upstream requirement back, pay it, then retry with the proof and the same `payment_identifier`
Every tool is paid. The API quotes a requirement in Base USDC over x402 and returns HTTP `402` until a valid proof arrives, so the client has to be x402-capable and funded; an unpaid call comes back with `payment_required: true` and the upstream body, and nothing paid runs until the live API accepts the proof. Run it from the image — `docker build -t secant-agent-research-mcp .` then `docker run --rm -i secant-agent-research-mcp`. The package is `secant-agent-research-mcp` (0.1.1 in pyproject), and `server.json` also lists a Streamable HTTP endpoint at `https://agentic.secantoutreach.com/mcp/`. `SECANT_AGENT_RESEARCH_API_BASE_URL` overrides the API base.
One command — docker run --rm -i secant-agent-research-mcp
