经 AI Skill Hub 精选评估,Weave 获评「强烈推荐」。已获得 1.1k 颗 GitHub Star,这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.5 分,适合有一定技术背景的用户使用。
Weave 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
Weave 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/Ataraxy-Labs/weave
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"weave": {
"command": "npx",
"args": ["-y", "weave"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 Weave 执行以下任务... Claude: [自动调用 Weave MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"weave": {
"command": "npx",
"args": ["-y", "weave"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
Part of the Ataraxy Labs stack, agent-native infrastructure for software development. See also: sem (semantic version control) · inspect (semantic code review) · opensessions (tmux sidebar for coding agents). Read the manifesto: https://ataraxy-labs.com/#thesis · Essays: https://ataraxy-labs.com/blogs · LLMs: https://ataraxy-labs.com/llms.txt
<p align="center"> <img src="assets/banner.svg" alt="weave" width="600" /> </p>
<p align="center"> <strong>Entity-level semantic merge for Git.</strong><br> Resolves merge conflicts that Git can't by parsing code into functions, classes, and keys with tree-sitter, then merging those entities instead of lines. </p>
<p align="center"> <a href="#install">Install</a> · <a href="#quickstart">Quickstart</a> · <a href="#how-weave-fixes-this">How It Works</a> · <a href="#mcp-server">MCP Server</a> · <a href="#cli-commands">CLI</a> · <a href="https://github.com/Ataraxy-Labs/weave/releases/latest">Releases</a> </p>
<p align="center"> <a href="https://github.com/Ataraxy-Labs/weave/releases/latest"><img src="https://img.shields.io/github/v/release/Ataraxy-Labs/weave?color=blue&label=release" alt="Release"></a> <a href="https://formulae.brew.sh/formula/weave"><img src="https://img.shields.io/badge/homebrew-weave-orange" alt="Homebrew"></a> <img src="https://img.shields.io/badge/rust-stable-orange" alt="Rust"> <img src="https://img.shields.io/badge/tests-441_passing-brightgreen" alt="Tests"> <a href="LICENSE-MIT"><img src="https://img.shields.io/badge/license-MIT_OR_Apache--2.0-yellow" alt="License"></a> <img src="https://img.shields.io/badge/languages-38-blue" alt="Languages"> </p>
<p align="center"> <img src="assets/merge-animation.gif" alt="Weave merge animation: two branches add different functions, git conflicts, weave merges cleanly" width="700" /> </p>
brew install weave
Or build from source (requires Rust). Two binaries, both required: weave (the CLI you run: setup/explain/check/...) and weave-driver (the one git itself invokes on every merge; weave setup fails without it on PATH):
git clone https://github.com/Ataraxy-Labs/weave
cd weave
cargo install --path crates/weave-cli # the `weave` binary
cargo install --path crates/weave-driver # the `weave-driver` binary git calls
Upgrading an existing source install? cargo install refuses to overwrite a binary it didn't put there itself, so add --force to either command above.
In any Git repo:
weave setup
This configures Git to use weave for all supported file types. Then use git merge as normal.
To revert back to normal git merging:
weave unsetup
To set up for just yourself (without modifying .gitattributes), write the same supported file type rules to .git/info/attributes instead:
weave setup --local
```bash weave setup # this repo now merges through weave; git merge/rebase/cherry-pick unchanged git merge <branch> # real conflicts land as markers with a refused_by: line stating why weave explain <file> # per-hunk detail for one conflicted file, read off the actual git stages
```
{ "mcpServers": { "weave": { "command": "weave-mcp" } } } ```
The server discovers the repo from the first tool call's file path, the WEAVE_REPO env var, or its working directory. It exposes 22 tools in two independent groups (each tool's own description states when to call it and what an empty result means):
- Merge analysis reads git refs or the working tree directly, no setup needed: weave_findings, weave_check, weave_preview_merge, weave_diff, weave_merge_audit, weave_validate_merge, weave_merge_summary. - Entity and dependency inspection reads a file's or the repo's structure: weave_extract_entities, weave_get_dependencies, weave_get_dependents, weave_impact_analysis. - Live coordination tracks edits in the shared CRDT (.weave/state.automerge) for agents editing the same repo at the same time, starting with weave_agent_register: weave_agent_register, weave_agent_heartbeat, weave_claim_entity, weave_release_entity, weave_status, weave_who_is_editing, weave_potential_conflicts, weave_update_entity_content, weave_get_entity_content, weave_merge_file, weave_resolve_conflict.
Start with weave_findings after (or before) a merge between two branches, or weave_check for the cross-file binding risk a per-file git merge driver can't see: a rename in a.py whose surviving caller lives in b.py merges both files cleanly on its own, and the break is only visible repo-wide.
Beyond setup/explain/check/preview above, the weave binary has commands for the CRDT coordination layer and for typed entity patches. Run weave --help or weave <command> --help for the full flag list; the table below is what each one is for.
| Command | What it does |
|---|---|
weave status [--file] [--agent] | Entity and agent state from the CRDT: claims, last editor, merge state |
weave claim <agent-id> <file> <entity> | Claim an entity before editing it (advisory: weave does not enforce it) |
weave release <agent-id> <file> <entity> | Release a previously claimed entity |
weave apply <file>... | Materialize entity edits held in the CRDT back onto the working files |
weave patch extract <base-file> <changed-file> | Emit the typed ops that turn base-file into changed-file |
weave patch apply <ops-file> <target-file> | Apply those ops to a target file, three-way against the ops' base, in case the target has drifted since the ops were extracted |
weave summary <file> | Parse a file's weave conflict markers into a structured (optionally JSON) summary |
weave stats | Lifetime merge counters, if you've opted in with WEAVE_STATS=1 (off by default) |
weave bench | Run the 31-scenario synthetic benchmark against weave, Mergiraf, and git |
weave bench-repo <path> [--limit N] | Replay real merge commits from a cloned repo; see [Real-World Benchmarks](#real-world-benchmarks) |
claim/release/status/apply all operate on the same .weave/state.automerge CRDT document as the MCP tools below: the CLI and MCP server are two front ends onto one coordination state. That document lives in the repo's working tree but is never repo content: the first time weave writes it, it adds .weave/ to the repo's local .git/info/exclude (never your own .gitignore), so it never shows up in git status or gets swept into git add -A.
| Scenario | Git (line-based) | Weave (entity-level) |
|---|---|---|
| Two agents add different functions to same file | **CONFLICT** | Auto-resolved |
Agent A modifies foo(), Agent B adds bar() | **CONFLICT** (adjacent lines) | Auto-resolved |
| Both agents modify the same function differently | CONFLICT | CONFLICT (with entity-level context) |
| One agent modifies, other deletes same function | CONFLICT (cryptic diff) | CONFLICT: function 'validateToken' (modified in ours, deleted in theirs) |
| Both agents add identical function | **CONFLICT** | Auto-resolved (identical content detected) |
| Both agents add different properties to same object | **CONFLICT** | Auto-resolved |
| Different JSON keys modified | **CONFLICT** | Auto-resolved |
The key difference: Git produces false conflicts on independent changes because they happen to be in the same file. Weave only conflicts on actual semantic collisions when two branches change the same entity incompatibly.
31 hand-crafted merge scenarios across 7 languages, comparable to mergiraf's own test corpus. Run weave bench to reproduce:
| Tool | Clean Merges | Score |
|---|---|---|
| **Weave** | **31/31** | 100% |
| Mergiraf (v0.16.3) | 26/31 | 83% |
| Git | 15/31 | 48% |
Mergiraf fails on both-add-at-end-of-file, insert-between-existing, and decorator conflict scenarios. Weave resolves all of these because it operates at entity granularity (functions, classes, methods) rather than AST node level. Full breakdown at ataraxy-labs.github.io/weave.
高质量的Git合并驱动工具
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
AI Skill Hub 点评:Weave 的核心功能完整,质量优秀。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | weave |
| 原始描述 | 开源MCP工具:Entity-level git merge driver. Resolves false conflicts git invents when indepen。⭐1.1k · Rust |
| Topics | gitmergeconflict-resolutiondeveloper-tools |
| GitHub | https://github.com/Ataraxy-Labs/weave |
| License | Apache-2.0 |
| 语言 | Rust |
收录时间:2026-06-07 · 更新时间:2026-06-08 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端