MCP server exposing OptiQra's website audit tools: SEO, GEO, AEO, and AI-generated fixes.
An MCP (Model Context Protocol) server that exposes every tool in OptiQra's API to MCP-compatible AI clients (Claude Desktop, Claude Code, Cursor, etc.).
OptiQra has four HTTP endpoints. This server wraps all four as MCP tools:
| Tool | OptiQra endpoint | What it does |
|---|---|---|
optiqra_analyze | POST /api/analyze | Crawls a URL and runs the full SEO/GEO/AEO/perf/a11y/security audit |
optiqra_ai_fix | POST /api/ai-fix | Generates an AI-written fix for one issue from a report |
optiqra_ai_insights | POST /api/ai-insights | Generates a site-wide AI strategy summary across a full report |
optiqra_ai_test | POST /api/ai-test | Verifies a provider/API key/model combo works before using the two above |
By default it talks to the public demo, https://optiqra.vercel.app. Point
it at your own deployment (see OptiQra's own DEPLOYMENT.md/Docker setup)
with an env var — see below.
npm install
(or, once published, npm install -g optiqra-mcp / run directly with npx optiqra-mcp)
| Variable | Required | Purpose |
|---|---|---|
OPTIQRA_BASE_URL | No | Base URL of the OptiQra instance to call. Defaults to https://optiqra.vercel.app. |
OPTIQRA_PROVIDER_API_KEY | No | A default AI-provider API key used by optiqra_ai_fix/optiqra_ai_insights/optiqra_ai_test if the model doesn't pass one. Recommended over letting the model handle the key in plaintext. |
OPTIQRA_TIMEOUT_MS | No | Request timeout in ms. Defaults to 120000 (full-site crawls can be slow). |
node src/index.js
It speaks MCP over stdio, so you won't see anything happen — it's waiting for an MCP client to connect.
Add to your MCP config (claude_desktop_config.json, or via claude mcp add
for Claude Code):
{
"mcpServers": {
"optiqra": {
"command": "node",
"args": ["/absolute/path/to/optiqra-mcp/src/index.js"],
"env": {
"OPTIQRA_BASE_URL": "https://optiqra.vercel.app",
"OPTIQRA_PROVIDER_API_KEY": "sk-..."
}
}
}
}
Any other MCP-compatible client (Cursor, Windsurf, etc.) uses the same
`command`/`args`/`env` shape — check that client's docs for where the config
file lives.
## Notes on the AI-key tools
`optiqra_ai_fix`, `optiqra_ai_insights`, and `optiqra_ai_test` all need a
provider API key, exactly like pasting one into OptiQra's own UI — OptiQra's
server forwards it straight to the provider (OpenAI, Anthropic, Google, Groq,
OpenRouter, Mistral, DeepSeek, or xAI) and never stores it. This server does
the same: it never persists keys. Prefer setting `OPTIQRA_PROVIDER_API_KEY`
in your MCP client's env config over having the model pass a key through
chat.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y optiqra-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-armin5872-optiqra-mcp": {
"command": "npx",
"args": [
"-y",
"optiqra-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceio.github.armin5872/optiqra-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.