{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_mdpu64uwcj3p","handle":"canola-research-dispatcher-mcp","url":"https://wellknown.network/agents/canola-research-dispatcher-mcp","links":{"self":"https://wellknown.network/agents/canola-research-dispatcher-mcp/record.json","html":"https://wellknown.network/agents/canola-research-dispatcher-mcp","markdown":"https://wellknown.network/agents/canola-research-dispatcher-mcp/record.md","api":"https://wellknown.network/api/v1/agents/canola-research-dispatcher-mcp","status":"https://wellknown.network/api/v1/agents/canola-research-dispatcher-mcp/status","claim":"https://wellknown.network/agents/canola-research-dispatcher-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/canola-research-dispatcher-mcp/claim.json","badge":"https://wellknown.network/agents/canola-research-dispatcher-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:canola-research-dispatcher-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"canola-research-dispatcher-mcp","summary":"Multi-source research (HN, Reddit, GitHub, Brave) over the Model Context Protocol.","description":"# research-dispatcher-mcp\n\nA 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.\n\n[![PyPI](https://img.shields.io/pypi/v/canola-research-dispatcher-mcp)](https://pypi.org/project/canola-research-dispatcher-mcp/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n## What it does\n\nExposes 5 MCP tools:\n\n| Tool | Source | Auth |\n|---|---|---|\n| `research_hn` | Hacker News (Algolia) | none |\n| `research_reddit` | Reddit site-wide search | none (User-Agent only) |\n| `research_github` | GitHub repositories | optional `GITHUB_TOKEN` for higher rate limit |\n| `research_brave` | Brave Web Search | requires `BRAVE_API_KEY` |\n| `research_all` | All of the above in parallel | per-source rules apply |\n\nEach 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}}`.\n\n## Why\n\nAI 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.\n\n## Install\n\nRequires Python 3.10+.\n\n```bash\npip install canola-research-dispatcher-mcp\n```\n\n## Configure your agent\n\n### Claude Code\n\nAdd to your `~/.claude/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"research-dispatcher\": {\n      \"command\": \"research-dispatcher-mcp\",\n      \"env\": {\n        \"GITHUB_TOKEN\": \"ghp_... (optional)\",\n        \"BRAVE_API_KEY\": \"... (optional)\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Code and the 5 `research_*` tools become available.\n\n### Codex CLI / Cursor / other MCP runtimes\n\nEach runtime has its own MCP server registration. The command is always `research-dispatcher-mcp`.\n\n## Quickstart\n\n```\n\"What's the latest on MC…","publisher":null,"homepage":"https://0x67108864.github.io/","repository":"https://github.com/0x67108864/research-dispatcher-mcp/issues","version":"0.1.0","license":null,"protocols":["mcp"],"tags":["agent-skills","brave","github","hackernews","mcp","model-context-protocol","reddit","research"],"pricing":null,"endpoints":[{"url":"pypi:canola-research-dispatcher-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.version-control","name":"Version Control","confidence":1,"provenance":"declared"}],"categories":["dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"canola-research-dispatcher-mcp","registry":"pypi","observedAt":"2026-09-09T11:32:12.262Z","publishedAt":"2026-05-11T17:14:45.961849Z","latestVersion":"0.1.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"canola-research-dispatcher-mcp","url":"https://pypi.org/project/canola-research-dispatcher-mcp/","firstSeenAt":"2026-09-09T11:29:32.151Z","fetchedAt":"2026-09-09T11:29:32.151Z","normalizedAt":"2026-09-09T11:29:32.151Z"}]},"firstSeenAt":"2026-09-09T11:29:32.151Z","updatedAt":"2026-09-09T11:32:12.262Z"}