Correctover MCP Server
Verifies AI outputs in real-time across 6 dimensions, with automatic retry and failover to ensure correct, complete, and reliable LLM responses before they reach the user's editor.
README
Correctover MCP Server
<p align="center"> <strong>The MCP Reliability Layer for AI</strong><br/> <em>Others deliver messages. We verify the content.</em> </p>
<p align="center"> <a href="#installation"><img src="https://img.shields.io/badge/install-1%20line%20JSON-blue" alt="Install"></a> <a href="https://github.com/Correctover/mcp-server/stargazers"><img src="https://img.shields.io/github/stars/Correctover/mcp-server" alt="Stars"></a> <a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/license-Apache%202.0-green" alt="License"></a> </p>
What is this?
Correctover is the first MCP server that verifies AI outputs in real-time.
While every other MCP server connects your AI tools to data sources, Correctover sits in the execution path and ensures every LLM response is correct, complete, and reliable — before it reaches your editor.
Your AI Tool (Cursor/Claude Desktop/Windsurf)
│
▼
┌─────────────────────────────────┐
│ Correctover MCP Server │
│ │
│ ① Route → picks best provider │
│ ② Execute → calls LLM API │
│ ③ Verify → 6-dim check │ ← This is what nobody else does
│ ④ Heal → auto-fix or failover │
│ ⑤ Deliver → verified output │
│ │
└─────────────────────────────────┘
│
▼
LLM Providers (OpenAI / Anthropic / DeepSeek / ...)
Why you need this
AI APIs don't just fail with HTTP 500. The worst failures are silent:
- Response looks valid but contains hallucinated data
- JSON output is truncated mid-object
- Provider silently degrades output quality over time
- Token usage spikes without warning
Correctover catches all of these. Every response passes through 6-dimension validation:
| Dimension | What it checks |
|---|---|
| Structure | Response has valid choices and non-empty content |
| Schema | Finish reason is valid, output format is complete |
| Latency | Response time within acceptable bounds |
| Cost | Token usage is reasonable (no runaway billing) |
| Identity | Response role is correct (assistant, not system/user) |
| Integrity | No truncation, no broken JSON, no incomplete data |
If validation fails, Correctover automatically retries or fails over to another provider — and validates again. This is not simple retry. This is verified failover.
Failover ≠ Correctover. Failover switches providers. Correctover switches and verifies the output is correct before delivering it.
MCP Protocol Compatibility
This server implements the Model Context Protocol specification version 2025-11-25, using JSON-RPC 2.0 over stdio transport.
The protocol layer uses an adapter pattern — adding new transport types (WebSocket, gRPC) in the future will not affect the core validation engine. We track MCP specification updates closely and test compatibility on every protocol version release.
Supported features:
- ✅ JSON-RPC 2.0 over stdio
- ✅
initialize/tools/list/tools/call/notifications - ✅ Multi-tool support (chat, verify, providers, health)
- 🔜 WebSocket transport (planned)
- 🔜 Streaming tool results (planned)
Installation
One-line JSON config
Add to your MCP client config (e.g., ~/.cursor/mcp.json):
{
"mcpServers": {
"correctover": {
"command": "npx",
"args": ["-y", "correctover-mcp-server"],
"env": {
"OPENAI_API_KEY": "sk-...",
"DEEPSEEK_API_KEY": "sk-...",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
That's it. No servers to deploy. No dependencies to install. No configuration files to manage.
Build from source
git clone https://github.com/Correctover/mcp-server.git
cd mcp-server
go build -o correctover-mcp-server .
# Then in your MCP config:
# "command": "/path/to/correctover-mcp-server"
Supported Providers
Configure providers via environment variables. Only configured providers are active.
| Provider | API Key Env | Base URL Override | Default Model |
|---|---|---|---|
| OpenAI | OPENAI_API_KEY |
OPENAI_BASE_URL |
gpt-4o-mini |
| Anthropic | ANTHROPIC_API_KEY |
ANTHROPIC_BASE_URL |
claude-3-haiku-20240307 |
| DeepSeek | DEEPSEEK_API_KEY |
DEEPSEEK_BASE_URL |
deepseek-chat |
| Moonshot | MOONSHOT_API_KEY |
MOONSHOT_BASE_URL |
moonshot-v1-8k |
| Zhipu AI | ZHIPU_API_KEY |
ZHIPU_BASE_URL |
glm-4-flash |
| Alibaba Qwen | DASHSCOPE_API_KEY |
DASHSCOPE_BASE_URL |
qwen-turbo |
| SiliconFlow | SILICONFLOW_API_KEY |
SILICONFLOW_BASE_URL |
deepseek-ai/DeepSeek-V3 |
| Groq | GROQ_API_KEY |
GROQ_BASE_URL |
llama-3.1-8b-instant |
| Together AI | TOGETHER_API_KEY |
TOGETHER_BASE_URL |
meta-llama/Llama-3-8b-chat-hf |
Proxy/Mirror support: Each provider's base URL can be overridden via
{PROVIDER}_BASE_URLenvironment variable. Perfect for self-hosted proxies, API gateways, or regional mirrors (e.g.OPENAI_BASE_URL=https://your-proxy.com/v1).
BYOK (Bring Your Own Key): Your API keys stay on your machine. Correctover connects directly to providers — no proxy, no middleman, no data leakage.
Tools
chat
Send a chat message with automatic verification and self-healing.
Parameters:
messages(required): Conversation messages in OpenAI formatmodel: Model name or"auto"for automatic selectionprovider: Force a specific providertemperature: Sampling temperaturemax_tokens: Maximum response tokenssystem_prompt: System prompt to prepend
Returns: The LLM response + a validation report showing which dimensions passed/failed.
health
Check which providers are active and ready.
providers
List all supported providers with configuration details.
stats
Show session statistics: total calls, validation pass rate, failover count.
Example Output
Every chat call returns a validation report:
╔══════════════════════════════════════╗
║ Correctover Validation Report ║
╠══════════════════════════════════════╣
║ Provider: deepseek ║
║ Latency: 847ms ║
║ Model: deepseek-chat ║
║ Score: 6/6 ║
║ Passed: true ║
╠══════════════════════════════════════╣
║ ✅ structure PASS ║
║ ✅ schema PASS ║
║ ✅ latency PASS ║
║ ✅ cost PASS ║
║ ✅ identity PASS ║
║ ✅ integrity PASS ║
╠══════════════════════════════════════╣
║ ✓ All dimensions passed ║
╚══════════════════════════════════════╝
How it works
- Route — Selects the best available provider based on priority and health
- Execute — Sends the request to the selected provider
- Verify — Validates the response across 6 dimensions
- Heal — If validation fails: auto-retries with same provider, or fails over to next provider, then re-validates
- Deliver — Returns the verified response with a full validation report
This is the MAPE-K control loop (Monitor-Analyze-Plan-Execute-Knowledge) applied to LLM API reliability, running in real-time at sub-millisecond decision overhead.
Who is this for?
- Developers who use Cursor/Claude Desktop and want more reliable AI responses
- Teams building AI-powered applications who need output guarantees
- Enterprises in regulated industries (finance, legal, healthcare) where AI output errors have real consequences
- Anyone tired of silently wrong AI outputs breaking their workflow
FAQ
Q: How is this different from LiteLLM / OpenRouter? A: They route requests. We route + verify outputs. Think of it as the difference between a delivery service and a delivery service with quality inspection.
Q: Do you store my API keys? A: No. Keys stay on your machine. We connect directly to providers. Zero proxy, zero data collection.
Q: Does this work with Cursor?
A: Yes. Add the JSON config above to ~/.cursor/mcp.json and restart Cursor. Done.
Q: What if I only have one provider? A: Still works. You get 6-dimension validation on every response. Failover kicks in when you add more providers later.
Sponsor
If Correctover saves you from a silent AI failure, consider supporting:
- ☕ $5/month — Thank you + priority issue responses
- 🚀 $29/month — Private Discord + monthly update briefings
- 🏢 $99/month — Enterprise sponsor, logo on README
Need Help Integrating?
For team deployments, custom validation rules, or dedicated support:
📧 hello@correctover.com
License
Apache-2.0
<p align="center"> <strong>Because failover switches. Correctover verifies.™</strong> </p>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.