Sourcery

io.github.abyssbugg-labs由 GitHub 帳號 abyssbugg-labs 發布v0.2.4更新於 Oct 24, 2026

Sourcery security findings: MCP server, CLI, and fix-prompt builder over the Sourcery API.

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

本機 MCP 伺服器兼命令列工具,讓助理透過 Sourcery API 讀取、彙總並批次更新 Sourcery 安全性發現與問題群組。

可以做什麼
  • 取得依狀態與嚴重程度統計的數量,以及作用中問題的第一頁,作為分流總覽
  • 列出、篩選並取得單筆安全性發現,包含原始碼片段與相依關係圖
  • 讀取彙總計數,並列出或取得問題群組及其包含的發現
  • 一次最多對 100 筆發現或群組批次變更狀態或嚴重程度
  • 依某筆發現產生最小變更的修正提示詞,並呈現相依鏈
  • 說明已驗證的 API 範圍,並送出僅限八個已驗證操作的請求
適用情境
適合已在 Team 方案使用 Sourcery 安全性掃描的團隊,希望助理在對話中直接分流發現、彙總嚴重程度統計或草擬修正提示詞。
執行需求
需要 Node 20 以上版本,並以本機 stdio 程序執行(透過 npx 執行 npm 套件)。需要已啟用安全性掃描的 Sourcery Team 方案 API 金鑰,透過環境變數 SOURCERY_API_KEY 提供。需要連線至 Sourcery API 的網路存取。
安裝前請注意
需要 Sourcery Team 方案 API 金鑰(SOURCERY_API_KEY),可存取組織的安全性發現。批次更新工具每次呼叫會變更最多 100 筆發現或群組的狀態與嚴重程度,執行前應先確認。發現記錄可能包含原始碼片段與相依資料並傳送給模型。PR 審查指令不在涵蓋範圍內,須透過 Git 服務商處理。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Sourcery,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Sourcery Agent Bundle

A hybrid plugin bundle for agent-driven Sourcery security workflows: an MCP server (12 tools over Sourcery's public security API, pinned OpenAPI snapshot), two Agent Skills, and adapters for Claude Code, Cursor, Codex/ChatGPT, VS Code, Devin, Grok (CLI + Bot), Amp, Hermes, OpenClaw, and Rovo Dev CLI. The server ships as the npm package @abyssbugg/sourcery — most hosts just register npx -y @abyssbugg/sourcery@latest. See docs/COMPATIBILITY.md for per-host install steps.

What is confirmed

Sourcery's current docs say the only public API is a Team-plan REST API for security findings. The documented API base is https://api.sourcery.ai/api, and the first documented request is:

bash
curl https://api.sourcery.ai/api/v1/security-issues \  -H "Authorization: Bearer $SOURCERY_API_KEY"

Verified and pinned. The live OpenAPI document (https://api.sourcery.ai/api/openapi.json) is committed as a snapshot at openapi/sourcery-openapi.json:

  • Info: Sourcery API 0.1.0 (OpenAPI 3.1.0)
  • Fetched: 2026-09-10
  • SHA-256: 9fdb45e657a6406c86ea0d0def2963d534e20bec1a9c88f7d62dbc2e6807f877

Every tool and the client allow-list are wired from that snapshot. The verified surface is exactly eight operations:

MethodPathPurpose
GET/v1/security-issuesList issues (filters + cursor pagination)
GET/v1/security-issues/statsCounts by status and severity
GET/v1/security-issues/{id}Fetch one issue
PATCH/v1/security-issuesBulk update (max 100 ids)
GET/v1/security-issue-groupsList groups (same filters)
GET/v1/security-issue-groups/statsCounts by status and severity
GET/v1/security-issue-groups/{id}Fetch one group including its issues
PATCH/v1/security-issue-groupsBulk update groups (max 100 ids)

Why the Sourcery API + Git connector split

Sourcery's PR review controls are currently documented as GitHub/GitLab comment or label commands (review, summary, guide, title, resolve, dismiss, create issue) rather than public REST endpoints. Those actions are therefore best implemented through your GitHub/GitLab connector, while Sourcery is used for security findings.

Bundle shape

Repo root = plugin root. The portable core (plugin.json + skills/ + mcp.json) follows the Agent Plugins 1.0.0 standard, which Cursor and OpenAI (Codex, ChatGPT desktop) load natively; the other files are thin per-host adapters.

text
sourcery-agent-bundle/  plugin.json                      # Agent Plugins core manifest  mcp.json                         # portable stdio wiring -> bin/sourcery  skills/    sourcery-triage/SKILL.md       # findings triage workflow    sourcery-remediate/SKILL.md    # minimal-change fix workflow  bin/    sourcery                       # launcher: dist/cli.js when built, else npx @abyssbugg/sourcery  agents/    sourcery-triager.md            # read-only triage sub-agent (Claude format)  .claude-plugin/plugin.json       # Claude Code manifest + userConfig API key  .mcp.json                        # Claude Code MCP wiring (npx)  .agents/plugins/marketplace.json # Codex/ChatGPT local marketplace entry  scripts/    install-rovodev.sh             # Rovo Dev CLI wiring (mcp.json + skills)    install-local-hosts.sh         # grok, amp, hermes, openclaw, VS Code, Devin  examples/    mcp.http.json                  # remote deployment template    hooks/                         # optional hooks example (SessionStart echo; not enabled)  docs/    COMPATIBILITY.md               # per-host setup matrix    grok-bot-skill.md              # paste-in skill for Grok Bot  openapi/    sourcery-openapi.json          # pinned spec snapshot (SHA-256 above)  src/                             # TypeScript: MCP server + findings CLI (@abyssbugg/sourcery)    constants.ts                   # pinned facts: operations, enums, spec hash  tests/                           # TypeScript tests (constants drift pin, tools, client)  python/                          # Python reference implementation (server, client, prompts)    src/sourcery_agent/    tests/  package.json                     # npm package manifest (@abyssbugg/sourcery)  .env.example  README.md

Tools

  • sourcery_security_snapshot: counts by status/severity plus the first page of active issues — start here for a triage overview.
  • sourcery_list_findings: list issues with repository_ids, issue_types, statuses, search, limit, cursor.
  • sourcery_get_finding: fetch one issue (full record incl. source snippet and dependency graph).
  • sourcery_get_security_counts: aggregate counts by status and severity.
  • sourcery_bulk_update_findings: bulk status/severity changes (≤100 ids; SOLVED is scanner-owned and rejected).
  • sourcery_list_groups, sourcery_get_group, sourcery_get_group_counts, sourcery_bulk_update_groups: the same capabilities for issue groups.
  • sourcery_build_fix_prompt: builds the Sourcery-style minimal-change agent prompt from a finding; the DEPENDENCY path uses fixed_versions + manifest_file_path and renders the dependency chain.
  • sourcery_capabilities: describes the verified surface, spec pin, and enum values.
  • sourcery_api_request: compatibility bridge restricted to the eight verified operations.

CLI

bash
npx -y @abyssbugg/sourcery@latest snapshot                          # counts + first page of active findingsnpx -y @abyssbugg/sourcery@latest list --status ACTIVE --limit 50   # filterable listnpx -y @abyssbugg/sourcery@latest get 1234                          # one finding in fullnpx -y @abyssbugg/sourcery@latest fix-prompt 1234                   # minimal-change agent prompt

Inside an enabled plugin host, bin/sourcery runs the same CLI (it prefers a locally built dist/cli.js and otherwise falls back to npx). Add --json to any query command for scripting.

Setup

Requirements: Node 20+. Most hosts register the MCP server directly:

bash
export SOURCERY_API_KEY='...'npx -y @abyssbugg/sourcery@latest        # stdio MCP server (no args)npx -y @abyssbugg/sourcery@latest http   # Streamable HTTP (127.0.0.1:8765/mcp)

Or install it as a plugin bundle — one step per host (details in docs/COMPATIBILITY.md):

HostQuick start
Claude Codeclaude --plugin-dir . — prompts for the API key on enable
Cursorsymlink the repo into ~/.cursor/plugins/local/, reload
Codex CLI / ChatGPT desktopcodex plugin marketplace add ./
ChatGPT webrun npx -y @abyssbugg/sourcery@latest http behind HTTPS, add via developer mode
VS Code / Grok / Amp / Hermes / OpenClawscripts/install-local-hosts.sh (idempotent; registers plugin, MCP, and skills)
Devinskill links via the installer; devin plugins install --local . for the full plugin
Grok Botpaste-in skill from docs/grok-bot-skill.md
Rovo Dev CLIscripts/install-rovodev.sh

For development and tests, see the Python reference implementation (its suite doubles as the bundle-packaging checker) and run npm test for the TypeScript suite. The server is built on the official MCP TypeScript SDK (@modelcontextprotocol/sdk).

Regenerating the pinned snapshot

When Sourcery publishes a spec change:

bash
curl -sS --fail -o openapi/sourcery-openapi.json https://api.sourcery.ai/api/openapi.jsonshasum -a 256 openapi/sourcery-openapi.json   # update SPEC_SHA256 in src/constants.ts (+ python/src/sourcery_agent/constants.py, README/docs)npm test                                      # tests/constants.spec.ts fails on drift

Sourcery's PR review commands (review, summary, guide, title, resolve, dismiss, create issue) remain GitHub/GitLab comment or label commands — implement those through your Git provider connector, not the Sourcery REST API.

來源:README.md,提交 8cd4d56

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.2.4最新Sep 30, 2026
  2. v0.2.3Sep 30, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分