Skip to content

How-to guideWorks with

Peec AI and FreshlyCited: an agent workflow for pages AI never cites

You can use Peec AI with FreshlyCited by connecting both MCP servers to the same AI agent. Peec AI's server (https://api.peec.ai/mcp) reports which of your URLs AI engines retrieve and cite. FreshlyCited checks whether Google has indexed the target pages that never show up and pushes the ones it hasn't. The two aren't formally integrated.

The story · 3 steps
Add FreshlyCited to your agentFree plan: 10 free links to try (once you verify your email), then 100 free checks a month, no card.
On this page · 6 sections
  1. 01What does Peec AI tell you about cited pages?
  2. 02What can't Peec AI tell you about indexing?
  3. 03How does the Peec AI and FreshlyCited workflow run?
  4. 04How do you set up both servers, per client?
  5. 05What prompts can you give the agent?
  6. 06What are the limits and costs?

A page Google hasn't indexed (stored in the index, the library Google's results and AI Overviews answer from) can't be cited in AI answers built on that index, though indexing alone doesn't earn a citation. This guide covers what Peec AI's MCP server and API return, what they can't tell you, the workflow, setup for both servers per client, example prompts, and the limits and costs as of October 2026.

What does Peec AI tell you about cited pages?

Peec AI tells you which URLs AI engines retrieved (read while answering) and cited for your tracked prompts, how often, and on which engines and dates. It tracks ChatGPT, Perplexity, Gemini, Google AI Overviews, Google AI Mode, Claude, Microsoft Copilot and Grok (Peec AI MCP docs). Its tools reference lists 51 read tools and 48 write tools, checked on October 17, 2026. The ones this workflow uses:

Tool

What it returns

list_projects

Projects you can access; Peec AI says it "is always called first"

get_url_report

Per URL: citation_count, retrieval_count, citation_rate, page classification and title, for a date range

get_domain_report

The same metrics per domain

get_url_content

The scraped text of a source URL, "to inspect the actual content an AI engine read"

list_chats / get_chat

Individual AI answers, with the URLs each one retrieved and cited

get_url_report takes a project_id, start_date and end_date, and accepts filters such as domain, url, country_code and model_channel_id (a stable ID for each engine). Most tools return compact columnar JSON: a columns list and rows of values in that order.

The split between retrieval and citation is what makes Peec AI's data useful here. retrieval_count is "Total distinct chats that retrieved this URL", and citation_count is "Total citations across all chats". A page with retrievals but few citations has been found; a target page with no row at all hasn't been used in any tracked answer. For more on reading tracker data, see our guide to AI visibility tracking.

What can't Peec AI tell you about indexing?

Peec AI can't tell you whether Google has indexed a page. It sees pages only once an AI answer retrieves them. Its docs say get_url_content "Returns a 404 if the URL has never been retrieved by any Peec project. Peec only scrapes URLs that appear as AI sources."

So the pages you most need to check are invisible to the tracker by design:

  • Never-retrieved target pages. Peec AI has no record of them. You supply the target list (a sitemap section, a client's priority pages) and the agent finds the ones with no row in get_url_report.
  • Retrieved isn't indexed. An engine retrieving a page means that engine reached it. It doesn't tell you whether Google has it, and Google's index is what AI Overviews and AI Mode draw on.
  • Bot visits aren't index status. Peec AI's get_agent_visits counts AI bot visits from your access logs. A crawl (a bot visiting the page) isn't the same as being indexed.

FreshlyCited covers the Google side: it checks each URL and reports "Seen by Google" or "Invisible". It doesn't track citations and doesn't check Bing's index. Got a list of target pages Peec AI never shows? Check which ones Google has indexed with the free plan's 100 checks a month.

A Google check answers the question for Google's surfaces only: Google Search, AI Overviews and AI Mode, which draw on Google's index. The other engines a tracker watches work differently. "ChatGPT, Perplexity and other assistants use their own crawlers and search partners. We don't submit to them, and we don't claim to." So for an uncited page in ChatGPT or Perplexity, a Google result tells you about Google, not about them.

How does the Peec AI and FreshlyCited workflow run?

The workflow is one agent run with both servers connected: pull per-URL metrics from Peec AI, find target pages with no retrievals or no citations, check those in FreshlyCited, and push only the ones Google hasn't indexed. Nothing triggers it automatically; you run it on demand or on a schedule.

  1. Pick the project. list_projects, then the client's project_id.
  2. Pull URL metrics. get_url_report for the last 28 days, filtered to the client's domain, with limit raised if needed. Peec AI notes that "Trailing slashes and scheme variations change the resolved source ID", so normalize URLs before you compare them.
  3. Sort target pages into three groups. Cited; retrieved but not cited; and no row at all.
  4. Check indexing for the last two groups. FreshlyCited's check_index with those URLs. A standard check can take a few minutes, so the agent polls get_job_status. Each URL comes back as "Seen by Google" or "Invisible".
  5. Push only the invisible ones. send_unindexed_to_indexer on the finished check starts a push with just the links Google can't see. Or call submit_index_job with smart: true, which checks first and pushes only what Google hasn't seen (how smart push works).
  6. Read the result later. FreshlyCited re-checks on days 1, 3 and 7. get_job_status shows the outcome; share_job_report creates a read-only client report link.

Pages that are "Seen by Google" and retrieved but still not cited need content work, not another push. get_url_content on a competitor URL that does get cited shows what the engine read there. Our guide on getting recommended by AI assistants covers the content side.

Using the API instead. Peec AI's Customer API serves the same URL report at POST https://api.peec.ai/customer/v1/reports/urls, authenticated with an x-api-key header (Peec AI API authentication). FreshlyCited's REST API comes with any pack or Agency plan, so a script can run the same steps without MCP on our side.

How do you set up both servers, per client?

Setup is two commands in Claude Code, or two entries in one config file elsewhere. Both servers default to OAuth, so the first tool call opens a browser sign-in. Our Claude Code guide for FreshlyCited covers scopes, and the FreshlyCited developer docs cover other clients.

Shell
claude mcp add peec-ai --transport http https://api.peec.ai/mcp
claude mcp add --transport http freshlycited https://freshlycited.com/mcp

For a headless run, such as a scheduled job, use tokens instead. Peec AI's personal access tokens are created under API Keys → Personal Access Tokens, with an expiry of Never, 30, 60 or 90 days (Peec AI setup guide). Keep both in environment variables:

Shell
claude mcp add peec-ai --transport http https://api.peec.ai/mcp \
  --header "Authorization: Bearer $PEEC_PAT"
claude mcp add --transport http freshlycited https://freshlycited.com/mcp \
  --header "Authorization: Bearer $FRESHLYCITED_API_KEY"

In VS Code, both go in .vscode/mcp.json; Peec AI documents this format, and so do we in our VS Code setup:

JSON
{
  "servers": {
    "peec-ai": { "type": "http", "url": "https://api.peec.ai/mcp" },
    "freshlycited": { "type": "http", "url": "https://freshlycited.com/mcp" }
  }
}

In Cursor, Peec AI's docs use Cursor Settings → Tools & Integrations → MCP → Add Custom MCP with the server URL and Streamable HTTP; for FreshlyCited, follow the Cursor guide. Peec AI suggests checking the connection by asking "List my Peec AI projects".

Per client. In Peec AI each client is usually a project, and a personal access token acts as your user, so it sees every project you can. Write tools need organization-owner access on the project. In FreshlyCited each client is a workspace: the OAuth consent screen lets you pick the workspace and full or read-only access, and an API key sees only its own workspace and the clients under it. The agent can call list_tenants and pass the client's tenant_id, so credits and results stay separate. See FreshlyCited authentication for key roles.

We checked Peec AI's endpoint on October 17, 2026 with an unauthenticated MCP initialize request. It returned a 401 pointing the client to its OAuth metadata, which is the expected first step of the sign-in:

Shell
curl -s -i https://api.peec.ai/mcp -X POST \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
# HTTP/2 401
# www-authenticate: Bearer error="invalid_token", error_description="Missing Authorization header", resource_metadata="https://api.peec.ai/.well-known/oauth-protected-resource/mcp"

What prompts can you give the agent?

These prompts work with both servers connected. They name the tools so the agent doesn't guess; replace the bracketed parts.

Text
In Peec, run get_url_report for project [Client] for the last 28 days,
filtered to domain [clientsite.com]. Normalize scheme, www and trailing
slashes, then compare with [target-pages.txt]. Group the targets into:
cited, retrieved but not cited, and no row.
Text
Take the "no row" and "retrieved but not cited" pages and run a
FreshlyCited check_index on them in the [Client] workspace. When the
check finishes, use send_unindexed_to_indexer so only the pages Google
can't see are pushed. Summarize Seen by Google vs Invisible.
Text
For the pages that are Seen by Google but not cited, find the URL that
Peec shows with the highest citation_count for the same prompts, and use
get_url_content on it. List what that page covers that ours doesn't.

Peec AI also ships ready-made MCP prompts, such as peec_weekly_pulse and peec_engine_scorecard, which you run as slash commands in Claude (Peec AI MCP prompts). A combined summary might look like this (illustrative, not from a real run):

Target page

Peec AI (28 days)

Google index

Action

yoursite.com/pricing

Cited

Not checked

None

yoursite.com/guides/onboarding

No row

Invisible

Pushed

yoursite.com/features/reports

Retrieved, not cited

Seen by Google

Content review

What are the limits and costs?

The two products are billed separately. As of October 2026:

Peec AI

FreshlyCited

MCP on

Every plan in the pricing table: Starter ($95/month), Pro ($245/month), Advanced ($495/month), Enterprise (custom)

Agency Pro ($199/month) and Agency Scale ($599/month) (API and MCP plans)

API

Ticked from Pro up in the pricing table; the API docs say "currently limited to Enterprise customers"

Full API with any pack or Agency plan; read-only on the free tier

Call limits

MCP: "1,000 calls per minute per user"; API: 200 requests a minute per project

Per-key limits (rate limits)

Usage cost

No per-call MCP charge listed; plans are set by prompts, models and projects

1 check credit per standard check; index credits per push

Peec AI's plan details come from its pricing page, read on October 17, 2026, and the API limits from its API introduction and rate limits pages. The pricing table and API docs disagree on API access, so ask Peec AI which applies to your plan.

On FreshlyCited, an index credit is reserved when you push and used only if the link is indexed; if it's still not indexed after the day-7 re-check, the credit comes back automatically (exclusions apply, such as pages that return an error or carry noindex). Check credits aren't refundable. Pages Google already has are skipped by default, and Refresh anyway sends an updated one for 1 index credit with no credit back. For sites you verify with an IndexNow key (an open "this page changed" notice that Bing and other participating engines accept; Google doesn't use it), pushes are also sent to Bing at no extra cost. Full parameters are in the FreshlyCited MCP tool reference; prices are on our pricing section.

Neither tool can guarantee that Google indexes a page or that an AI engine cites it; citation still depends on quality, relevance and authority. The same workflow runs with Otterly.AI and FreshlyCited and Profound and FreshlyCited, Our comparison of AI visibility trackers covers Peec AI against the rest, and the guide to SEO MCP servers lists other servers worth connecting.

Start with the target pages Peec AI has never seen. Check those URLs free: 10 free links to try, then 100 free checks a month, no card needed.

Rakesh Patel

Written by

Founder & CEO, Space-O Technologies · Founder, TextBolt

Rakesh Patel founded Space-O Technologies in 2010 and leads it as CEO, with 25 years of leadership experience; he has overseen the delivery of more than 3,000 mobile app projects. He is also the founder of TextBolt, a business email-to-SMS service, and the author of "Enterprise Mobility Strategy and Solutions" and "A Guide to Open311". Space-O built FreshlyCited to solve the "shipped but not seen" problem on its own and its clients' sites: pages and links that are live but that Google hasn't looked at yet.

Founded Space-O Technologies in 2010 · 25 years of leadership experience · author of 'Enterprise Mobility Strategy and Solutions' and 'A Guide to Open311'

Written for FreshlyCited, which helps Google and Bing find new and updated pages sooner. About FreshlyCited

FAQ

Questions people ask

Does Peec AI show pages it has never seen?

No. Peec AI only has data for URLs that appeared as AI sources, so you bring the list of target pages and the agent finds the ones with no record.

Which Peec AI plans include MCP?

As of October 2026, Peec AI's pricing table shows MCP on every plan, while its API docs say API access is currently limited to Enterprise customers.

Does a Google check tell me why ChatGPT doesn't cite a page?

No. It tells you whether Google has indexed the page, which matters for Google Search, AI Overviews and AI Mode. ChatGPT and Perplexity use their own crawlers and search partners.

Check my pages free.

See which of your pages Google has indexed, free.