AI Evaluator Server
FreeNot checkedA comprehensive framework for evaluating AI responses using Inspect AI and Petri-style behavioral assessment patterns. Built as an MCP server for real-time eval
About
A comprehensive framework for evaluating AI responses using Inspect AI and Petri-style behavioral assessment patterns. Built as an MCP server for real-time evaluation during AI development.
README
A comprehensive framework for evaluating AI responses using Inspect AI and Petri-style behavioral assessment patterns. Built as an MCP (Model Context Protocol) server for real-time evaluation during AI development.
Features
- Hallucination Detection - Catches unfounded claims and fabricated data
- Tool Consistency - Verifies AI didn't claim tool results without calling tools
- Context Consistency - Detects contradictions with earlier conversation
- Confidence Calibration - Flags overconfident claims without evidence
- Multi-Dimensional Scoring - Petri-style evaluation across 6 dimensions
- Session Tracking - Compare responses across models, prompts, or sessions
- Context Accumulation - Automatic context management with smart compaction
Project Structure
eval/
├── src/
│ └── eval_framework/
│ ├── __init__.py # Package exports
│ ├── cli.py # Command-line interface
│ │
│ ├── config/ # Configuration
│ │ ├── __init__.py
│ │ └── settings.py # Settings and environment config
│ │
│ ├── core/ # Core evaluation logic
│ │ ├── __init__.py
│ │ ├── evaluator.py # Main ResponseEvaluator class
│ │ ├── judge.py # Petri-style multi-dimensional judge
│ │ └── scorers.py # Inspect AI custom scorers
│ │
│ ├── models/ # Data models
│ │ ├── __init__.py
│ │ └── evaluation.py # Dataclasses for results
│ │
│ ├── server/ # MCP Server
│ │ ├── __init__.py
│ │ ├── app.py # Server application
│ │ ├── handlers.py # Tool handlers
│ │ ├── session.py # Session state management
│ │ └── tools.py # MCP tool definitions
│ │
│ └── utils/ # Utilities
│ ├── __init__.py
│ ├── context.py # Context accumulation/compaction
│ ├── helpers.py # Helper functions
│ └── storage.py # SQLite persistence
│
├── tests/ # Test suite
│ ├── __init__.py
│ ├── test_evaluator.py
│ └── test_context.py
│
├── pyproject.toml # Project configuration
├── setup.py # Package setup
├── requirements.txt # Dependencies
└── README.md # This file
Quick Start
1. Install
# Clone the repository
cd eval
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install in development mode
pip install -e ".[dev]"
2. Configure
# Create .env file
echo "ANTHROPIC_API_KEY=your-key-here" > .env
3. Run the MCP Server
# Using the CLI
eval-server
# Or directly
python -m eval_framework.server.app
4. Connect from Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ai-evaluator": {
"command": "python",
"args": ["-m", "eval_framework.server.app"],
"cwd": "/path/to/eval"
}
}
}
Usage
MCP Tools Available
| Tool | Description |
|---|---|
evaluate_response |
Comprehensive evaluation of AI responses |
check_hallucinations |
Quick hallucination detection |
verify_tool_consistency |
Check tool usage matches claims |
compare_model_responses |
Compare multiple model responses |
get_session_report |
Generate session statistics |
start_evaluation_session |
Start a new tracking session |
get_context_stats |
View context accumulation stats |
clear_context |
Clear accumulated context |
Example: Evaluate a Response
{
"tool": "evaluate_response",
"arguments": {
"response": "I checked the database and found user #123 has 3 orders.",
"context": "User asked about order status",
"tools_available": ["database", "api"],
"tools_used": []
}
}
Python API
from eval_framework import ResponseEvaluator, PetriJudge
# Create evaluator
evaluator = ResponseEvaluator()
# Evaluate a response
result = await evaluator.evaluate_comprehensive(
response="The answer is 42",
context="What is the meaning of life?",
tools_available=["calculator"],
tools_used=["calculator"]
)
print(f"Score: {result['overall_score']}")
print(f"Hallucinations: {result['hallucinations']}")
Evaluation Dimensions
The Petri-style judge evaluates responses across 6 dimensions:
- Truthfulness - Are claims verifiable and accurate?
- Tool Reliability - Does response match actual tool usage?
- Consistency - Aligns with prior context? No contradictions?
- Appropriateness - Relevant and on-topic?
- Safety - Avoids harmful content?
- Calibration - Confidence matches evidence?
Configuration
Environment Variables
# Required
ANTHROPIC_API_KEY=sk-ant-...
# Optional
JUDGE_MODEL=anthropic/claude-sonnet-4-5-20250929
PETRI_JUDGE_MODEL=claude-opus-4-1-20250805
PASS_THRESHOLD=0.7
MAX_HISTORY_ITEMS=20
MAX_CONTEXT_CHARS=15000
Programmatic Configuration
from eval_framework.config import Settings, ContextConfig
settings = Settings(
context=ContextConfig(
max_history_items=30,
max_context_chars=20000,
)
)
Development
Run Tests
pytest tests/ -v
Code Formatting
black src/ tests/
ruff check src/ tests/
Type Checking
mypy src/
Architecture
┌─────────────────────────────────────────────────────────┐
│ Your AI Application │
└────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ AI Evaluator MCP Server │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Inspect AI │ │ Petri Judge │ │ Context │ │
│ │ Framework │ │ (6 dims) │ │ Manager │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Scorers │ │ Storage │ │ Session │ │
│ │ (Custom) │ │ (SQLite) │ │ State │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
Built With
- Inspect AI - UK AISI evaluation framework
- Petri - Anthropic's behavioral assessment patterns
- MCP Protocol - Model Context Protocol
License
MIT License - use freely in your development workflow
Install AI Evaluator Server in Claude Desktop, Claude Code & Cursor
unyly install ai-evaluator-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add ai-evaluator-mcp-server -- uvx evalFAQ
Is AI Evaluator Server MCP free?
Yes, AI Evaluator Server MCP is free — one-click install via Unyly at no cost.
Does AI Evaluator Server need an API key?
No, AI Evaluator Server runs without API keys or environment variables.
Is AI Evaluator Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install AI Evaluator Server in Claude Desktop, Claude Code or Cursor?
Open AI Evaluator Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare AI Evaluator Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
