Repoport

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Oct 29, 2026

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

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

Local stdio MCP server that gives an assistant hands-on git access to a repository: status, diffs, staging, commits, log, revisions and branches.

What you can do
  • Inspect a repository: long-form status, unstaged and staged diffs, diffs against a target revision, and git show for a revision
  • Read history: recent commits newest first, with optional author-date bounds and a configurable count
  • Stage and unstage: stage named files, or reset the index while keeping working-tree edits
  • Commit what is already staged with a given message
  • Manage branches: create a branch from an optional base without switching, check out a branch, and list local, remote or all branches filtered by contained commits
When to use it
Useful when an assistant should review or tidy up a local checkout without being given a shell: reading changes, staging selected files, making commits, and moving between branches. It suits everyday repository maintenance rather than remote hosting or pull-request workflows.
Requirements
Runs as a local process over stdio, started with npx or the Docker image; a git binary must be available and the repository path must exist inside a git work tree. No accounts, API keys or environment variables are declared.
Before you install
It writes to the repository: staging files, unstaging everything, committing and switching branches all change local state, and checkout can alter the working tree. Commit only acts on already-staged content. Dash-prefixed revision-like values are rejected and no shell is used, but the assistant still needs a valid repository path.

Installation

In SourceWeft

  1. Open Repoport in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

Source: README.md at commit 6e0e1eb

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestOct 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts