The Profound Agency

MCP server for AI agentsWork with the publisher network directly.

A Model Context Protocol server over 1,600+ publications. Search them, price them, plan a set for a budget, open an order, ask for a paid media quote or book a call — without scraping a single page. Once a client has paid, their agent can carry each article from content to approved draft. No key, no account, no approval.

An agent cannot buy anything here. Ordering returns a link a human opens.

Connect

Endpoint
https://theprofound.agency/api/mcp/
Transport
Streamable HTTP, stateless
Authentication
None

In ChatGPT, the same server is at https://theprofound.agency/api/mcp/chatgpt/, as listed in ChatGPT's app directory. It has seventeen of the tools: it searches, compares, quotes and plans, describes the paid media channels, runs the visibility check and audit request, answers questions, and gives booking and text links. It leaves out ordering, order status, campaign briefs and the client article tools, and its quotes and plans carry no cart link, because ChatGPT's directory doesn't allow selling services or linking to checkout. Everywhere else, use the endpoint above.

To try the flow first, give a contact email on example.com, example.org, example.net, .test or .invalid. create_order, submit_campaign_brief and request_audit then check everything but file and order nothing, and the response says test: true.

Add it to an MCP client:

{
  "mcpServers": {
    "profound-agency": {
      "type": "http",
      "url": "https://theprofound.agency/api/mcp/"
    }
  }
}

The 24 tools

Six of them, marked Writes, create or change something. None of them can spend money.

Find publications

Read only, from the same catalogue the store sells.

search_placements

Read only

Search the publisher network

Filter by price, Domain Authority, Domain Rating, monthly traffic, category, genre, region, turnaround, Google indexing, AI-crawler readiness, link type (dofollow or nofollow), a restricted niche the outlet accepts, and availability. With a niche, each result also gives the price of an article in it. Returns a page of matches, highest Domain Authority first by default.

get_placement

Read only

Full detail for one publication

Price, and price with the 3.5% checkout fee. Authority scores, estimated monthly traffic, turnaround, region, disclosure policy, link type, genres, the restricted niches it accepts and their prices, labels such as Staff or Press Release, whether it can be ordered now, the outlet's logo and an example article where one is published. A field with no value is left out, never guessed. Takes the id returned by search — the same slug as the publication's page URL.

list_categories

Read only

Every category, genre and niche, with counts

The valid values for the category, genre and niche filters, and how many publications carry each one.

compare_placements

Read only

Two to four publications side by side

Price, Domain Authority and Rating, monthly traffic, link type, turnaround, region, disclosure, indexing, genres and accepted niches in one table, with which is cheapest, fastest, highest in authority and most visited. Figures only; which is better depends on the client.

get_catalog_changes

Read only

What the weekly syncs added, removed and repriced

Newest first, filterable by date, maximum price, one or more categories, minimum Domain Authority, additions only or price drops only — a way to watch for new outlets or cheaper placements without re-reading the catalogue. Also published as /catalog-changes.json.

Price and order

A quote or a plan reserves nothing. An order stays unpaid until a human opens its link and pays.

quote_placements

Read only

Price a set of placements

Exactly as the store's checkout would, including the 3.5% processing fee. Quoting reserves nothing and commits nobody. Also returns a shareUrl that opens the store with the quoted placements in the cart. An article on a restricted subject (CBD, Crypto, Health, Gambling, Erotic) is priced at the outlet's price for that niche, and ordered with create_order, since the cart charges standard prices.

plan_placements

Read only

A quoted placement plan for a goal and budget

Goal, audience and budget in; a recommended set of publications out, already quoted with the total inside budget including the 3.5% fee, plus a shareUrl that opens the store with the plan in the cart. A backlink goal leaves out nofollow links, and an article in a restricted niche goes only to outlets that accept it, at their price for it. A plan recommends — it reserves nothing until ordered and paid.

create_order

Writes

Open an unpaid order and get a payment link

Creates a real pending order and returns a URL. It does not pay for anything. The order is inert until a human opens that link and pays, and it is deleted automatically if nobody does within 72 hours.

check_order_status

Read only

Payment and fulfilment state

Needs the order id and the billing email it was placed with, which is what stops anyone reading anyone else's order. Do not describe a placement as secured until this reports paid: true.

The client's article, once they've paid

Every publication on a paid order is its own article. With the client's private order link, from their confirmation email, an agent can follow each one, send the client's content, and pass on their verdict on the outline and draft.

get_client_order

Read only

See where a client's article is

Each publication on the order with its own stage, what we need next, the latest outline or draft, and a sample of the publication's writing. Needs the client's private order link, the "Open your order page" button in their order confirmation email.

submit_content

Writes

Send the client's content for their article

The same as the form on the client's order page, for one publication; each publication on an order needs its own. We then write an outline for the client to approve. Needs the client's private order link. Confirm the content with the client first.

review_content

Writes

Approve, or ask for changes to, an outline or draft

For one publication's outline or draft. Approving the draft sends it to our editors and cannot be undone, so show the client the text and get their go-ahead first. Needs the client's private order link.

submit_article_draft

Writes

File a client's article draft on a paid order

The order id plus the billing email on the order prove ownership. Only paid orders accept drafts. The draft goes to the editorial team; a human reviews and approves it before anything is published.

Paid media

Advertising is priced per campaign, so there is no price to read: describe the channels, check what can run where, and send a brief that a person prices.

list_capabilities

Read only

What we can deliver, in plain language

Geo-fencing, website retargeting, visit tracking, identity resolution and the rest — each described without jargon, with the products that provide it. Use it to turn what a client wants into what to ask for.

list_channels

Read only

Every advertising channel we run

Meta, Connected TV, geo-targeted mobile, search, audio, out-of-home and the rest, each in a sentence or two. The slugs are what submit_campaign_brief takes.

get_channel

Read only

One channel in full

Where the ads run, the creative formats, the targeting that can be layered on, and the caveats — the limits and prerequisites to know before sending a brief. Priced per campaign, so no price.

can_i_advertise

Read only

Whether a restricted category can run on a channel

Alcohol, cannabis and CBD, tobacco, casinos, firearms, supplements, political, housing, loans, crypto and the rest, per channel and with state-level rules: allowed, allowed with limits, case by case, or not allowed, and why. Guidance to confirm with the team, since platform policy changes.

submit_campaign_brief

Writes

Ask for a paid media quote

For advertising campaigns — display, video, Connected TV, social, search, audio, out-of-home — which are priced per campaign rather than per placement. It buys nothing: a human prices it and replies. The response scores the brief's completeness and lists the most valuable missing details.

AI visibility

An instant check of the basics, or a free scored audit that a person runs.

quick_visibility_check

Read only

An instant check of five AI-visibility basics

For any website: AI crawlers allowed in robots.txt, an llms.txt, Organization and FAQ structured data, and a title and description. Free and instant, with no score; the full scored audit is request_audit.

request_audit

Writes

Ask for a free AI visibility audit

Whether assistants can reach, read and quote a site, scored out of 100 across crawler access, structured data, answer readiness, agent files, off-site authority and freshness — from public data only. Free, and it returns no score: a person runs the audit and replies to the contact email.

Talk to the team

Answers from the site, and ways for the person to reach us. Nothing is booked or sent until they confirm it.

ask

Read only

Ask the site a question in plain words

Answered from theprofound.agency with source URLs — prices, restrictions, fee, refunds, definitions, channel requirements, FAQs and articles. Quoted or read from live data, never generated. Also JSON at /api/ask/?q=; people use /ask/.

get_availability

Read only

Real open meeting slots

Thirty-minute meetings on weekdays from the agency's actual appointment calendar, in the agency's timezone. A slot is not a booking — it only becomes one when the human confirms it.

create_booking_link

Read only

A link to book the meeting

The booking page URL, returned with the human's name and email as separate fields. The human opens it, enters their details, picks a time and confirms; the meeting does not exist until they do. Details never go in the URL, so they stay out of logs and referrers.

create_text_link

Read only

A text message to the agency, ready to send

Returns the message and an sms: link to (908) 448-4001 that opens the human's own messaging app with it filled in. Nothing is sent until they tap send; show them the message first. For a quick question or a call back — for a scheduled call, use create_booking_link.

What an agent may and may not do

May

  • Search, compare and shortlist publications.
  • Price a set of placements exactly as checkout would, or plan one for a goal and budget.
  • Open an unpaid order and hand the link to a person.
  • With a client's private order link, send their content and pass on their approval or changes.
  • Submit a campaign brief or an audit request and wait for a human to reply.
  • Find a meeting slot or draft a text, for the person to confirm or send.
  • Quote our catalogue data, with attribution where possible.

May not

  • Pay for anything. No payment method is reachable through any tool.
  • Tell a client a placement is secured before check_order_status reports paid: true.
  • Approve an outline or draft before the client has read it and said yes. Approval cannot be undone.
  • Call a meeting booked, or a text sent, before the person has done it.
  • State guaranteed outcomes. We do not publish guarantees about citations, rankings or traffic.
  • Invent a missing field. Say it is not listed.

If you would rather use REST

The catalogue is also readable over ordinary GET requests, described in an OpenAPI document at /openapi.json. Quoting, ordering, campaign briefs and the client article tools stay on MCP, because that is where the rules about what an agent may do are enforced.

curl "https://theprofound.agency/api/catalog/search/?q=finance&minDomainAuthority=80&limit=5"

Questions

Do I need an API key to use the MCP server?
No. Every tool is open — no key, no account, no approval step. An optional partner key attaches a verified agency name to orders, which is the only thing it does. Ordering cannot spend money, so there is nothing for a key to protect. Order creation is rate limited per caller; to place a large batch, email theprofoundagency@gmail.com.
Can an AI agent buy a press placement on its own?
No. create_order opens an unpaid order and returns a payment link. No payment method is reachable through any tool, so the agent cannot complete a purchase even if instructed to. A human opens the link and pays. Until check_order_status reports paid: true, nothing is booked.
What happens to an order nobody pays for?
It is deleted automatically after 72 hours. An unpaid order reserves nothing and schedules nothing, so an abandoned one costs the client nothing and leaves no obligation.
Can I try the tools without ordering anything?
Yes. Give a contact email on example.com, example.org, example.net, .test or .invalid, and create_order, submit_campaign_brief and request_audit check everything but file and order nothing. The response says test: true.
Can an agent handle a client's article after they pay?
Yes, with the client's private order link: the "Open your order page" button in their order confirmation email. get_client_order shows where each publication's article is and what is needed next, submit_content sends the client's content, and review_content approves the outline or draft or asks for changes. Approving a draft sends it to our editors and cannot be undone, so the client sees the text and says yes first. A client with a finished draft can file it with submit_article_draft, using the order id and billing email.
What is the MCP endpoint URL?
https://theprofound.agency/api/mcp/ over Streamable HTTP, stateless. The trailing slash matters — the site redirects without it. Posting to https://theprofound.agency/mcp/ reaches the same server.
Is there a REST API instead of MCP?
Yes, for reading. The catalogue is also available over ordinary GET requests described at https://theprofound.agency/openapi.json. Quoting, ordering, campaign briefs and the client article tools are MCP only, because that is where the rules about what an agent may and may not do are enforced.
How current is the catalogue data?
It is resynced from the store every week, and prices are confirmed at checkout. get_catalog_changes lists what each sync added, removed and repriced. Treat a publication's page as the source of truth at the time of the question.
Can an AI agent book a meeting on its own?
No. get_availability shows real open slots and create_booking_link hands over a booking link, but the meeting does not exist until the human opens that link and confirms it. An agent must never present a meeting as booked on the strength of a link alone.