Skip to content
Fenn

MCP server

Connect Fenn to your AI assistant.

Fenn’s hosted MCP server lets Claude, ChatGPT or any MCP client pull your AI-search audit issues, suggested fixes and fix prompts in conversation. Anything that would change your site is queued for a person to approve.

Works today5

Return real data from your account: what to fix on your site, and the prompt to fix it.

audit_issuessuggest_fixesget_fix_promptlist_fix_tasksdraft_fix

Queues for a person2

Never execute. The request is queued for a person, and the tool says so.

execute_fixrequest_publish

Not connected yet8

Measurement and tracking. They answer “not measured yet” and point to the dashboard, where measurement runs.

visibility_reportprompt_detaillist_promptsrank_checkkeyword_gapsbacklinkstrack_prompttrack_keyword

Every tool, and what it does today

The band says what a tool could do to you before you call it; the status says what it does in production right now.

ToolBandTodayWhat it doesReturns
audit_issues

domain

ReadWorks todayThe AI-search readiness issues on a site, highest impact first.Issue count by severity, up to 10 issues, link to the fixes
suggest_fixes

domain

ReadWorks todayThe fixes that apply to a site’s current issues. Proposes; does not write.Suggested fixes with links
get_fix_prompt

domain, fix_id

ReadWorks todayThe self-contained prompt for one fix — the issue, the change, file patterns and the checks that prove it — to hand your developer or an AI coding tool.Ready-to-paste prompt
list_fix_tasks

domain

ReadWorks todayWhich fixes are waiting on a person.Totals and the pending fixes
visibility_report

domain

ReadNot connected yetVisibility per engine for a domain. Run measurements in the dashboard for now.“Not measured yet”, with a link to the dashboard
prompt_detail

domain, prompt

ReadNot connected yetThe answers behind one tracked prompt.“Not measured yet”, with a link to the dashboard
list_prompts

domain

ReadNot connected yetThe prompts tracked for a domain.“Not measured yet”, with a link to the dashboard
rank_check

domain, keyword

ReadNot connected yetSearch rank for a keyword.“Not measured yet”, with a link to the dashboard
keyword_gaps

domain

ReadNot connected yetQuestions where competitors are named and you are not.“Not measured yet”, with a link to the dashboard
backlinks

domain

ReadNot connected yetDomains linking to the site.“Not measured yet”, with a link to the dashboard
draft_fix

domain, fix_id

DraftWorks todayThe prompt for one fix, same as get_fix_prompt. It does not touch a repository.Ready-to-paste prompt
track_prompt

domain, prompt

DraftNot connected yetStart tracking a new prompt. Add prompts in the dashboard for now.“Not measured yet”, with a link to the dashboard
track_keyword

domain, keyword

DraftNot connected yetAdd a keyword to rank tracking.“Not measured yet”, with a link to the dashboard
execute_fix

fix_id

GatedQueues for a personAsks for a fix to be applied. Never executes: a request is queued for a person.“Applying a fix requires a human approval. A request has been queued.” + link
request_publish

—

GatedQueues for a personAsks for something to be published. Never executes: a request is queued for a person.“Publishing requires a human approval. A request has been queued.” + link

Read

No side effects. An assistant can call these freely without asking you first.

Draft

Would change what Fenn tracks or produce a draft. Every call is written to the activity log.

Gated

Never executes on call. The request is queued for a person, and the tool says so, with a link to review it in the dashboard.

Setup

Create an API key in the Fenn dashboard under Settings → MCP & API, then add the connector. Never paste a key into a shared chat; create a second key and revoke it when you’re done.

Claude: custom connector
Settings → Connectors → Add custom connector

  Name:  Fenn
  URL:   https://api.fenn.sh/mcp
  Auth:  Bearer <your API key>

Then, in any chat:
  "Using Fenn, what should I fix first on mydomain.com?"
ChatGPT: MCP server connector
Settings → Connectors → Create → MCP server

  Name:       Fenn
  Server URL: https://api.fenn.sh/mcp
  Auth:       API key (paste the key from your dashboard)

Enable the connector in the composer, then ask in plain
language. No tool names required.
Any other MCP client: JSON config
{
  "mcpServers": {
    "fenn": {
      "type": "http",
      "url": "https://api.fenn.sh/mcp",
      "headers": { "Authorization": "Bearer $FENN_API_KEY" }
    }
  }
}

Keys are created and revoked in the dashboard at app.fenn.sh.

A conversation, end to end

Illustrative, with the Example workspace. The tool responses use the production server’s own wording, shortened.

Claude, with the Fenn connector
you ▸ What should I fix first on yourwebsite.sh?

agent ▸ audit_issues({ domain: "yourwebsite.sh" })

    3 answer-engine issue(s) on https://yourwebsite.sh. The highest-
    impact one is "Publish llms.txt with your key pages".

agent ▸ get_fix_prompt({ domain: "yourwebsite.sh", fix_id: "fx_1" })

    A self-contained prompt: the issue, the change, file patterns for
    App Router, Pages Router and static sites, and the checks that
    prove it worked.

you ▸ Go ahead and apply it.

agent ▸ execute_fix({ fix_id: "fx_1" })

    Applying a fix requires a human approval. A request has been
    queued.

agent ▸ Nothing has changed on your site. I can hand the prompt to
        your coding agent now, or you can approve it in Fenn.

you ▸ How visible are we in ChatGPT?

agent ▸ visibility_report({ domain: "yourwebsite.sh" })

    Visibility has not been measured for this account yet … The
    audit and fix tools work now.

agent ▸ Measurement isn't available over MCP yet. Run one in the
        Fenn dashboard; meanwhile I can work through the fixes.

Accounts start with a demo.

API keys come with an account, and accounts are set up with you on a call. Bring your website; we’ll show you the fixes an assistant could work through first.