feat(mcp): add REST + CLI mirrors for finding and enrichment taxonomies(#6620)#6666
feat(mcp): add REST + CLI mirrors for finding and enrichment taxonomies(#6620)#6666andriypolanski wants to merge 1 commit into
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-16 18:03:40 UTC
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Just FYI, this afternoon the bot will start pausing/cancelling CI runs and reviews for PRs in draft mode. Draft wastes our CI runs and server resources and slows down the review process for everyone. |
|
Failing CI. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6666 +/- ##
=======================================
Coverage 93.65% 93.65%
=======================================
Files 681 681
Lines 68086 68092 +6
Branches 18688 18694 +6
=======================================
+ Hits 63764 63770 +6
Misses 3347 3347
Partials 975 975
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Summary
GET /v1/mcp/finding-taxonomyandGET /v1/mcp/enrichment-analyzers, returningbuildFindingTaxonomyDocument()/buildEnrichmentAnalyzersTaxonomyDocument()(same shape as the remote MCP server resources from feat(mcp): register a gittensory://finding-taxonomy resource enumerating review finding categories #2225 / feat(mcp): register a gittensory://enrichment-analyzers resource from REES analyzer metadata #2226).requiresApiToken()and pre-auth rate limiting (same treatment as/v1/mcp/compatibility).@loopover/mcp:loopover://finding-taxonomyandgittensory://enrichment-analyzers, each fetching via unauthenticatedapiFetch(..., { auth: false })with{ status: "unavailable" }fallback on API failure.Closes #6620
Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally;codecov/patchrequires ≥99% coverage of the lines AND branches you changed (aim for 100% on your diff so CI variance does not fail near the threshold). Global coverage is a non-blocking trend with a loose 90% backstop, not the gate.npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
npx vitest run test/unit/mcp-finding-taxonomy-rest.test.ts test/unit/mcp-enrichment-analyzers-rest.test.ts test/unit/mcp-discovery.test.ts(29/29) andnpx vitest run test/integration/api.test.ts -t "serves health and OpenAPI openly"(1/1). Fullnpm run test:ci/npm run test:coverage/ audit still needed before push. No OpenAPI spec regeneration — routes are public read-only mirrors of static taxonomy builders, not new authenticated API surface.Safety
UI Evidencesection below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.UI Evidence
Not applicable — API + MCP CLI resource mirrors only; no mounted UI change.
Notes
feat(mcp): add REST + CLI mirrors for finding and enrichment taxonomies (#6620)src/api/routes.ts,src/auth/rate-limit.ts,packages/loopover-mcp/bin/loopover-mcp.js,test/unit/mcp-finding-taxonomy-rest.test.ts,test/unit/mcp-enrichment-analyzers-rest.test.ts,test/unit/mcp-discovery.test.ts,test/unit/support/mcp-cli-harness.ts,test/integration/api.test.tsapiFetch(..., { auth: false })(notapiGet) so unauthenticated clients can read taxonomy mirrors without a session token; compatibility resource updated to the same pattern.src/mcp/server.ts) are unchanged — this PR adds HTTP + CLI discovery paths only.