1. Conduid
  2. Blockchain
  3. Weave
MCP server · Blockchain

Weave

A pack manager for AI CLI tools — weave together MCP servers, prompts, commands, and settings

Unclaimed last commit 7 months ago blockchain
39Low

Scored 4 days ago · breakdown

About Weave

Weave is an MCP server published by breferrari in the Blockchain category: a pack manager for AI CLI tools — weave together MCP servers, prompts, commands, and settings.

The repository has 13 stars and 3 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/breferrari/weave

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Weave

Powered by Claude · Grounded in docs

I know everything about Weave. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.

1 check has not been run yet.

Releases

v0.4.4v0.4.4 · 24 Mar 20260.4.4 (2026-03-24) Features cli: add --dry-run flag to install, remove, sync, and use (#166) (f4dec45) Bug Fixes adapters: switch Codex adapter to toml_edit for comment preservation (#227) (c7ac69d) cli: make --dry-run truly non-mutating…
v0.4.3v0.4.3 · 23 Mar 20260.4.3 (2026-03-23) Bug Fixes release: make workflow_dispatch tag optional and pass explicit tag_name (#211) (77c5783) release: use PAT for Release Please to trigger release pipeline (#209) (4a34f3f)
v0.4.1v0.4.1 · 22 Mar 2026What's Changed fix(release): switch to rustls, drop x86_64-apple-darwin by @breferrari in https://github.com/PackWeave/weave/pull/180 fix: use rustls with native roots for system CA support by @breferrari in…

README

Weave

CI Crates.io Homebrew Registry Platform License

One command configures all your AI CLIs. Install, share, and version MCP servers, slash commands, and prompts across Claude Code, Gemini CLI, and Codex CLI.

weave install web-dev    # Puppeteer MCP → Claude Code, Gemini CLI, Codex CLI
weave install git-tools  # Git MCP server — add alongside, no conflicts
weave remove web-dev     # clean undo — your manual edits stay untouched

🔥 The problem

Every AI CLI has its own configuration format. Setting up MCP servers, slash commands, and system prompts means hand-editing JSON and Markdown files scattered across different directories with different schemas.

There's no way to share your setup with a teammate, version it, or switch between contexts (work vs. personal vs. open source). Every developer starts from scratch.

Weave fixes this.


⚡ See it in action

One command, all CLIs configured:

weave install web-dev
# → Puppeteer MCP server
#   configured in Claude Code, Gemini CLI, and Codex CLI

Stack packs — dependencies resolve automatically:

weave install web-dev
weave install postgres
# → PostgreSQL MCP added alongside Puppeteer, no conflicts

Switch contexts instantly:

weave profile create work && weave profile add github -p work
weave profile create oss && weave profile add web-dev -p oss

weave use work    # → all CLIs reconfigured for GitHub tools
weave use oss     # → switch to web development setup

Discover MCP servers from the official registry:

weave search --mcp filesystem
# MCP Registry results for 'filesystem':
#   Filesystem Server
#     Package:    @modelcontextprotocol/server-filesystem (npm)
#     Repository: https://github.com/modelcontextprotocol/servers

Pin packs to a project — teammates get the same setup:

weave install web-dev --project
# → MCP servers written to both ~/.claude.json (user)
#   and .mcp.json in this repo (project scope)

weave list
# web-dev v1.0.0 — Web development MCP stack
#   Scope: user + project (/Users/dev/my-app)

Safe and reversible — your manual config stays untouched:

weave install web-dev --dry-run  # preview what would change — no files written
weave diagnose                   # detect config drift across all CLIs
weave sync                       # fix it — reapply your profile
weave remove web-dev             # clean undo, manual edits survive

Add community pack sources:

weave tap add acme-corp/packs    # register a third-party pack registry
weave install internal-tools     # resolves from the tap if not in the official registry
weave tap list                   # see all registered taps

Opt in to pack-defined hooks:

weave install ci-tools --allow-hooks
# → pack hooks (e.g., pre-commit checks) applied to Claude Code
# hooks are never applied without explicit --allow-hooks consent

Connect to remote MCP servers:

# In pack.toml — HTTP transport with auth headers
[[servers]]
name = "remote-api"
transport = "http"
url = "https://api.example.com/mcp"

[servers.headers]
Authorization = "${API_KEY}"   # secret stays in your env, never in config

Create and share your own packs:

weave init my-pack
# → scaffolds pack.toml, prompts/, commands/, skills/, settings/
# edit, test, publish — anyone can `weave install my-pack`

⚙️ How it works

Think of packs like Homebrew formulas for your AI CLI setup — community-maintained, versioned, one-line install.

A pack is a pack.toml manifest bundled with MCP server definitions, slash commands, system prompt fragments, and settings. Packs install into the active profile — a named set of packs for a specific context (work, oss, personal). Create profiles with weave profile create, switch with weave use, and recover from config drift with weave sync.

weave install web-dev
        │
        ├─▶ fetches pack content from the registry
        ├─▶ resolves transitive dependencies
        └─▶ applies to each installed CLI — non-destructively

        Claude Code:  ~/.claude.json, ~/.claude/settings.json, ~/.claude/commands/,
                      ~/.claude/CLAUDE.md
                      + .mcp.json (with --project)
        Gemini CLI:   ~/.gemini/settings.json, ~/.gemini/GEMINI.md
        Codex CLI:    ~/.codex/config.toml, ~/.codex/AGENTS.md, ~/.codex/skills/

Each CLI has its own adapter — a thin layer that knows exactly how to read and write that CLI's config format. Adapters never wipe your existing config. They only add, track, and cleanly remove what they own. A weave remove is surgical.


📥 Installation & quickstart

Homebrew (macOS and Linux):

brew install PackWeave/tap/weave

cargo-binstall (installs a pre-built binary, no compiler needed):

cargo binstall packweave

Shell script (macOS and Linux):

curl -fsSL https://raw.githubusercontent.com/PackWeave/weave/main/install.sh | sh

Build from source:

cargo install --git https://github.com/PackWeave/weave

[!NOTE] Weave targets macOS and Linux. Windows is not officially supported or tested in CI.

Try your first pack:

weave install web-dev       # installs Puppeteer MCP across all your AI CLIs
weave list                  # see what's installed
weave remove web-dev        # clean undo

🔧 Commands

Command Description
weave install <pack> Install a pack and apply it to all supported CLIs. Use --version to pin (e.g. ^1.0, =1.2.0). Use --project to also write to .mcp.json in the current directory. Use --allow-hooks to apply pack-defined lifecycle hooks. Use --dry-run to preview changes without writing.
weave remove <pack> Remove a pack and clean up all config entries it wrote. Use --dry-run to preview.
weave list Show installed packs with versions, scope, and target CLIs
weave search <query> Search the pack registry
weave search --mcp <query> Search the official MCP Registry for servers
weave update [pack] Update one or all packs to the latest compatible version
weave init [name] Scaffold a new pack directory
weave publish [path] Publish a pack to the registry (creates a PR). Requires authentication via weave auth login.
weave diagnose [--json] Check for config drift and health issues across all CLIs
weave profile create <name> Create a new named profile
weave profile list List all profiles (marks the active one)
weave profile delete <name> Delete a profile
weave profile add <pack> -p <name> Add a pack to a named profile
weave use [profile] Switch to a named profile, or print the active one. Use --dry-run to preview.
weave sync Reapply the active profile to all adapters. Use --dry-run to preview.
weave auth login [--token <TOKEN>] Authenticate with the registry (GitHub PAT). Required for publishing; raises rate limits for all commands. Reads from stdin if --token is omitted. Set WEAVE_TOKEN env var for CI.
weave auth status Show current authentication state (token source and masked value)
weave auth logout Remove stored credentials
weave tap add <user/repo> Add a community tap (third-party pack registry)
weave tap list Show registered taps
weave tap remove <user/repo> Remove a community tap

📦 Pack format

A pack is a directory with a pack.toml manifest at its root:

[pack]
name = "web-dev"
version = "1.0.0"
description = "Web development MCP stack"
authors = ["yourname"]
keywords = ["web", "browser", "git"]
min_tool_version = "0.4.0"    # optional: minimum weave version required

[[servers]]
name = "puppeteer"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-puppeteer"]
transport = "stdio"

[[servers]]
name = "filesystem"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem"]
transport = "stdio"

Packs can also declare:

  • Dependencies on other packs — resolved transitively
  • Slash commands / skills — copied into ~/.claude/commands/ or ~/.codex/skills/
  • System prompt fragments — appended to CLAUDE.md / GEMINI.md / AGENTS.md between tagged delimiters
  • Settings fragments — deep-merged into Claude Code and Gemini CLI JSON settings; merged as top-level keys in Codex CLI's TOML config
  • Minimum tool version — min_tool_version rejects install on older weave versions
  • Environment variable declarations — written as ${VAR} references, never values

[!IMPORTANT] Packs never store secret values. Env vars are written as ${MY_API_KEY} references into CLI config files — the actual values come from your shell environment at runtime.

[!TIP] Test your pack locally before publishing: weave install ./my-pack — idempotent, re-reads files on each run.

See pack.schema.toml for the full annotated schema and docs/PACKS.md for quality guidelines.


🖥️ Supported CLIs

CLI Status What Weave manages
Claude Code ✅ Supported MCP servers · slash commands · system prompt · settings · hooks
Gemini CLI ✅ Supported MCP servers · system prompt · settings
Codex CLI ✅ Supported MCP servers · skills · system prompt · settings

🗂️ Project-scope config

Some CLIs read both a user-level config (~/.claude/) and a project-level config (.mcp.json in your repo). By default, weave install only writes to user scope. Pass --project to also write MCP servers to .mcp.json in the current directory:

weave install web-dev --project

[!TIP] weave remove cleans up both user and project scope automatically, regardless of which directory you run it from.

Run weave diagnose to detect this condition automatically:

Profile: default
Packs: 1 installed

  web-dev v1.0.0
    Claude Code: drifted (server 'puppeteer' (from pack 'web-dev') is tracked but missing from claude.json)
    Gemini CLI: ok
    Codex CLI: ok

1 issue(s) found. Run `weave sync` to fix.

🚀 Coming next

See docs/ROADMAP.md for full milestones.

v0.5 — security hardening (in progress):

  • Concurrency lock to prevent simultaneous operations
  • Pack content checksums for integrity verification
  • Rollback on partial adapter apply failure
  • Schema versioning for pack.toml forward compatibility
  • weave export — reverse-engineer your existing CLI setup into a shareable pack

v0.6 — ecosystem depth:

  • weave diff / weave doctor — show changes and verify server health
  • weave diagnose --fix — auto-repair config drift
  • Adapter modernization — Claude Code skills format, rules directory
  • Template placeholders, prerequisites section

📚 Docs

Document Description
docs/ARCHITECTURE.md Internal design: modules, data flow, adapter contracts
docs/ROADMAP.md Milestones and planned scope
docs/CONTRIBUTING.md How to contribute
docs/PACKS.md Pack format and quality guidelines

AI assistants working in this repo should read AGENTS.md.


🤝 Contributing

See docs/CONTRIBUTING.md.


📄 License

Apache 2.0 — Copyright 2026 Brenno Rangel Ferrari. See LICENSE.

README fetched from the repository 2 days ago. The original is authoritative.

Questions

About Weave

How do I install Weave?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Weave safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 5 of the 5 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Weave still maintained?

The last commit was 7 months ago and 30 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.