Server data from the Official MCP Registry
Multi-agent literature review: research, peer review, and synthesize grounded reports.
Multi-agent literature review: research, peer review, and synthesize grounded reports.
Valid MCP server (2 strong, 3 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
7 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: OPENROUTER_API_KEY
Environment variable: GITHUB_TOKEN
Environment variable: TAVILY_API_KEY
Environment variable: OPENALEX_API_KEY
Environment variable: ENG_MODEL
Environment variable: RESEARCH_MODEL
Environment variable: JUDGE_MODEL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-ravicha2-lit-review-council": {
"env": {
"ENG_MODEL": "your-eng-model-here",
"JUDGE_MODEL": "your-judge-model-here",
"GITHUB_TOKEN": "your-github-token-here",
"RESEARCH_MODEL": "your-research-model-here",
"TAVILY_API_KEY": "your-tavily-api-key-here",
"OPENALEX_API_KEY": "your-openalex-api-key-here",
"OPENROUTER_API_KEY": "your-openrouter-api-key-here"
},
"args": [
"lit-review-council",
"lit-review-council"
],
"command": "uvx"
}
}
}From the project's GitHub README.

A multi-agent literature review pipeline built with the Google ADK (Agent Development Kit). It coordinates specialized agents to iteratively research sub-topics based on a YAML configuration. For each topic, it searches from academic and practitioner perspectives, evaluates the work through a peer review ensemble, and synthesizes a well-grounded report.
Built as a capstone submission for the Kaggle "AI Agents: Intensive Vibe Coding Capstone".
mcp-name: io.github.Ravicha2/lit-review-council
Literature reviews are suffocating: hundreds of papers, conflicting claims, and no obvious signal in the noise. Andrej Karpathy's LLM Council showed that multi-agent debate surfaces sharper answers than a single prompt. This project takes that insight into the research domain.
LLMs researching complex topics suffer from two problems: lack of diverse grounding and self-preference bias (favoring their own outputs).
This pipeline addresses both:
(Author, Year) or [1] are rejected. Every URL in the final report must exist in the original source references, or the run is retried (up to 2 times). A blog-tier ratio check warns when over 50% of sources are blog/forum tier.Published to PyPI and the MCP Registry. No clone or manual config needed.
The server is listed on the MCP Registry, so installing is a single command. No JSON editing, no config files.
Claude Code:
claude mcp add lit-review-council \
-e OPENROUTER_API_KEY=sk-or-your-key \
-e GITHUB_TOKEN=ghp_your-token \
-e TAVILY_API_KEY=tvly_your-key \
-- uvx lit-review-council
VS Code: Search for "lit-review-council" in the MCP Registry and click Install. Or open the MCP Registry listing and click Install in VS Code.
Any other MCP client: See section 2 below.
Once connected, the lit_review_council_instructions prompt is available to guide any AI agent through the full review workflow.
Add this to your client's MCP server config:
{
"mcpServers": {
"lit-review-council": {
"command": "uvx",
"args": ["lit-review-council"],
"env": {
"OPENROUTER_API_KEY": "sk-or-your-key",
"GITHUB_TOKEN": "ghp_your-token",
"TAVILY_API_KEY": "tvly_your-key",
"OPENALEX_API_KEY": "your-key"
}
}
}
}
| Client | Config path |
|---|---|
| Claude Desktop (Mac) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Win) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | .cursor/mcp.json |
git clone https://github.com/Ravicha2/lit-review-council && cd lit-review-council
cp .env.example .env # fill in your keys
uv run python main.py --config topics.yaml --output okf_output --question "Your Research Question"
| Variable | Purpose | Required |
|---|---|---|
OPENROUTER_API_KEY | LLM access via OpenRouter | Yes |
GITHUB_TOKEN | Practitioner track (GitHub search) | Yes |
TAVILY_API_KEY | Web search across both tracks | Yes |
OPENALEX_API_KEY | Academic track (OpenAlex API) | Yes |
ENG_MODEL | Model for engineer agents | No (default: openrouter/moonshotai/kimi-k2.6) |
RESEARCH_MODEL | Model for research agents | No (default: openrouter/z-ai/glm-5.1) |
JUDGE_MODEL | Model for reviewers & synthesis | No (default: openrouter/deepseek/deepseek-v4-pro) |

The pipeline is organized into four stages, with topics executed across two waves to balance parallelism and sequential dependency.
Not all research topics are independent. Some topics (e.g., foundational concepts like "truth maintenance systems") can be researched in parallel, while others (e.g., "multi-agent coordination using TMS") depend on the synthesized understanding of earlier topics.
The Planner agent reads topics.yaml and partitions topics into:
After Wave 1 completes, the Distiller agent consumes the Wave 1 topic files and produces a compact summary of the foundational findings. This distilled context is injected into every Wave 2 topic's prompt as additional background, ensuring Wave 2 explorers and reporters build on top of verified Wave 1 conclusions rather than starting from scratch.
This prevents redundant searches and improves coherence across the final OKF bundle.
Stage 0 (Orchestration)
├── Planner agent organizes YAML topics into Wave 1 (parallel) and Wave 2 (sequential)
└── Distiller agent summarizes completed Wave 1 topics to provide prior context to Wave 2
Stage 1 (Parallel Fan-out per Topic)
├── Academic Track (SequentialAgent)
│ ├── academic_explorer → searches ArXiv, OpenAlex, Tavily (scholarly domains)
│ └── academic_reporter → writes Researcher report with structured references
└── Practitioner Track (SequentialAgent)
├── practitioner_explorer → searches GitHub, Tavily (engineering domains)
└── practitioner_reporter → writes Engineer report with structured references
Stage 2 (Peer Review Ensemble per Topic)
├── researcher_reviewer → ranks anonymized reports (Researcher perspective)
├── engineer_reviewer → ranks anonymized reports (Engineer perspective)
└── technical_reviewer → ranks anonymized reports (Neutral perspective)
→ Borda-count tally → winning report selected
Stage 3 (Synthesis & Persistence)
├── synthesis agent → condensed final brief with YAML frontmatter
│ → citation validation loop (rejects hallucinated/dangling URLs, retries up to 2x)
└── Writes out to an interconnected Markdown OKF bundle (index.md and topic files)
| Provider | Domains | Used By |
|---|---|---|
| ArXiv API | arxiv.org | Academic explorer |
| OpenAlex API | openalex.org | Academic explorer |
| Tavily (scholarly) | acm.org, ieee.org, springer.com, sciencedirect.com, nature.com, science.org, wiley.com | Academic explorer |
| GitHub API | github.com | Practitioner explorer |
| Tavily (engineering) | github.com, docs.microsoft.com, aws.amazon.com, cloud.google.com, medium.com, dev.to | Practitioner explorer |
All providers use tenacity retry with exponential backoff for 429/5xx errors.
Every reference is classified into one of four tiers:
The synthesis step warns when more than half of cited sources are blog_or_forum tier.
The pipeline runs all stages for each topic, executing them in waves where possible. On completion, it generates an interconnected Markdown bundle (OKF format) in the specified output directory, including an index.md linking to each specific topic file.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.