Skip to main content
Glama
m8louist12-boop

Correctover MCP Server

README.md
# 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://m8louist12-boop.github.io"><img src="https://img.shields.io/github/stars/Correctover/mcp-server" alt="Stars"></a>
  <a href="https://m8louist12-boop.github.io"><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`):

```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

```bash
git clone https://m8louist12-boop.github.io
cd mcp-server
go build -o correctover-mcp-server .

# Then in your MCP config:
# "command": "/path/to/correctover-mcp-server"
```

### VS Code Extension

Install the Correctover VS Code extension for a native editor experience:

1. Download the `.vsix` from the [releases page](https://m8louist12-boop.github.io) or build from source
2. In VS Code, press `Ctrl+Shift+P` → `Extensions: Install from VSIX...`
3. Select `correctover-vscode-1.0.0.vsix`
4. Open the Command Palette and run **Correctover: Start MCP Server**
5. Configure API keys in VS Code settings (`correctover.*Key`)
6. Open the **Correctover** sidebar to see the real-time dashboard

**Features:**
- Start/stop/restart the MCP server from the command palette
- Real-time dashboard with health, stats, and provider status
- Status bar indicators
- Configure providers directly in VS Code settings
- Auto-start on launch (configurable)

> Source: [vscode-extension/](vscode-extension/)

## 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_URL` environment variable. Perfect for self-hosted proxies, API gateways, or regional mirrors (e.g. `OPENAI_BASE_URL=https://m8louist12-boop.github.io`).

**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 format
- `model`: Model name or `"auto"` for automatic selection
- `provider`: Force a specific provider
- `temperature`: Sampling temperature
- `max_tokens`: Maximum response tokens
- `system_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

1. **Route** — Selects the best available provider based on priority and health
2. **Execute** — Sends the request to the selected provider
3. **Verify** — Validates the response across 6 dimensions
4. **Heal** — If validation fails: auto-retries with same provider, or fails over to next provider, then re-validates
5. **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

**[→ Sponsor on GitHub](https://m8louist12-boop.github.io)**

## Need Help Integrating?

For team deployments, custom validation rules, or dedicated support:

📧 **hello@correctover.com**

## License

Apache-2.0

---

## Project Map

```
correctover/
├── main.go               # MCP Server 入口
├── go.mod                # Go 模块
├── smithery.yaml         # Smithery 部署
├── glama.json            # Glama.ai 注册
│
├── mcp/                  # MCP 协议实现
├── provider/             # 9 LLM Provider 管理
├── validator/            # 6 维契约验证
├── registry/             # MCP Registry 配置
├── sdk/                  # Python SDK(编译分发版)
├── vscode-extension/     # VS Code Extension
├── web/                  # Web Demo(地球可视化/控制台)
├── video/                # Remotion 品牌宣传视频
├── marketing/            # BD 营销内容(文章/邮件/社媒/GEO)
│   ├── articles/         #   博客文章
│   ├── emails/           #   BD 获客邮件
│   ├── social/           #   社交媒体
│   ├── geo/              #   GEO 优化
│   └── scripts/          #   自动化脚本
├── docs/                 # 技术文档 & API 示例
├── scripts/              # CI/构建脚本
└── .github/workflows/    # GitHub Actions
```

---

<p align="center">
  <strong>Because failover switches. Correctover verifies.™</strong>
</p>