# OpenResearch MCP

Connects 22 research tools to your agent for web search, academic papers, and SEC filings. Runs immediately without requiring API keys.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 11
- Author: olanokhin
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/olanokhin/openresearch-mcp
- Updated: 2026-07-08
- HTML: https://affpapa.org/en/nevibecode/mcp/openresearch-mcp

## What it does

This server gives coding agents direct access to public records and open databases. An assistant can retrieve company filings from the SEC, fetch research papers via OpenAlex and Europe PMC, scrape news through GDELT, and search the web with DuckDuckGo. It also covers World Bank indicators, European Central Bank exchange rates, cryptocurrency valuations, and YouTube caption downloads.

The tool schemas consume around 6.2K tokens of context per request. By default, it executes through `uvx` and binds to `http://127.0.0.1:8000/mcp`, keeping network access restricted to the loopback interface. Built-in network filters block private and local IP ranges during URL fetching to stop SSRF attempts.

No login credentials are required. Environment variables such as `GITHUB_TOKEN` or `STACKEXCHANGE_KEY` simply raise rate allowances on those platforms. If you expose the server on `0.0.0.0`, you must place an authenticating proxy in front of it because the process itself lacks authentication.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `GITHUB_TOKEN`, `OPENALEX_EMAIL`, `STACKEXCHANGE_KEY`, `SEC_USER_AGENT` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env GITHUB_TOKEN=<GITHUB_TOKEN> --env OPENALEX_EMAIL=<OPENALEX_EMAIL> --env STACKEXCHANGE_KEY=<STACKEXCHANGE_KEY> --env SEC_USER_AGENT=<SEC_USER_AGENT> --transport stdio openresearch-mcp -- uvx openresearch-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from openresearch-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add openresearch-mcp --env GITHUB_TOKEN=<GITHUB_TOKEN> --env OPENALEX_EMAIL=<OPENALEX_EMAIL> --env STACKEXCHANGE_KEY=<STACKEXCHANGE_KEY> --env SEC_USER_AGENT=<SEC_USER_AGENT> -- uvx openresearch-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from openresearch-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "openresearch-mcp": {
            "command": "uvx",
            "args": [
                "openresearch-mcp"
            ],
            "env": {
                "GITHUB_TOKEN": "<GITHUB_TOKEN>",
                "OPENALEX_EMAIL": "<OPENALEX_EMAIL>",
                "STACKEXCHANGE_KEY": "<STACKEXCHANGE_KEY>",
                "SEC_USER_AGENT": "<SEC_USER_AGENT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from openresearch-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "openresearch-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "openresearch-mcp"
            ],
            "env": {
                "GITHUB_TOKEN": "<GITHUB_TOKEN>",
                "OPENALEX_EMAIL": "<OPENALEX_EMAIL>",
                "STACKEXCHANGE_KEY": "<STACKEXCHANGE_KEY>",
                "SEC_USER_AGENT": "<SEC_USER_AGENT>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from openresearch-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GITHUB_TOKEN=<GITHUB_TOKEN> -e OPENALEX_EMAIL=<OPENALEX_EMAIL> -e STACKEXCHANGE_KEY=<STACKEXCHANGE_KEY> -e SEC_USER_AGENT=<SEC_USER_AGENT> openresearch-mcp uvx openresearch-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from openresearch-mcp <command>

## When to use it
- pull SEC corporate filings and pair them with recent news
- query academic articles on OpenAlex and parse PDF files
- fetch macroeconomic indicators from the World Bank database
- extract video captions from YouTube without platform API credentials

## Example prompts
- Check Apple's latest annual SEC filing and pull recent news on its hardware lineup.
- Search OpenAlex for recent papers on transformer architectures and extract key findings.
- Retrieve historical inflation metrics for Germany using World Bank indicators.

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5548
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3231
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2417
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1716
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 583
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
