Zero-auth multi-source research MCP server — web, GitHub, Hacker News, Stack Overflow, arXiv, Semantic Scholar, YouTube transcripts, and more.
Project description
openresearch-mcp
Zero-auth multi-source research MCP server. Works with Claude Desktop, Cursor, OpenCode, Open WebUI, or any MCP-compatible agent — no API keys required.
Tools
| Tool | Source | Auth |
|---|---|---|
web_search |
DuckDuckGo | None |
read_url |
Any webpage | None |
read_pdf |
Any PDF / arXiv | None |
read_repo |
GitHub public repos | None (set GITHUB_TOKEN for 5k req/hr) |
search_hacker_news |
HN via Algolia API | None |
search_stackoverflow |
Stack Overflow API | None (set STACKEXCHANGE_KEY for higher limits) |
search_semantic_scholar |
Semantic Scholar API | None (set SEMANTIC_SCHOLAR_KEY for 1 req/sec) |
get_youtube_transcript |
YouTube captions | None |
Quickstart
Docker (recommended)
docker run -p 8000:8000 ghcr.io/yourusername/openresearch-mcp
With optional keys for higher limits:
docker run -p 8000:8000 \
-e GITHUB_TOKEN=ghp_... \
-e SEMANTIC_SCHOLAR_KEY=... \
ghcr.io/yourusername/openresearch-mcp
Local
pip install openresearch-mcp
openresearch-mcp
Or with uv:
uvx openresearch-mcp
stdio (for Claude Desktop / Cursor)
MCP_TRANSPORT=stdio openresearch-mcp
Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"openresearch": {
"command": "uvx",
"args": ["openresearch-mcp"],
"env": { "MCP_TRANSPORT": "stdio" }
}
}
}
Connect via HTTP
Point your agent at http://localhost:8000/mcp (Streamable HTTP transport, MCP 1.1+).
Known limitations
- Reddit / Zenodo: block unauthenticated requests — not included in v1
- YouTube: rate-limited by YouTube at scale; works for personal use
- Semantic Scholar: 100 req/5min without key; auto-falls back to DDG snippets on 429
Roadmap
- Reddit OAuth (browser-based, no user key management)
- GitHub Device Flow login
- OpenAlex (zero-auth, 250M+ papers)
- NewsAPI support (optional key)
- PubMed / NCBI (optional key)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openresearch_mcp-0.1.1.tar.gz.
File metadata
- Download URL: openresearch_mcp-0.1.1.tar.gz
- Upload date:
- Size: 111.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
362d02e242ad9d3fb8efef1bcbbb4332198ca830a6b60b6c57856aac72286dd1
|
|
| MD5 |
18c53f4499771331f28b871e5b8c0825
|
|
| BLAKE2b-256 |
7e1d194c87291117ebdb03ea4223f93ccd13a6a723fe24d4ce372d58a700c8f8
|
Provenance
The following attestation bundles were made for openresearch_mcp-0.1.1.tar.gz:
Publisher:
release.yml on olanokhin/openresearch-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openresearch_mcp-0.1.1.tar.gz -
Subject digest:
362d02e242ad9d3fb8efef1bcbbb4332198ca830a6b60b6c57856aac72286dd1 - Sigstore transparency entry: 1901999507
- Sigstore integration time:
-
Permalink:
olanokhin/openresearch-mcp@c2d57c78388e78de01ecb73491284ef618749778 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/olanokhin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c2d57c78388e78de01ecb73491284ef618749778 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openresearch_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: openresearch_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08a8b912077ace38e09b005b4a78f8d42cacabb2e9b6c74662fc4ca3d51f781e
|
|
| MD5 |
f6c632aae6958d3e41ed8d30de986daa
|
|
| BLAKE2b-256 |
332ea90d042c7f535a6eac3bd9d9508b4bd05e53c4c5e30ccec5e1ed5b8afb57
|
Provenance
The following attestation bundles were made for openresearch_mcp-0.1.1-py3-none-any.whl:
Publisher:
release.yml on olanokhin/openresearch-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openresearch_mcp-0.1.1-py3-none-any.whl -
Subject digest:
08a8b912077ace38e09b005b4a78f8d42cacabb2e9b6c74662fc4ca3d51f781e - Sigstore transparency entry: 1901999593
- Sigstore integration time:
-
Permalink:
olanokhin/openresearch-mcp@c2d57c78388e78de01ecb73491284ef618749778 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/olanokhin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c2d57c78388e78de01ecb73491284ef618749778 -
Trigger Event:
push
-
Statement type: