github-rag-mcp
Advanced tools
+1
-1
@@ -45,3 +45,3 @@ { | ||
| "name": "search", | ||
| "description": "Unified search across GitHub issues, PRs, releases, docs, GitHub Wiki pages, commit diffs, issue/PR top-level comments, PR reviews, and PR inline review comments. Three modes selected via query/sort axes: (1) hybrid semantic search (dense BGE-M3 + sparse BM25 fused via RRF + cross-encoder rerank), (2) time-ordered activity scan (empty query + sort), (3) doc/wiki content fetch (include_content=true inlines raw markup for top doc and wiki_doc results). Structured filters: repo, state, labels, milestone, assignee, type (issue / pull_request / release / doc / wiki_doc / diff / issue_comment / pr_review / pr_review_comment)." | ||
| "description": "Unified search across GitHub issues, PRs, releases, docs, GitHub Wiki pages, commit diffs, issue/PR top-level comments, PR reviews, and PR inline review comments. Four modes derived from the parameter set: (1) hybrid semantic search (dense BGE-M3 + sparse BM25 fused via RRF + cross-encoder rerank), (2) time-ordered activity scan (empty query + sort), (3) doc/wiki content fetch (include_content=true inlines raw markup for top doc and wiki_doc results), (4) stored-content fetch (vector_ids returns the body text the index holds for the named rows, any type, no GitHub API call, truncated at the 8000-character ingest ceiling). Structured filters: repo, state, labels, milestone, assignee, type (issue / pull_request / release / doc / wiki_doc / diff / issue_comment / pr_review / pr_review_comment)." | ||
| } | ||
@@ -48,0 +48,0 @@ ], |
+1
-1
| { | ||
| "name": "github-rag-mcp", | ||
| "version": "0.10.1", | ||
| "version": "0.10.2", | ||
| "description": "MCP server for semantic search of GitHub issues/PRs via Cloudflare Worker", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+1
-1
@@ -110,3 +110,3 @@ # github-rag-mcp | ||
| |---|---| | ||
| | `search` | Unified search across GitHub issues, pull requests, releases, repository documentation, **GitHub Wiki pages**, commit diffs, and comment / review surfaces. Three modes are selected by the combination of `query` and `sort`: (1) **hybrid semantic search** — dense BGE-M3 over Vectorize + sparse BM25 over D1 FTS5, fused via RRF, then re-scored with the `bge-reranker-base` cross-encoder; (2) **time-ordered activity scan** — leave `query` empty and set `sort` to `updated_desc` / `created_desc`, optionally narrowed with `since` / `until`; (3) **doc / wiki content fetch** — set `include_content: true` to inline raw markup on top `doc` and `wiki_doc` rows. Structured filters (`repo`, `state`, `labels`, `milestone`, `assignee`, `type`, `top_k`, `fusion`, `rerank`) apply in every mode. Search mode also accepts an opt-in `graph_expand` (with `graph_hops`, 1 or 2) that performs a GraphRAG expansion over the Decision-Structure mention graph and appends related wiki entries; it is off by default. | | ||
| | `search` | Unified search across GitHub issues, pull requests, releases, repository documentation, **GitHub Wiki pages**, commit diffs, and comment / review surfaces. Four modes are selected by the parameter set: (1) **hybrid semantic search** — dense BGE-M3 over Vectorize + sparse BM25 over D1 FTS5, fused via RRF, then re-scored with the `bge-reranker-base` cross-encoder; (2) **time-ordered activity scan** — leave `query` empty and set `sort` to `updated_desc` / `created_desc`, optionally narrowed with `since` / `until`; (3) **doc / wiki content fetch** — set `include_content: true` to inline raw markup on top `doc` and `wiki_doc` rows; (4) **stored-content fetch** — pass `vector_ids` (the `vector_id` values carried by earlier results) to read back the body text the index holds for those exact rows, for every type and with no GitHub API call. That text is the indexed copy, truncated at the 8000-character ingest ceiling, so each row carries `content_truncated`; unknown ids land in `not_found` and the rest still return. Structured filters (`repo`, `state`, `labels`, `milestone`, `assignee`, `type`, `top_k`, `fusion`, `rerank`) apply in every mode except stored-content fetch, where the rows are named rather than selected. Search mode also accepts an opt-in `graph_expand` (with `graph_hops`, 1 or 2) that performs a GraphRAG expansion over the Decision-Structure mention graph and appends related wiki entries; it is off by default. | | ||
@@ -113,0 +113,0 @@ The `type` filter accepts: `issue`, `pull_request`, `release`, `doc`, `wiki_doc`, `diff`, `issue_comment`, `pr_review`, `pr_review_comment`, or `all` (default). |
+28
-3
@@ -20,3 +20,3 @@ /** | ||
| "GitHub Wiki pages, commit diffs, issue/PR top-level comments, PR reviews, and " + | ||
| "PR inline review comments. Three modes: " + | ||
| "PR inline review comments. Four modes, all derived from the parameter set: " + | ||
| "(1) hybrid semantic search — dense BGE-M3 + sparse BM25 over D1 FTS5 fused via RRF, then re-scored " + | ||
@@ -26,4 +26,7 @@ "by @cf/baai/bge-reranker-base (toggle with rerank: false); " + | ||
| "optionally narrow via since / until; " + | ||
| "(3) doc content fetch — include_content: true inlines raw content on top doc and wiki_doc results. " + | ||
| "Structured filters (repo, state, labels, milestone, assignee, type) apply across all modes; " + | ||
| "(3) doc content fetch — include_content: true inlines raw content on top doc and wiki_doc results; " + | ||
| "(4) stored-content fetch — vector_ids reads back the body text the index holds for the named rows, " + | ||
| "for every type and with no GitHub API call, truncated at the 8000-character ingest ceiling. " + | ||
| "Structured filters (repo, state, labels, milestone, assignee, type) apply across modes 1-3 " + | ||
| "(mode 4 names its rows, so nothing is filtered there); " + | ||
| "type: \"wiki_doc\" narrows to GitHub Wiki pages only; repo takes the full slug (owner/repo) and matches " + | ||
@@ -36,2 +39,5 @@ "exactly, so a bare repository name selects nothing. In search mode the response carries " + | ||
| "and a result that absorbed others carries same_entity { count, others[] } with links to them. " + | ||
| "Every result row — and every same_entity.others entry — carries vector_id, the handle mode 4 takes. " + | ||
| "It is a handle for reaching a row you just found, not a durable identifier: the id scheme has been " + | ||
| "migrated before and may be again, so do not store one for later use. " + | ||
| "Two retrieval axes are reported separately, never fused into one ranking. results is the keyword axis " + | ||
@@ -151,2 +157,21 @@ "(dense + sparse, scored and ranked; count counts these). graph_results is the relationship axis, " + | ||
| }, | ||
| vector_ids: { | ||
| type: "array", | ||
| items: { type: "string" }, | ||
| maxItems: 50, | ||
| description: | ||
| "Stored-content fetch. Pass the vector_id values carried by earlier search-mode results " + | ||
| "(scan-mode rows come from the structured store and carry none) to read back the " + | ||
| "body text the index holds for those exact rows, for every type — issue, pull_request, " + | ||
| "issue_comment, pr_review, pr_review_comment, release, diff, doc, wiki_doc. " + | ||
| "Served from D1: no GitHub API call is made. Takes precedence over the other modes — query, sort, " + | ||
| "and every metadata filter are ignored when this is present, because the rows are named rather " + | ||
| "than selected. " + | ||
| "The text is the INDEXED copy of the body (the embedding input), truncated at 8000 characters — " + | ||
| "not the live source. Each row carries content_truncated so a prefix is never mistaken for a whole " + | ||
| "body, and the response carries content_source: \"index\". Unknown or stale ids are listed in " + | ||
| "not_found and the remaining rows still return. Max 50 ids per call. " + | ||
| "Treat vector_id as a handle for a row you just found, not a durable identifier: the id scheme has " + | ||
| "been migrated before and may be again, so do not store one for later use.", | ||
| }, | ||
| graph_expand: { | ||
@@ -153,0 +178,0 @@ type: "boolean", |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
44267
6.41%781
3.31%