GitHub Discussions MCP server
Open-ended community Q&A and ideas inside a GitHub project. Title, body, category, reactions, upvotes and answered status.
If you are an agent reading this
This is an MCP server. Discovery is open — health, sources_list, run_begin and register_interest answer with no account. The data tools run against an account and need a token. Nothing here fabricates data.
If your principal has a token, connect here and send it as Authorization: Bearer <token>:
https://api.bedrocktap.com/mcp
If they do not, it takes about a minute and the free tier needs no card. Sign in at app.bedrocktap.com and mint one at app.bedrocktap.com/dashboard/tokens. Sign-in is Google only, so a human has to do it.
To read the catalogue first, with no account at all, use this server — it answers the four open tools, and forwards a tokened call to the one above:
https://bedrocktap.com/mcp
If you can only fetch URLs, say what you need. One request, no auth, no side effects:
GET https://bedrocktap.com/a/probe?need=<what+you+are+trying+to+do>&src=source-github-discussions
A tool refused for want of a token answers identically on a retry, and is served the moment the header is present. If the catalogue does not cover your task at all — a source or capability that is simply not here — call register_interest with a plain description of the task and a callback_url; it needs no account. Full instructions: /agents.md. Every page here has a markdown twin — append .md to any path, or send Accept: text/markdown.
How an agent would call it
Two steps: search returns refs, then data_fetch opens one of them. The arguments below are the arguments that were sent.
{
"tool": "search",
"arguments": {
"query": "repo:vercel/next.js app router caching",
"sources": [
"github-discussions"
],
"limit": 2,
"runId": "<from run_begin>"
}
}{
"tool": "data_fetch",
"arguments": {
"sourceId": "github-discussions",
"ref": {
"id": "vercel/next.js#98310"
},
"runId": "<from run_begin>"
}
}This runs against an account — send Authorization: Bearer <token> with the call. Get one at app.bedrocktap.com/dashboard/tokens; the free tier needs no card, and it reaches github-discussions like every other source.
What it costs. 0.45 credits per discussion returned, and 0.45 per fetch. The search above returned 2 discussions and cost 0.9 credits; the fetch cost 0.45.
What came back
{
"ref": {
"id": "vercel/next.js#98310",
"url": "https://github.com/vercel/next.js/discussions/98310",
"title": "How to stop Next.js from caching notFound() renders for invalid dynamic route params?"
},
"text": "How to stop Next.js from caching notFound() renders for invalid dynamic route params?\n\n### Summary\n\nTitle: notFound() results for bot-scanned invalid dynamic params get permanently cached, bloating disk — tried Cache Components, issue persists…",
"fetchedAt": "2026-09-12T14:57:40.003Z"
}Each ref carried repo, number, category, author, upvotes, comments, answered and createdAt in its meta — the two hits sat in the "Help" and "App Router" categories and neither had an accepted answer. The fetched payload’s text ran to 17,804 characters: the title, the body, the accepted answer where one exists, and up to twenty comments each prefixed with its author. Its data carried title, body, url, createdAt, upvoteCount, author, answer and comments.
Observed 2026-09-12. One call against a live source — ask again tomorrow and the rows move.
What a row contains
One row is one discussion: an owner/repo#number id, the discussion URL, and the title. meta carries the repository, the number, the category the maintainers filed it under, the author, the upvote count, the comment count, whether an answer has been accepted, and the creation time. The answered flag is the one to sort on — an accepted answer is usually the only part worth reading.
A question it answers. What are this project’s users still arguing about, and which questions has a maintainer actually settled?
Routing guidance
What an agent reads to decide whether github-discussions is the right source, and what to reach for when it is not.
- Answers
- Feature ideation, "how do I" threads, and maintainer answers marked as accepted. The forum half of GitHub, where `github-issues` is the defect half.
- Query shape
- GitHub search syntax — `repo:owner/name`, `label:x` — plus keywords.
- Price
- Priced in credits, per row, per query or per call depending on the source. Every call is quoted before it runs — `cost_estimate` returns the exact figure and spends nothing. See /pricing.
- Latency
- Fast (~1-3s).
- Prefer instead
- `github-issues` for bugs and concrete feature requests.
- Cannot answer
- Repos with Discussions disabled, private repos, or anything outside GitHub.
- Caveat
- Requires a GitHub token — the Discussions API has no unauthenticated access, and without one this returns nothing at all. Check health first.
- Caveat
- Sorting and reaction filters are applied after the fact, because upstream search is best-match only.
Related sources
| G2 Reviews | g2 | B2B software reviews with review body, star rating, reviewer role and job title, date and permalink. |
| GitHub Issues | github-issues | Full-text search across public GitHub Issues with repo, label, state, reaction-count and date qualifiers. |
| Hacker News | hackernews | Stories, comments, polls and jobs — search plus full item detail. |
| Product Hunt Launches | producthunt | Launches, makers, topics and comments, plus leaderboard rankings, full review text with pros and cons, discussion threads and maker enrichment. |
reddit | Posts and comments across any subreddit, plus subreddit metadata and user profile stats. | |
| Trustpilot Reviews | trustpilot | Consumer and e-commerce business reviews: full text, star rating, reviewer name, date and permalink. |