Optifeed Radar logo

Optifeed Radar

by optifeed

Locally measures how AI engines recommend a brand or product using buyer questions, visibility scoring, competitor comparisons, and cited sources.

Install Optifeed Radar

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "optifeed-optifeed-radar": {
      "command": "npx",
      "args": [
        "-y",
        "optifeed-radar"
      ],
      "env": {
        "OPENAI_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y optifeed-radar

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 1mo ago.

Overview

Optifeed Radar checks AI visibility across ChatGPT, Perplexity, Gemini, and Claude by generating buyer prompts and scoring recommendations, position, and share of voice. It also provides a zero-key website audit covering crawler access, llms.txt, structured data, metadata, and sitemaps. Use it locally when you want to assess AI recommendations with your own provider keys and without an Optifeed-hosted backend.

Use cases

  • Audit a website's AI-readiness without provider API keys
  • Measure whether AI engines recommend a brand in unbranded buyer questions
  • Compare a brand's visibility and share of voice against competitors
  • Review cited sources and engine grounding behavior
  • Run visibility checks from an AI agent through CLI, JSON, or MCP

Key features

  • Zero-key AI-readiness audit
  • Buyer-prompt generation
  • Recommendation, position, and share-of-voice scoring
  • Brand and product checks
  • Competitor comparisons
  • CLI, JSON, and MCP interfaces

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

18/19 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · optifeed-radar (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars5Stargazers on the source repository.
npm downloads342Package downloads in the last 30 days.
Last commit2mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

Optifeed Radar

npm version CI License: MIT Node Glama MCP server skills.sh

Open-source AI visibility checker. Now on npm - run it with npx optifeed-radar.

Is your brand recommended when buyers ask AI? Optifeed Radar checks whether the models behind ChatGPT, Perplexity, Gemini and Claude actually recommend you, and tells you where you stand against competitors. It runs locally, uses your own API keys, and has no Optifeed-hosted backend.

It is built for two kinds of AI agents at once: it measures how AI agents see and recommend you, and it can be run by your own AI agents (CLI, JSON, and an MCP server). People also call this AI visibility, generative engine optimization (GEO), answer engine optimization (AEO), or AI-SEO.

Optifeed Radar AI visibility dashboard and report

60-second setup

No install needed - npx fetches and runs it. The zero-key audit runs end to end with no API keys and no AI calls:

Terminal
npx optifeed-radar audit yourbrand.com

It checks AI-crawler access (robots.txt), llms.txt, schema.org structured data, meta basics, and your sitemap, then prints a 0-100 AI-readiness score.

The check pipeline runs once you set at least one engine API key. Put it in a .env file in the directory you run from, or export it:

bash
echo "OPENAI_API_KEY=sk-..." > .env      # any one engine key gets you started
npx optifeed-radar check yourbrand.com

The CLI loads .env from the directory you run it in, so there is no shell setup step. Exporting the keys works too (export OPENAI_API_KEY=...), and an exported key always wins over the same key in .env. config shows which keys were found and which file they came from, never the values.

It discovers your brand, generates a buyer-prompt pack, asks the engines, and scores recommendation, position, and share of voice into one AI Visibility Score. The score reads only the unbranded buyer questions (did the AI surface you unprompted); questions that name your brand are reported separately as reputation. All four engines are verified live against their production APIs (2026-07-20).

Working from a clone instead? Run npx tsx src/cli/index.ts <command> so flags reach the CLI unchanged, or use the npm run dev script with -- before the arguments (npm run dev -- check yourbrand.com --report out.html).

Install the Agent Skill

Radar also ships as an open Agent Skill for Codex, Claude Code, Cursor, and other compatible AI agents. Install it directly from this repository:

Terminal
npx skills add optifeed/optifeed-radar --skill optifeed-radar

Add -g to make it available across your projects. Then ask, for example:

Use $optifeed-radar to run the free AI-readiness audit on yourbrand.com, explain the three highest-impact findings, and do not start a paid check.

The MCP server supplies executable tools. The Agent Skill supplies the working method around them: start with the zero-key audit, confirm scope and cost before paid engine calls, use a cap, and report sampling limits with the result. The skill can also drive the CLI when MCP is not configured.

Install the Claude Code plugin

The Claude plugin bundles the same skill and starts Radar's MCP server from the published npm package. In Claude Code, run:

text
/plugin marketplace add https://github.com/optifeed/optifeed-radar.git
/plugin install optifeed-radar@optifeed

Restart Claude Code or run /reload-plugins, then invoke /optifeed-radar:optifeed-radar or ask Claude to audit a domain in plain language. Node 20 or newer is required. The free audit needs no provider keys; paid visibility checks use provider keys from Claude Code's environment.

The standalone skill and Claude plugin do not create a public ChatGPT app. ChatGPT support will be marketed separately after Radar is packaged and tested against OpenAI's plugin and MCP distribution route.

See it in action

Run a full visibility check from the terminal, from brand discovery and buyer prompt generation through live engine queries and scoring.

Watch the Optifeed Radar CLI demo

Watch the 15-second CLI demo

What it does

Optifeed Radar asks real AI engines real buyer questions and measures whether your brand gets recommended - not whether you rank in a search index, but whether the answer an AI gives a buyer names you. Grounded engines (which cite web sources) are reported separately from parametric ones (which answer from model weights alone), because they behave differently. An engine counts as grounded only for the answers where it actually searched: asking for grounded mode is a request a model can decline, so the report says when an engine searched on only some of its answers. METHODOLOGY.md has the formula.

The questions match what you sell. If you make your own products, buyers are asked what to buy and you are measured against rival makers. If you are a shop selling other companies' products, buyers are asked where to buy and you are measured against rival shops - product questions get answered with manufacturers, so scoring a shop on them reports a zero that says nothing about the shop. The tool works this out from your site and stores it as businessType in profile.json; edit it if it guessed wrong.

One level down, shopping does the same thing for individual products you name (beta). Each product gets its own 0-100 visibility score, and the report is ordered by what the engines did: any product they answered about but never recommended leads, since that is the finding worth reading, then the rest by visibility, and last anything the run could not measure at all. The order you list your products in carries no ranking meaning; it only breaks ties between identical scores. Each product is checked twice over - category buying questions that never name it, and questions that do - and when a product is absent the report leads with the rival products the engines named instead, which is the more useful half of a zero. Because every product is asked its own questions, the scores say how decisively each one wins its own shelf, not that one product beats another. You name the products; nothing is imported or crawled.

Use it from your AI agents (MCP)

The optifeed-mcp server exposes the same capability to AI agents. It runs over stdio, and npx fetches it on demand - no clone or build needed.

Optifeed Radar running through Claude Desktop via MCP

Claude Desktop (claude_desktop_config.json). The fastest way to open it is Settings -> Developer -> Edit Config, which creates the file if it does not exist yet. On disk it lives at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
config.json
{
  "mcpServers": {
    "optifeed-radar": {
      "command": "npx",
      "args": ["-y", "--package=optifeed-radar", "optifeed-mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

Claude Desktop reads that file at startup, so quit and reopen it after editing.

Claude Code (.mcp.json in your project):

config.json
{
  "mcpServers": {
    "optifeed-radar": {
      "command": "npx",
      "args": ["-y", "--package=optifeed-radar", "optifeed-mcp"]
    }
  }
}

Cursor (.cursor/mcp.json) and Windsurf (mcp_config.json) use the same shape:

config.json
{
  "mcpServers": {
    "optifeed-radar": {
      "command": "npx",
      "args": ["-y", "--package=optifeed-radar", "optifeed-mcp"]
    }
  }
}

Working from a clone instead? Build first (npm install && npm run build), then run the server with node pointed at the built entrypoint - replace /path/to/optifeed-radar with your clone path:

config.json
{
  "mcpServers": {
    "optifeed-radar": {
      "command": "node",
      "args": ["/path/to/optifeed-radar/dist/mcp/index.js"]
    }
  }
}

Example prompts

Once it is connected, ask your AI agent in plain language. These map onto the five tools and the arguments they accept:

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Optifeed Radar

No. The audit runs end to end without API keys or AI calls.

At least one engine API key is required. Keys can be exported or placed in a .env file.

It checks ChatGPT, Perplexity, Gemini, and Claude.

No. It runs locally and uses your own API keys.

It checks AI-crawler access through robots.txt, llms.txt, schema.org structured data, metadata basics, and the sitemap.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOptifeed Radar AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/optifeed-optifeed-radar?style=directory)](https://allmcps.com/mcp/optifeed-optifeed-radar)
HTML Embed
<a href="https://allmcps.com/mcp/optifeed-optifeed-radar"><img src="https://allmcps.com/api/badge/optifeed-optifeed-radar?style=directory" alt="Optifeed Radar on AllMCPs" /></a>