Sign inSign up

joly0/gptr-mcp

By joly0

•Updated 8 days ago

MCP server for GPT Researcher: deep web research with cited sources for AI assistants

Image
0

1.6K

joly0/gptr-mcp repository overview

⁠GPT Researcher MCP Server

An MCP⁠ server that gives AI assistants (Claude, Cursor, and any other MCP client) deep web research through GPT Researcher⁠. Instead of returning raw search results, it explores and validates many sources and hands back focused, cited research context or a full report.

This image is built from Joly0/gptr-mcp⁠ (branch combined), a fork of the official assafelovic/gptr-mcp⁠ that adds:

  • Streamable HTTP transport at /mcp, replacing the deprecated SSE transport
  • Smaller multi-stage image with optional extra pip packages at startup
  • gpt-researcher 0.16 on Python 3.12, including the new context filter⁠

⁠Quick start

docker run -d --name gptr-mcp -p 8000:8000 \
  -e OPENAI_API_KEY=your-openai-key \
  -e TAVILY_API_KEY=your-tavily-key \
  joly0/gptr-mcp:latest

Then point your MCP client at http://<host>:8000/mcp, for example in Claude Code:

claude mcp add --transport http gptr-mcp http://<host>:8000/mcp

A health check is available at http://<host>:8000/health.

⁠Tools

ToolWhat it does
deep_researchFull web research on a query; returns the research context, sources and a research_id
quick_searchFast web search returning results with snippets
write_reportWrites a report from a previous research_id, with an optional custom prompt
get_research_sourcesReturns the sources of a previous research
get_research_contextReturns the full context of a previous research

It also exposes a research://{topic} resource and a research_query prompt.

⁠Environment variables

VariableRequiredDescription
OPENAI_API_KEYyesAPI key for the LLM provider
TAVILY_API_KEYyes (default retriever)API key for Tavily web search
CONTEXT_FILTERnoHow scraped passages are selected: auto (default), jev, keyword, embeddings or none
TYPESAFE_API_KEYnoEnables the Jev usefulness filter when CONTEXT_FILTER=auto; without it, local keyword ranking is used
EXTRA_PIP_PACKAGESnoComma-separated pip packages installed at container start, e.g. for retrievers with extra dependencies

All other GPT Researcher settings⁠ (STRATEGIC_LLM, SMART_LLM, RETRIEVER, MAX_ITERATIONS, ...) can be passed as environment variables as well. Inside Docker the server always uses the streamable HTTP transport on port 8000.

⁠Tags

  • latest: newest build
  • gptr-<version>: pinned to the bundled gpt-researcher version, e.g. gptr-0.16.1

⁠Building it yourself

git clone -b combined https://github.com/Joly0/gptr-mcp.git
cd gptr-mcp
docker build -t gptr-mcp .

Build arguments: BUILD_FROM_SOURCE=true installs gpt-researcher from GitHub instead of PyPI, with GPT_RESEARCHER_OWNER (default assafelovic) and GPT_RESEARCHER_REF (default main) choosing the repository and branch.

⁠License

MIT, see the repository⁠.

Tag summary

Content type

Image

Digest

sha256:8236aa477…

Size

634.8 MB

Last updated

8 days ago

docker pull joly0/gptr-mcp