GPT ResearcherSAFE
MCP server for enabling LLM applications to perform deep research via the MCP protocol
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://gptr.dev) [](https://docs.gptr.dev/docs/gpt-researcher/mcp-server/getting-started) [](https://discord.gg/QgZXvJAccX)
Why GPT Researcher MCP?
While LLM apps can access web search tools with MCP, GPT Researcher MCP delivers deep research results. Standard search tools return raw results requiring manual filtering, often containing irrelevant sources and wasting context window space.
GPT Researcher autonomously explores and validates numerous sources, focusing only on relevant, trusted and up-to-date information. Though slightly slower than standard search (~30 seconds wait), it delivers:
- ✨ Higher quality information
- 📊 Optimized context usage
- 🔎 Comprehensive results
- 🧠 Better reasoning for LLMs
💻 Claude Desktop Demo
https://github.com/user-attachments/assets/ef97eea5-a409-42b9-8f6d-b82ab16c52a8
🚀 Quick Start with Claude Desktop
Want to use this with Claude Desktop right away? Here's the fastest path:
- Install dependencies:
git clone https://github.com/assafelovic/gptr-mcp.git pip install -r requirements.txt
- Set up your Claude Desktop config at
~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gptr-mcp": {
"command": "python",
"args": ["/absolute/path/to/gpt-researcher/gptr-mcp/server.py"],
"env": {
"OPENAI_API_KEY": "yo624111c438b7OBSERVED · 2026-10-02Exposed tools (5)
4 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
deep_research | read | |
get_research_context | read | |
get_research_sources | read | |
quick_search | read | |
write_report | write |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (3)
gpt-researcher, python-dotenv, fastmcp, fastapi, uvicorn, pydantic, loguru, httpx
Claude Desktop launches your MCP server as a separate subprocess, so you **must** explicitly pass your API keys in the configuration. The server cannot access your shell's environment variables or `.e
2. **MCP Communication**: Use the session ID to send MCP messages to http://localhost:8000/messages/?session_id=YOUR_SESSION_ID
Gates applied: no_behavioural_pass.
624111c438b7full audit observations/trust-audit/mcp-server/assafelovic__gpt-researcher.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-02 | 624111c438b7 | SAFE | B | 89 | first audit |
Questions
What is the GPT Researcher MCP server?
MCP server for enabling LLM applications to perform deep research via the MCP protocol
What tools does GPT Researcher expose?
5 in total: 4 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is GPT Researcher safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does GPT Researcher need?
It reads OPENAI_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does GPT Researcher run?
It speaks sse, stdio and streamable-http, so it runs as a local process your client starts.
How current is this page?
The grade is for one exact copy of the source (624111c438b7), read on 2026-10-02. The repository is watched and re-audited when it changes.