superlenz
Automates high-credibility research with multi-source search and 10+ rounds of cross-verification.
README
<p align="center"> <img src="assets/logo.png" alt="SuperLenz Logo" width="240" /> </p>
SuperLenz
Lenz — from Latin "lenticula" (lens). A super-powered lens that magnifies the truth. SuperLenz searches multiple sources, cross-verifies every claim through 10+ rounds, and delivers only credible, validated research.
High-credibility research automation with multi-source cross-verification (10+ rounds)
A Model Context Protocol (MCP) server that automates research tasks with a focus on credibility and accuracy. It performs automatic searching, collection, cross-verification (10+ rounds), and saves results to your preferred storage.
Features
- Multi-Source Search: Web search (Brave, Exa), academic papers (arXiv, Semantic Scholar), GitHub
- 10-Round Cross-Verification: Keyword overlap matching (rounds 1-4), conflict detection (5-8), optional LLM verification (9-10)
- Credibility Scoring: Authority assessment, temporal validation, source weighting
- Flexible Storage: Markdown (default), JSON
- Plugin Architecture: Extensible storage and search providers
Requirements
- Node.js >= 18.0.0
- Any MCP-compatible client
Environment Variables
SuperLenz reads these from the system environment. If a key is available, the corresponding feature is automatically enabled. No key is strictly required — arXiv search is always available.
| Variable | Required | Description |
|---|---|---|
BRAVE_SEARCH_API_KEY |
No | Brave Search API key |
EXA_API_KEY |
No | Exa Search API key |
SEMANTIC_SCHOLAR_API_KEY |
No | Semantic Scholar API key (improves rate limits) |
GITHUB_TOKEN |
No | GitHub token for repository search |
ANTHROPIC_API_KEY |
No | Enables LLM-based verification (rounds 9-10) |
OUTPUT_PATH |
No | Output directory for saved documents (default: ./output) |
Tip: If your MCP client supports an
"env"field, you can pass keys there instead of setting them system-wide.
MCP Client Configuration
All examples below use npx — no prior installation required.
Claude Desktop
No CLI — edit the JSON config file directly.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"superlenz": {
"command": "npx",
"args": ["-y", "superlenz"]
}
}
}
Claude Code (CLI)
Option A — CLI command:
claude mcp add superlenz -- npx -y superlenz
| Flag | Description |
|---|---|
-s local |
Save to .claude/settings.local.json (default) |
-s user |
Save to ~/.claude/settings.json (all projects) |
-s project |
Save to .mcp.json in the current project root |
-e KEY=val |
Set an environment variable |
-t <transport> |
Transport type: stdio (default), sse, http |
Management commands:
claude mcp list # list registered servers
claude mcp remove superlenz # remove a server
Option B — JSON config:
Edit ~/.claude/settings.json (or .claude/settings.json at the project root):
{
"mcpServers": {
"superlenz": {
"command": "npx",
"args": ["-y", "superlenz"]
}
}
}
Cursor
No CLI "add" command — edit the config file or use the Settings UI.
Open Settings > MCP Servers and add, or edit .cursor/mcp.json (project) / ~/.cursor/mcp.json (global):
{
"mcpServers": {
"superlenz": {
"command": "npx",
"args": ["-y", "superlenz"]
}
}
}
Management commands (in Cursor's terminal):
cursor agent mcp list # list servers
cursor agent mcp enable <id> # enable a server
cursor agent mcp disable <id> # disable a server
VS Code (Copilot)
Option A — CLI command:
code --add-mcp '{
"name": "superlenz",
"command": "npx",
"args": ["-y", "superlenz"]
}'
Option B — JSON config:
Edit .vscode/mcp.json in your workspace. Note: VS Code uses the "servers" key (not "mcpServers").
{
"servers": {
"superlenz": {
"command": "npx",
"args": ["-y", "superlenz"]
}
}
}
Or add to VS Code settings.json under "mcp.servers".
Gemini CLI
Option A — CLI command:
gemini mcp add superlenz npx -y superlenz
Management commands:
gemini mcp list # list registered servers
gemini mcp remove superlenz # remove a server
Option B — JSON config:
Edit ~/.gemini/settings.json:
{
"mcpServers": {
"superlenz": {
"command": "npx",
"args": ["-y", "superlenz"]
}
}
}
MCP Tools
start_research
Start a new research session. Searches multiple sources, cross-verifies claims, generates a document, and saves the result.
| Parameter | Type | Default | Description |
|---|---|---|---|
topic |
string | (required) | Research topic or question |
urls |
string[] | — | Initial URLs to include in research |
depth |
"quick" | "standard" | "deep" |
"standard" |
Verification depth (5 / 10 / 15 rounds) |
storage |
"markdown" | "notion" | "json" | "html" | "confluence" |
"markdown" |
Storage provider for the final document |
template |
"comprehensive" | "executive-summary" | "comparison" | "guide" |
"comprehensive" |
Document template |
search_sources
Search for sources across multiple providers without running a full research pipeline.
| Parameter | Type | Default | Description |
|---|---|---|---|
query |
string | (required) | Search query |
sources |
string[] | ["web", "academic"] |
Providers: web, academic, github, youtube, reddit |
limit |
number | 10 |
Maximum results per source (1-50) |
minRelevance |
number | 0.5 |
Minimum relevance score (0-1) |
get_research_status
Get the current status of a research session.
| Parameter | Type | Default | Description |
|---|---|---|---|
sessionId |
string | (required) | Session ID to check |
list_sessions
List all research sessions with optional filtering.
| Parameter | Type | Default | Description |
|---|---|---|---|
status |
string | — | Filter by status: initializing, searching, collecting, verifying, generating, saving, completed, failed |
limit |
number | 20 |
Max sessions to return (1-100) |
cross_verify
Cross-verify a list of claims against optional source URLs.
| Parameter | Type | Default | Description |
|---|---|---|---|
claims |
string[] | (required) | List of claims to verify |
topic |
string | (required) | Topic context for verification |
sources |
string[] | — | Optional source URLs to check against |
save_to_storage
Save a previously generated research document to a storage provider.
| Parameter | Type | Default | Description |
|---|---|---|---|
sessionId |
string | (required) | Session ID of the research to save |
provider |
"markdown" | "json" |
"markdown" |
Storage provider |
destination |
string | — | Custom file path or name |
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.