GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Fast, bounded, read-only Git evidence for local AI coding agents.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"weavatrix-git": {
"command": "npx",
"args": [
"-y",
"weavatrix-git"
]
}
}
}在终端中运行这条命令
claude mcp add weavatrix-git -- npx -y weavatrix-git粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"weavatrix-git": {
"command": "npx",
"args": [
"-y",
"weavatrix-git"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"weavatrix-git": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"weavatrix-git"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 sergii-ziborov 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.1)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Part of the Weavatrix ecosystem: bounded Git evidence for AI software agents.
weavatrix-git gives AI coding agents fast, bounded, read-only Git evidence. The Rust crate, CLI, MCP server, and npm package are the same contract: parse repository storage directly. No git subprocess, C library, hooks, filters, network access, checkout, or mutation. There is no write API in any surface.
On the checked-in exact-parity benchmark, 1,000 warm history entries took 0.355 ms with Weavatrix, 0.884 ms with gix, and 1.552 ms with libgit2. Across eight repositories, Weavatrix won all five measured p50 contracts. These are engine measurements from release builds; the MCP transport is deliberately not hidden inside the claim.
No Rust toolchain is required:
npx -y weavatrix-git@0.3.3 --repository /absolute/path/to/repository
Generic stdio client configuration:
{
"mcpServers": { "weavatrix-git": { "command": "npx", "args": [ "-y", "weavatrix-git@0.3.3", "--repository", "/absolute/path/to/repository" ] } } }
The npm package contains verified native binaries for Windows x64, Linux x64 and ARM64, and macOS x64 and ARM64. Node only selects and launches the matching binary; repository parsing and MCP handling stay in safe Rust.
| MCP tool | Evidence returned |
|---|---|
git_head | repository identity, hash kind, symbolic HEAD, exact target ID, pack count |
git_history | paginated commit IDs, trees, parents, signatures, timestamps, summaries |
git_diff | paginated added/deleted/modified/type-changed paths with old/new object IDs |
git_status | tracked index and worktree state; untracked files stay on Repository::worktree_safety() |
git_snapshot | canonical immutable path, mode, kind, and object-ID manifest for a revision |
git_worktree_safety | Clean / IgnoredOnly / HasUntracked / DirtyTracked / Unknown; untracked and ignored counts |
Every list tool returns nextCursor, exact object IDs, and a truncated flag. Non-UTF-8 paths retain their exact bytes in pathHex; display text is never silently presented as exact evidence.
The MCP binary uses mcport's controlled, Tokio-free runtime:
Defaults are suitable for interactive stdio. --help exposes overrides for byte budgets, concurrency, queues, deadline, and batch size. The server writes only newline-delimited UTF-8 JSON-RPC to stdout; diagnostics go to stderr.
Native Cargo installation is also available:
cargo install weavatrix-git --version 0.3.3 --features mcp \
--bin weavatrix-git-mcp weavatrix-git-mcp --repository /absolute/path/to/repository
A scanner discovers files. A code graph models relationships. This crate owns version-control evidence. Keeping that boundary independent lets any Rust application reuse Git intelligence without importing a larger product.
| Area | Support |
|---|---|
| Layouts | worktree, bare, .git indirection, linked worktree commondir |
| Hashes | SHA-1 and SHA-256 object identifiers |
| Refs | loose, symbolic, detached HEAD, packed refs, reflogs |
| Objects | commit, tree, blob, annotated tag |
| Loose storage | bounded zlib/DEFLATE decoded by this crate |
| Packed storage | PACK v2/v3, index v2, OFS_DELTA, REF_DELTA |
| Object lookup | alternates, classic MIDX, caches, shared zero-copy snapshots |
| Commit acceleration | monolithic and split commit-graph chains |
| Path acceleration | changed-path Bloom filters v1/v2 |
| Reachability | pack and MIDX EWAH bitmaps with RIDX ordering |
| Index | DIRC v2/v3/v4, auto-refreshing shared snapshots |
| Queries | typed reads, lazy revwalk, history, tracked status, worktree safety, tree diff |
| Immutable views | canonical commit snapshots with path, mode, and object evidence |
| Scale-out | parallel open, revision-aware timelines, change sets, correlation |
| Extension | ordered, thread-safe, read-only custom ODB backends |
All public reads are in-process. Library code contains no subprocess fallback. Unsupported data returns a typed error rather than an approximate answer.
use weavatrix_git::{PathBloom, Repository};
fn main() -> Result<(), Box > { let repository = Repository::open(".")?; let head = repository.resolve("HEAD")?;
for id in repository.revwalk().push_head()?.take(100) { println!("{}", id?); }
if repository.commit_maybe_changed_path(head, b"src/lib.rs")? == Some(PathBloom::DefinitelyNot) { println!("the commit definitely did not change src/lib.rs"); }
if let Some(objects) = repository.bitmap_reachable(head)? { println!("{} reachable objects", objects.len()); } Ok(()) }
Custom stores use the same object contract:
use std::sync::Arc;
use weavatrix_git::{Limits, MemoryObjectBackend, Repository};
let backend = Arc::new(MemoryObjectBackend::default()); let repository = Repository::open_with_backends(".", Limits::default(), vec![backend])?;
For cross-repository analysis, RepositorySet keeps object stores isolated and returns deterministic serial or parallel results:
use weavatrix_git::{HistoryOptions, RepositorySet};
let repositories = RepositorySet::open_parallel([ ("service", "/code/service"), ("client", "/code/client"), ])?; let histories = repositories.histories_from_parallel("HEAD", HistoryOptions::default())?; let snapshots = repositories.snapshots_parallel("HEAD")?; let timeline = repositories.timeline("HEAD", HistoryOptions::default())?; let shared = repositories.shared_commits(HistoryOptions::default())?;
The diagnostic CLI uses the library:
weavatrix-git [-C repository] head
weavatrix-git [-C repository] log [revision] [max-count] weavatrix-git [-C repository] cat weavatrix-git [-C repository] diff
Repository
+-- refs + reflog +-- commit-graph chain + changed-path Bloom +-- index -> tracked status +-- custom ODB backends +-- object directories + alternates +-- loose object -> bounded zlib +-- MIDX -> pack -> bounded delta chain +-- pack/MIDX bitmap -> reachable object IDs
Limits bounds object bytes, cache bytes, delta/ref/tree depth, tree and index entries, reflog/history length, parent count, and bitmap expansion. The crate forbids unsafe Rust. The default library feature set remains dependency-free; only the separate mcp feature adds mcport.
The source tree follows explicit modular boundaries:
| Layer | Responsibility |
|---|---|
model | object IDs, typed Git objects, errors, and validation contracts |
storage | loose/pack/MIDX/commit-graph decoding, bounded inflate and caches |
repository | refs, history, diffs, status, snapshots, trees, and revwalks |
workspace | deterministic multi-repository queries and correlation |
mcp | optional read-only protocol adapter over the library |
facade / CLI | stable Rust exports and diagnostic command entry points |
The checked-in strict architecture contract rejects files over 300 physical lines, functions over 100 physical lines, runtime cycles, mixed foo.rs plus foo/ module ownership, and any dependency from the protocol-independent library into the optional MCP adapter. It has no baseline or exceptions.
The suite creates real Git repositories and verifies:
git rev-list --objects;Current core line coverage is 85.27%. CI runs Rust 1.88 on Linux, Windows, and macOS, Clippy with warnings denied, coverage, audit, docs, and package verification.
Release measurements on Windows, 2026-07-27. Every row materializes the result and proves exact identifier, path, object-byte, or status parity before timing:
| Exact-parity operation | weavatrix-git p50 | git.exe p50 |
|---|---|---|
| 6,000-object bitmap reachability | 0.431 ms | 72.656 ms |
| one-entry index read | 0.033 ms | 60.758 ms |
| clean tracked status | 0.186 ms | 72.735 ms |
| cached commit lookup | 0.001 ms | 65.267 ms |
| 1,000-commit history, reused repository | 0.086 ms | 66.961 ms |
Direct in-process comparison on the same packed 2,000-commit fixture:
| Exact-parity operation | Weavatrix p50 | gix 0.86 p50 | git2 0.21 p50 |
|---|---|---|---|
| 1,000-commit history, warm | 0.355 ms | 0.884 ms | 1.552 ms |
| 1,000-commit history, reopen | 2.521 ms | 3.940 ms | 10.483 ms |
| 1,000 cached object reads | 0.082 ms | 0.068 ms | 5.640 ms |
| history plus 1,000 raw objects | 0.494 ms | 0.992 ms | 1.375 ms |
On a separate 10,000-path index, warm reads measured 1.160/1.100/1.489 ms respectively; reopen measured 5.225/7.745/11.251 ms. The benchmark rotates engine order and proves exact history IDs, raw object bytes, and canonical index paths before timing. See BENCHMARKS.md.
On eight independent repositories with 8,000 selected commits, Weavatrix measured 5.667 ms serial history, 4.080 ms parallel history, 11.810 ms reopen, 4.148 ms shared-commit correlation, and 1.736 ms immutable manifests. It won all five p50 contracts against gix and libgit2; exact per-repository history order, shared locations, paths, and object IDs were proven first.
| Capability | weavatrix-git | Git CLI | gix | libgit2 |
|---|---|---|---|---|
| In-process | yes | no | yes | yes |
| Pure safe Rust | yes | no | yes | no, C core |
| Crate dependencies | zero | n/a | many modular crates | native library |
| Object/delta caches | yes | yes | yes | yes |
| MIDX and reachability bitmap reads | yes | yes | yes | yes |
| Split commit-graph and path Bloom reads | yes | yes | yes | commit-graph |
| Custom read-only ODB | yes | n/a | store abstractions | yes |
| Lazy revwalk, reflog, index, tracked status | yes | yes | yes | yes |
| First-class cross-repository evidence queries | yes | application code | application code | application code |
| Canonical immutable commit manifest | yes | application code | traversal API | tree walk API |
| Network and mutation | no | yes | yes | yes |
The deliberate remaining exclusions are pack index v1, reftable, incremental MIDX chains, s
只显示了开头部分;其余内容请在仓库中阅读