Essentras MCP server

MCP serverDev tools

Buy press coverage in 3,800+ vetted media outlets. Price a basket, get a checkout link.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use Essentras MCP server to get outlet

Install Essentras MCP server

The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user essentras-mcp-server 'https://essentras.com/api/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://essentras.com/api/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=essentras-mcp-server&config=eyJ1cmwiOiJodHRwczovL2Vzc2VudHJhcy5jb20vYXBpL21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://essentras.com/api/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add essentras-mcp-server --url 'https://essentras.com/api/mcp'

    Run it once, then sign in with codex mcp login essentras-mcp-server if the server asks for an account.

From the project's README

As published by ltv-so/essentras-mcp in README.md.

Buy press coverage from an AI agent.

Essentras is a marketplace for paid media placements. This MCP server makes the catalogue machine readable end to end: an agent can search 3,800+ vetted outlets by budget, domain authority, geography, topic and link policy, price a basket, and hand the buyer a checkout link. No account, no API key, nothing to negotiate.

Listed in the official MCP Registry as com.essentras/placements.

Quick start

Add this to any MCP client (Claude Desktop, Claude Code, Cursor, VS Code):

{
  "mcpServers": {
    "essentras": {
      "type": "http",
      "url": "https://essentras.com/api/mcp"
    }
  }
}

Then ask for what you want:

Find US tech outlets under $400 that give dofollow links, then price the best three.

I have $2,000 for fintech press in the UK. What can I get?

What does a placement on Business Insider cost, and how long does it take?

Tools

ToolWhat it does
search_outletsSearch by max_price, country, region, language, topic, min_da, dofollow, indexed, with sorting and paging. Returns offers with a fixed USD price, turnaround, link policy and a stable id.
get_outletFull detail for one outlet by id.
quote_placementsPrices a basket. Returns line items, any volume discount, the final total and a checkout_url. Charges nothing and creates no order.

All three are annotated read-only and idempotent.

The agent never pays

This is a design decision, not a limitation waiting to be removed.

The server holds no payment method and cannot take money. quote_placements returns a checkout_url; the buyer opens it, sees the same basket at the same total, and pays on essentras.com. So the worst case for someone who hands an agent too much trust is a basket they did not want, never a charge they did not authorize.

A capability the server does not have is a stronger guarantee than an instruction a model might ignore.

The quote is the price

quote_placements exists rather than expecting you to add up list prices, because the basket total is not the sum of its parts: volume tiers apply at 3 and 5 placements. The page, the REST API, the MCP server and the charge all read one pricing function, so the number an agent reports is the number the buyer is charged.

Billing is at checkout, not on publication. If the placement does not publish, or the stated turnaround is missed, the order is refunded.

Plain HTTP

Everything the MCP server does is also a REST endpoint, described by OpenAPI 3.1.

curl "https://essentras.com/api/agent/v1/outlets?country=US&dofollow=true&max_price=400&limit=3"
curl -X POST https://essentras.com/api/agent/v1/quote \
  -H 'Content-Type: application/json' \
  -d '{"items":[{"id":"business-insider"},{"id":"msn"}]}'

See examples/quickstart.sh for a runnable walkthrough.

Endpoint
/api/agent/v1Service description and checkout model
/api/agent/v1/openapiOpenAPI 3.1
/api/agent/v1/feedProduct feed, JSONL, Agentic Commerce Protocol shape
/.well-known/agent.jsonDiscovery manifest
/llms.txtWhat we sell, in prose

Protocol support

Streamable HTTP, dual era on purpose. The server implements the 2026-07-28 revision (stateless, server/discover, per-request _meta, resultType, cache hints) and the earlier initialize handshake, because a large share of clients in the wild still open the old way. Unsupported versions get a proper UnsupportedProtocolVersionError with the list of versions we do speak, so a client can retry rather than guess.

Limits and honest notes

  • Read and quote are public and rate limited per IP. There is nothing to gate: everything the API returns is already visible on the website.
  • JSON-RPC batches are capped (20 messages, 5 of them tool calls). An unbounded batch is a cheap way to buy a lot of someone else's database time.
  • One outlet per order, so quote_placements takes no quantity. The checkout handoff cannot express it, and quoting a basket the cart cannot reproduce would be worse than not supporting it.
  • Most placements publish as standard editorial articles with no sponsored label. A minority carry a sponsored or discreet disclosure, and every offer states which under link.disclosure. Do not assume the whole catalogue is one or the other.
  • The catalogue is what it is: strong in business, tech and finance, thinner on some tier-one US names. Search it rather than assuming an outlet is there.

Links

License

MIT. See LICENSE.

Tools it offers (3)

What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • get_outlet
  • quote_placements
  • search_outlets

Signals

Last commit
Oct 2026
Advanced
Delivery
placements MCP server → your ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
com-essentras-placements
Source
github.com/ltv-so/essentras-mcp
Hosted endpoint
https://essentras.com/api/mcp