
PromptBranch
io.github.PromptBranch由 GitHub 账号 PromptBranch 发布v0.2.6更新于 Oct 24, 2026
Local-first MCP server for versioning, searching, evaluating, and improving AI prompts.
概览
让助手读取、搜索本地提示词库并记录运行结果,还能提出提示词变体供人工审批。
- 可以做什么
- PromptBranch 是一个本地优先的提示词库与版本控制系统。通过这个 MCP 服务器,助手可以按标题或 id 获取提示词、搜索和列出提示词、上报运行结果、添加笔记,以及建议变体。建议的变体会先作为待审批版本创建,在人工于桌面应用的 Suggestions 视图中批准之前,不会出现在搜索和列表中。
- 适用场景
- 当你把提示词保存在 PromptBranch 中,并希望编码助手复用它们、记录使用效果或提出改进建议,而不自行改动提示词库时,适合使用。它适用于每次改动都由人工审核批准的流程。
- 运行要求
- 通过 stdio 在本地运行,通常用 npx 启动 npm 包 @promptbranch/mcp。它打开与桌面应用和 CLI 相同的本地提示词库数据库,路径可用环境变量 PROMPTBRANCH_DB 覆盖。MCP 服务器本身不需要账号或 API 密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 PromptBranch,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
PromptBranch
A local-first prompt library and version-control system for AI prompts.
PromptBranch is a simple, local-first place to create, organize, test, and improve your AI prompts. Keep prompts on your own computer, track their changes over time, run them with different AI models, and connect your favorite AI tools. You stay in control of your data and approve changes before they are saved.
[!WARNING] Work in progress. PromptBranch is actively evolving. You may encounter bugs or incomplete behavior, and features may change as development continues. Please report non-security issues. Report security concerns privately through the security policy.
Features
Build a prompt library
- 📚 Organize prompts with tags, collections, starring, filters, full-text search (⌘K), History and Notes, JSON import/export, and automatic local backups.
- 📋 Copy prompts from another app while PromptBranch is running with the optional Quick access palette, a configurable global shortcut, variable inputs, and an exact text preview.
- 🌿 Track versions with branches, stable version IDs, amend-in-place and save-as-new actions, history labels, change notes, diffs, and variations.
- 🧪 Evaluate results with four-dimension ratings, a Results run log, side-by-side comparison, an LLM judge, and an evaluation summary.
Run with AI and agents
- ⚡ Run against multiple models using a models.dev-backed catalog for OpenAI, Anthropic, Google, and OpenAI-compatible endpoints. Run up to six models concurrently with encrypted API keys and token/cost tracking.
- 🤖 Work with agents through a CLI and MCP server over the same library. Agents can report runs and notes or propose variations; humans review and approve them.
Share and sync on your terms
- 🔗 Share immutable snapshots behind unguessable URLs, embed active shares on websites, or review and import public Markdown URLs. Shares include pre-publish secret scanning, revocable links, and a dedicated Shares view.
- 🔄 Sync directly between your devices on the local network. Pair with a short verified code; changes are stored locally first and catch up automatically when devices can reach one another.
Installation
PromptBranch desktop is available for macOS, Windows, and Linux. Download an installer for your operating system from GitHub Releases.
The CLI and MCP server are cross-platform too. See the installation guide for setup, including building from source.
Where your data lives
The desktop app, CLI and MCP server all open the same database:
Set PROMPTBRANCH_DB=/path/to.db to point any entry point at a different
library (for example, a separate personal or test library).
If you used a pre-release build (named PromptBuilder or PromptHub), the
app copies your existing library into the new location on first launch and
leaves the original untouched.
It is safe to run the CLI or MCP server while the desktop app is open — they share the database file. The app picks up new runs, notes, ratings and suggestions when you focus the window.
Agent integration
AI coding agents interact with your library through two thin adapters — the CLI and the MCP server — with the same semantics as the app UI. The rule is agents propose, humans approve: agents can read prompts, report runs and notes, and suggest variations, but a suggested variation is created as a pending version that is invisible to search and listings and cannot become current until a human approves it in the app's Suggestions view (left rail, with a pending-count badge; approve optionally sets it as current, reject keeps it permanently inactive).
Onboarding is copy-paste: open Settings → Agent integration for the resolved DB path and a ready-to-paste MCP client config. The npm package also includes an optional skill file that teaches coding agents the fetch → report → suggest workflow.
MCP server
@promptbranch/mcp is available from npm. Point any stdio-capable MCP client
at it with this configuration:
Tools: get_prompt, search_prompts, list_prompts, report_run,
add_note, suggest_variation. Prompts are referenced by title (exact, then
case-insensitive, then unique substring — ambiguous matches return the close
candidates) or by id. suggest_variation returns a pending suggestion; tell
your human to open the Suggestions view to review it.
CLI
The CLI provides the same surface for shell pipelines. Run the public package
without a global install as npx -y @promptbranch/cli@latest, or install it
globally with npm install -g @promptbranch/cli@latest to use the shorter
promptbranch command. All commands accept --json for machine-readable
output:
Sharing is human-only — publish and import exist only here and in the
desktop app; there is intentionally no MCP tool for pulling internet content
into the library.
AI providers
PromptBranch can run prompts against real models and use AI to draft or improve prompts. Supported providers: OpenAI, Anthropic, Google, and any OpenAI-compatible endpoint (Ollama, LM Studio, …) via a custom base URL.
Setup is one step: Settings → AI Providers → Connect a provider → paste the
API key. PromptBranch encrypts it using your operating system's secure
credential storage and only decrypts it when needed for a model request. The
connection is tested automatically as part of connecting, and the model catalog
refreshes in the background. If OPENAI_API_KEY, ANTHROPIC_API_KEY or
GOOGLE_GENERATIVE_AI_API_KEY is set in the environment, PromptBranch offers
a one-click Use environment key connect for that provider.
Once connected, every catalog model of the provider is immediately usable — there is no model-selection step in Settings. Models are picked from the searchable model picker next to the Run button (filter as you type, grouped by provider, with context-window/pricing hints and per-prompt recents). Individual models can be hidden from the picker's hover action; everything else just works. OpenAI-compatible endpoints have no catalog, so their model ids are declared inline on the provider's settings row.
The model catalog comes from models.dev and is cached locally. Browsing and editing stay offline; catalog refreshes, model runs, and sharing use the network. A failed catalog refresh keeps serving the stale cache.
Each Run executes the prompt (after {{variable}} substitution) against up to
6 models concurrently and records one entry per model — provider, model,
status, output or error, latency, token usage and estimated USD cost from
catalog pricing — grouped together for the compare view.
Sharing
Snapshots are immutable and live behind unguessable /p/<id> URLs on the
official portal, https://promptbranch.app.
- Publishing happens from the Share dialog on the prompt toolbar (scope choice, pre-publish secret scan, exact-payload preview). Delete tokens are stored locally so shares can be revoked later from the Shares view in the left rail (search, status filtering, copy link, revoke, and remove revoked entries).
- Importing works via
promptbranch://import?url=deep links orpromptbranch import; the snapshot becomes a new local prompt with its tags and a provenance note. A shared history remains viewable on the portal; it is not recreated as a local version chain. - Website embeds use copyable HTML for active shares. Choose Auto, Light, or Dark when copying; Auto follows the visitor's system appearance. The prompt appears in Shadow DOM without an iframe, with its title and an Open in PromptBranch button. The portal script runs on the host page, so use embed code only from a portal you trust. See the sharing guide for the HTML snippets and CSP requirements.
- Public Markdown links use
promptbranch://import-markdown?url=. The desktop app fetches only after the user chooses Fetch Markdown, then previews the content before creating a new local prompt. The source must be reachable over public HTTPS. The sharing guide includes an HTML button example that website owners can copy and customize.
Multi-device sync
Sync your library across your own computers, directly, with no server and no account: devices discover each other on the local network via mDNS, authenticate with a one-time pairing code, and exchange incremental record-level changes over mutually-pinned TLS. Enable it in Settings → Sync; a status line in the left-rail footer shows Synced / Syncing / Waiting for devices at a glance.
- How it works: every change (from the app, the CLI or the MCP server — they share the database file) is captured into a local op log with logical-clock revisions; peers exchange the ops they're missing and merge them deterministically. Independently created records union by id; changes to the same record resolve last-writer-wins; same-name tags/collections/branches merge into one row. Concurrent edits to a prompt produce both versions when saved separately, while concurrent amendments to the same version resolve deterministically.
- Trust: each device has a self-signed certificate; the 8-character pairing code is derived from the accepting device's certificate fingerprint, so a man-in-the-middle on the network produces a mismatching code. Forgetting a device unpins it permanently. API keys never leave a device, and settings are deliberately device-local. Share records do sync (delete tokens included), so shares can be managed and revoked from any paired machine.
- Reach: sync happens when devices are on the same network (or a VPN — pair by address in Settings → Sync → Add a device). Changes wait while devices are apart; nothing is ever "pending upload", because changes are durable the moment they're written.
- macOS note: the first sync session triggers the system's Local Network permission prompt — allow it, or pairing and discovery won't see peers.
Documentation
Browse the full documentation in docs/.
Want to contribute? Read CONTRIBUTING.md.
License
PromptBranch is released under the MIT License. The third-party software bundled with the app is listed in THIRD_PARTY_NOTICES.md and is also viewable in-app via About → Open Source Licenses.
来源:README.md,提交 6a2be9e
工具
0版本历史
1- v0.2.6最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分