research-mcp

research-mcp

MCP server that searches 9 sources, scrapes full content, reranks results, and synthesizes cited answers with free LLMs.

Category
Visit Server

README

research-mcp

One MCP server + OpenAI plugin that searches 9 sources, scrapes full content, reranks, and synthesizes a cited answer with a free LLM.

Sources (9)

Source Default? Auth Notes
Firecrawl (your fork) FIRECRAWL_API_URL + optional FIRECRAWL_API_KEY Calls POST /v1/search
GitHub Trending none HTML scrape, no key
arXiv none Official arxiv lib
Tavily TAVILY_API_KEY Primary fallback scraper, 1k/mo free
OSS Insight none Trending repos, free API
dev.to none Public API
libhunt ❌ opt-in none HTML scrape
X.com (Twitter) ❌ opt-in TWITTERAPI_IO_KEY No free public X API
Google SERP ❌ opt-in SERPER_API_KEY or SERPAPI_API_KEY No free public SERP API

Free LLM & reranker

  • Summarizer: Groq (llama-3.3-70b-versatile, free) → Gemini 2.0 Flash → OpenRouter free → extractive fallback
  • Reranker: Cohere rerank-english-v3.0 (1k/mo free) → Jina v2 → local term-overlap
  • Scraper: Firecrawl → Tavily extract → Jina Reader (r.jina.ai, no key)

Install

cd research-mcp
pip install -e .
cp .env.example .env
# fill in whichever keys you have; the rest are optional

Run the MCP (stdio, for Claude Desktop / goose)

python -m mcp_server

Add to your Claude Desktop config:

{
  "mcpServers": {
    "research": {
      "command": "python",
      "args": ["-m", "mcp_server"],
      "cwd": "C:\\Users\\kevin\\research-mcp"
    }
  }
}

Run the OpenAI plugin shim (HTTPS)

python -m openai_plugin.app
# then serve over HTTPS via Caddy/Nginx and point ChatGPT at
# https://your.host/.well-known/openai-plugin.json

Tools exposed

Tool Purpose
research(query, sources?, max_results?, style?) End-to-end: search → scrape → rerank → summarize
search_all(query, sources?, max_results?) Search only, no LLM
scrape_url(url, method?) Single URL scrape
rerank_docs(query, docs, model?) Rerank a list of strings
summarize_docs(docs, query, style?, model?) Final synthesis

Smoke test (no keys required)

python tests/smoke.py

Runs arxiv → local rerank → extractive summary. Proves the pipeline is wired correctly without spending any free-tier quota.

Docker

docker compose --profile mcp up --build       # MCP over stdio
docker compose --profile plugin up --build    # OpenAI plugin on :8000

Layout

mcp_server/
  server.py                # fastmcp entry
  config.py                # env-driven settings
  adapters/                # one file per source, normalized SearchResult
  tools/
    search.py              # fan-out + dedupe
    scrape.py              # Firecrawl / Tavily / Jina
    rerank.py              # Cohere / Jina / local
    summarize.py           # Groq / Gemini / OpenRouter
openai_plugin/
  app.py                   # FastAPI shim re-exporting the same tools
  manifest.json
tests/smoke.py
Dockerfile, docker-compose.yml

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured