Repoport

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Oct 29, 2026

Local git operations over MCP: status, diff, log, branches and commits.

已驗證STDIO僅桌面檔案與儲存開發者工具

概覽

AI 產生的概覽

本機 stdio MCP 伺服器,讓助理直接操作 git 儲存庫:狀態、差異、暫存、提交、日誌、版本與分支。

可以做什麼
  • 檢視儲存庫:完整 status 輸出、未暫存與已暫存的差異、對指定目標版本的差異,以及某個版本的 show 內容
  • 讀取歷史:由新到舊列出提交,可限定作者日期範圍與筆數
  • 暫存與取消暫存:暫存指定檔案,或重設索引但保留工作區變更
  • 以指定提交訊息提交目前暫存的內容
  • 管理分支:依選用基準建立分支但不切換、切換分支,以及依包含提交篩選列出本機、遠端或全部分支
適用情境
適合在不給助理 shell 的前提下,讓它檢視與整理本機程式碼檢出:閱讀變更、暫存選定檔案、建立提交、在分支間切換。適用於日常儲存庫維護,而非遠端代管或拉取請求流程。
執行需求
以本機程序透過 stdio 執行,可用 npx 或 Docker 映像啟動;需要可用的 git 執行檔,且儲存庫路徑必須位於 git 工作樹中。未宣告帳號、API 金鑰或環境變數。
安裝前請注意
它會寫入儲存庫:暫存檔案、取消全部暫存、提交與切換分支都會改變本機狀態,切換分支可能改動工作區。提交只作用於已暫存的內容。以連字號開頭的版本類數值會被拒絕,且不經過 shell,但仍需提供有效的儲存庫路徑。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

repoport

repoport gives an agent hands on a local git repository without giving it a shell. It covers the everyday loop — check status, read diffs, stage files, commit, read the log, inspect a revision, and move between branches — and it does so by calling the git CLI directly, with every argument passed as data rather than stitched into a shell string.

The repository path is checked before anything runs: it must exist and must be inside a git work tree. Revision-like values that begin with a dash are refused, so a branch name or revision cannot smuggle an extra git flag into a call.

Install

bash
npx @reneturcios/repoport status .

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/repoport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead. The image and the npm package both expect a git binary and access to the repository you point at; mount or run against a local checkout accordingly.

CLI

bash
# Working tree status for a repositoryrepoport status ~/src/my-project
# Recent commits (default 10, pass a count to change it)repoport log ~/src/my-projectrepoport log ~/src/my-project 25
repoport --version

Exit codes: 0 on success, 1 when git or the repository check fails (the error carries git's own message), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/repoport mcp

MCP client configuration:

json
{  "mcpServers": {    "repoport": {      "command": "npx",      "args": ["-y", "@reneturcios/repoport", "mcp"]    }  }}

Tools

ToolInputWhat it returns
git_statusrepo_path (required)The long-form git status output for the repository.
git_diff_unstagedrepo_path (required), context_lines (optional, default 3)A unified diff of unstaged working-tree changes.
git_diff_stagedrepo_path (required), context_lines (optional, default 3)A unified diff of changes staged for the next commit.
git_diffrepo_path, target (both required), context_lines (optional)A unified diff against the given target revision.
git_addrepo_path, files (array of strings, both required)Stages the named files; paths are passed after --.
git_resetrepo_path (required)Unstages everything (git reset), leaving working-tree edits in place.
git_commitrepo_path, message (both required)Commits whatever is currently staged with the given message.
git_logrepo_path (required), max_count (optional, default 10), start_timestamp, end_timestamp (optional ISO strings)Recent commits newest first; timestamp bounds are applied against each commit's author date.
git_showrepo_path, revision (both required)The git show output for that revision.
git_create_branchrepo_path, branch_name (both required), base_branch (optional)Creates a branch without switching to it.
git_checkoutrepo_path, branch_name (both required)Switches the work tree to the named branch.
git_branchrepo_path (required), branch_type (optional: local, remote or all, default local), contains, not_contains (optional)Branch listing, optionally filtered to branches that contain or do not contain a commit.

Every tool returns git's stdout as its text result. Failures — a missing path, a path that is not a repository, a git error, or a rejected dash-prefixed value — come back as tool errors carrying the underlying message.

Safety notes

  • No shell is involved anywhere: arguments travel as an execFile argument array.
  • branch_name, target, revision, contains and not_contains values starting with - are rejected before git ever sees them.
  • git_commit only commits what is already staged; it never stages on your behalf.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no networknpm run dev     # run the CLI from source via tsx

Tests build a throwaway repository in a temp directory (initialising git and setting a local test identity there) and exercise the full loop against it, so they need a git binary on PATH but no network and no pre-existing checkout.

License

MIT — see LICENSE.

來源:README.md,提交 6e0e1eb

工具

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

版本歷史

1
  1. v0.1.0最新Oct 29, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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