Aurelius
A fact-checked research MCP server that screens topics, drafts outlines, searches the web, and verifies every citation against live sources, eliminating hallucinated references.
README
Aurelius
A fact-checked research MCP server. Aurelius gives any MCP-capable app — Claude (Desktop / Code / claude.ai), Gemini CLI, Cursor, and (via a remote deployment) ChatGPT — a set of research tools that verify every citation and claim against live web sources before presenting it. No more hallucinated papers.
Aurelius grew out of a multi-agent research framework and distills its best idea into a portable tool server: screen a topic → draft → fact-check → revise.
Why this design solves the "API cost" problem
By default Aurelius runs in host-driven mode: the app you connect it to (Claude, Gemini, etc.) uses its own model to reason and write, and Aurelius just supplies the research and fact-checking tools. That means Aurelius needs no LLM API key of its own — the tokens are covered by your existing Claude/Gemini/ChatGPT subscription. The only optional key is Tavily for web search (free tier available).
There's also an optional autonomous mode (autonomous_research / aurelius-research)
where Aurelius drives its own LLM — that one needs an LLM API key with quota.
Install
pip install aurelius-mcp
The bare name
aureliuswas already taken on PyPI, so the package ships asaurelius-mcp. The import name (import aurelius) and the CLI command (aurelius) are unchanged.
This provides two commands:
aurelius— launch the MCP server (stdio). This is what MCP clients run.aurelius-research "<topic>"— run one autonomous research job from the terminal.
If
aureliusisn't found (the pip scripts dir may not be on your PATH — common on Windows), use the equivalent module form anywhere acommandis expected:"command": "python", "args": ["-m", "aurelius"].
Get a Tavily key (for web search / verification)
Create a free key at https://tavily.com and expose it as TAVILY_API_KEY (see the config
snippets below, which inject it into the server's environment).
Connect it to your app (local / stdio)
Claude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"aurelius": {
"command": "aurelius",
"env": { "TAVILY_API_KEY": "tvly-your-key" }
}
}
}
Restart Claude Desktop. See examples/claude_desktop_config.json.
Claude Code
claude mcp add aurelius --env TAVILY_API_KEY=tvly-your-key -- aurelius
Cursor
Add to ~/.cursor/mcp.json (or the project .cursor/mcp.json):
{
"mcpServers": {
"aurelius": { "command": "aurelius", "env": { "TAVILY_API_KEY": "tvly-your-key" } }
}
}
Gemini CLI
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"aurelius": { "command": "aurelius", "env": { "TAVILY_API_KEY": "tvly-your-key" } }
}
}
Then just ask: "Use Aurelius to research the historical correlation between GDP growth and unemployment, and verify every citation."
Tools
| Tool | What it does | Needs |
|---|---|---|
screen_topic(topic) |
Screen a topic against the restricted-domain policy | — |
get_research_policy() |
Return the accept/reject policy | — |
draft_outline(topic) |
Standard academic outline scaffold | — |
web_search(query, …) |
Search the web for evidence | Tavily key |
verify_citation(citation) |
Check a citation exists in reputable sources | Tavily key |
save_draft(content) |
Save the Markdown draft | — |
save_report(content) |
Save the verification report | — |
autonomous_research(topic, model, …) |
Run the whole loop itself | LLM key |
Outputs are written to ./aurelius_output/ (override with AURELIUS_OUTPUT_DIR).
The Claude skill
skill/aurelius/SKILL.md teaches a host model the exact
screen → draft → verify → save workflow. Drop it into your Claude Code/Agent skills so the
model uses the tools rigorously.
Autonomous mode (optional, needs an LLM key)
export OPENAI_API_KEY=sk-... # or ANTHROPIC_API_KEY / GOOGLE_API_KEY
export TAVILY_API_KEY=tvly-...
aurelius-research "Health effects of microplastics in drinking water" --model gpt-4o-mini-2024-07-18 --rounds 2
Provider is auto-detected from the model name (gpt-* → OpenAI, claude-* → Anthropic,
gemini-* → Google).
Platform support (honest status)
| Platform | Status |
|---|---|
| Claude Desktop / Code | ✅ Local stdio |
| Gemini CLI, Cursor | ✅ Local stdio |
| ChatGPT | ⚠️ Needs a remote (HTTP/SSE) deployment — on the roadmap |
| Perplexity | ❌ No user-added MCP servers yet |
License
MIT
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.