Skip to main content

research-dispatcher-mcp

A Model Context Protocol (MCP) server that lets any MCP-capable AI agent run one research query across multiple public sources (Hacker News, Reddit, GitHub, Brave Web Search) in parallel, with source-specific query tuning baked in.

PyPI License: MIT

What it does

Exposes 5 MCP tools:

Tool Source Auth
research_hn Hacker News (Algolia) none
research_reddit Reddit site-wide search none (User-Agent only)
research_github GitHub repositories optional GITHUB_TOKEN for higher rate limit
research_brave Brave Web Search requires BRAVE_API_KEY
research_all All of the above in parallel per-source rules apply

Each tool returns JSON: a list of normalized hits with title, url, score/stars, created_at, and source-specific metadata. research_all aggregates into {source: {status, count, items}}.

Why

AI agents that handle "what's the latest on X" tasks need to consult multiple sources but each has its own API, rate limit, and pitfalls. This server encodes those once so the agent calls one tool and gets normalized results.

Install

Requires Python 3.10+.

pip install canola-research-dispatcher-mcp

Configure your agent

Claude Code

Add to your ~/.claude/mcp.json:

{
  "mcpServers": {
    "research-dispatcher": {
      "command": "research-dispatcher-mcp",
      "env": {
        "GITHUB_TOKEN": "ghp_... (optional)",
        "BRAVE_API_KEY": "... (optional)"
      }
    }
  }
}

Restart Claude Code and the 5 research_* tools become available.

Codex CLI / Cursor / other MCP runtimes

Each runtime has its own MCP server registration. The command is always research-dispatcher-mcp.

Quickstart

"What's the latest on MCP server marketplaces?"
→ agent calls research_all(query="MCP server marketplace", limit=10, since_days=30)
→ HN + Reddit + GitHub returned in parallel, agent synthesizes

Environment variables

Variable Default Purpose
GITHUB_TOKEN unset Raises GitHub rate limit from 60/hr to 5000/hr
BRAVE_API_KEY unset Required to enable research_brave; without it the tool returns a "skipped" notice

Limitations

  • No paywall / logged-in content (X/Twitter, LinkedIn, private subreddits).
  • Reddit site-wide search has noticeably weaker recall than subreddit-specific browsing.
  • Brave's free tier is 2000 calls/month; this server does not currently track quota.
  • Source list is fixed in v0.1; add new sources in src/research_dispatcher_mcp/sources.py.

Development

git clone https://github.com/0x67108864/research-dispatcher-mcp.git
cd research-dispatcher-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

Related

License

MIT — see LICENSE.

Author

canola_oil — https://0x67108864.github.io/

Release files for canola-research-dispatcher-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for canola-research-dispatcher-mcp 0.1.0
File Size Uploaded
canola_research_dispatcher_mcp-0.1.0.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for canola-research-dispatcher-mcp 0.1.0
File Interpreter ABI Platform
canola_research_dispatcher_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.3 kB

Release files / canola_research_dispatcher_mcp-0.1.0.tar.gz

Download URL canola_research_dispatcher_mcp-0.1.0.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9296853b07398eba2111f9254a475627e680f8a42aad2084c957f626064e57e2
BLAKE2b-256 checksum
How to use checksums
77422a554ce9270fde4fdc1a27fadff5b1755b2d7410ced3883a223d3fd39f99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 11, 2026.

Transparency log

Release files / canola_research_dispatcher_mcp-0.1.0-py3-none-any.whl

Download URL canola_research_dispatcher_mcp-0.1.0-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e71a84508678dc13b474ec281805c66a8650778c36fcf2e11e3691da8ac23f9d
BLAKE2b-256 checksum
How to use checksums
a254689e5d42f8f3f9a07f0c0531d62e0e334ce3fea6ea1eabd8e4c7f04f00e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page