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 分