appbridge
Provides dedicated Git tools for inspecting logs, status, diffs, branches, and commits, and allows running Git commands through the CLI runner within configured policy limits.
Provides macOS-specific system tools such as screenshots, notifications, speech, clipboard access, and opening applications, with platform-aware degradation on other systems.
Provides tools for interacting with an Obsidian vault: listing, searching, reading, writing, and appending notes, as well as inspecting tags and backlinks.
Provides tools for listing local Ollama models and chatting with local models.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
appbridge
给 agent 装上手脚:把电脑上的东西变成它能直接调用的工具,把干活的步骤存成能反复跑的配方。
电脑上的能力本来是散的:文件在硬盘里、命令在终端里、知识库在 Obsidian 里、文档是 docx。 appbridge 把它们统一成一张动词表——每个工具一个名字、一组参数、一个确定的返回。
零外部依赖:只用 Node 内置模块,一个
node就能跑两种外壳:中立 MCP server(任何宿主都能接)+ DeepSeek Harness 插件
内核与插件分开:插件是薄壳,逻辑全在内核,换宿主不用重写
48 个工具 · 10 种工具类型 · 7 个配方 · 32 个测试 · 176 KB它解决三件事
一、让 AI 真的能动手。 它本来只能说话。接上这 48 个工具,它能读笔记库、跑 git、解析 Word 和 PPT、 调本机模型、截屏、发通知——这些原来只有人在终端里敲得出来的动作,现在 AI 能直接调。
二、让重复的活儿只做一次。 一次跑通,存成配方;下次一条命令,不重新推理,也不会每次做得不一样。
三、接一个新应用 = 加一段 JSON。 不用写代码。有命令行填 cli,有本地端口填 http,有数据目录填 fs。
Related MCP server: teaching-mcp-server
为什么是「动词表」而不是让 AI 现拼命令
不是不能跑 shell,是跑 shell 会一直在低水平上出错。
让 AI 现拼 shell 命令 | 给它一张动词表 | |
每次执行 | 现场拼字符串,引号、空格、转义都可能错 | 名词化调用,参数是结构化的 |
出错时 | 命令写错,整条废掉,得重试 | 缺参数在调用前就报清楚,改一个参数重跑 |
返回结果 | 一段文本,还要再解析 | 结构化的值,下一步能直接引用 |
复现 | 每次重新拼,可能不一样 | 写进配方,顺序固定,可重放 |
加新能力 | 教它一套新命令的写法 | 加一段 JSON 声明 |
一句话:动词表让 AI 把注意力花在「干什么」上,而不是「这条命令怎么写」。
快速开始
git clone https://github.com/stevenwang15/appbridge.git
cd appbridge
node bin/cli.js doctor # 体检:这台机器上哪些工具能用
node bin/cli.js tools # 48 个工具
node bin/cli.js call sys.info # 直接调一个
node bin/cli.js run vault-search --set "q=适当性" # 跑配方doctor 检查四件事:平台对不对、命令装没装、端口通不通、路径存不存在。
cp config.json config.local.json # 然后改里面的 vault / model三种用法
1. 命令行
node bin/cli.js doctor
node bin/cli.js call docx.read --set path=报告.docx
node bin/cli.js run parallel-demo --async # 后台跑
node bin/cli.js jobs / wait <id> / kill <id>2. MCP server(中立外壳,推荐)
任何支持 MCP 的宿主都能接,不依赖宿主版本:
{
"mcpServers": {
"appbridge": {
"command": "node",
"args": ["/absolute/path/to/appbridge/bin/mcp.js"]
}
}
}DeepSeek Harness / Claude Desktop / Cursor / 任何 MCP 客户端通用。接上就是 48 个工具。
3. DeepSeek Harness 插件
npm install appbridge-dsh-plugin插件把内核工具注册成 DSH 原生工具(ctx.tools.register + defineTool),实现见
packages/dsh-plugin。
插件壳依赖宿主提供的
@deepseek-ai/dsh-tools。如果你的 DSH 版本不暴露它, 用上面的 MCP 方式接入,功能完全一样。
48 个工具
Office(不装 Office 也能用) — docx/xlsx/pptx 本质是 zip + XML,用 Node 内置 zlib 自己解析
docx.read docx.write xlsx.read pptx.read
压缩包 / 表格 zip.list zip.read zip.extract csv.read
文件 fs.read fs.write fs.append fs.list fs.find fs.search
Obsidian obs.list obs.search obs.read obs.write obs.append obs.tags obs.backlinks
命令 / 版本库 cli.run git.log git.status git.diff git.branch git.show
系统 sys.info sys.disk sys.process sys.screenshot sys.notify sys.say clip.read clip.write app.open
图片 img.info img.resize textutil.convert
本机模型 / 网络 ollama.models ollama.chat http.get
数据加工 text.join json.get echo delay
加一个工具 = 往 tools.json 加一段 JSON,不用写代码:
"git.status": {
"desc": "git 工作区改动",
"kind": "cli",
"command": "git",
"args": ["status", "--short"],
"cwd": "{{repo}}",
"params": { "repo": { "type": "string", "default": "." } }
}配方:步骤的顺序
{
"name": "vault-search",
"when": "在 Obsidian 库里搜关键词",
"args": { "q": { "type": "string", "required": true } },
"steps": [
{ "id": "hits", "tool": "obs.search", "args": { "pattern": "{{q}}" } },
{ "id": "body", "tool": "text.join", "args": { "items": "{{$1}}", "sep": "\n" } },
{ "id": "save", "tool": "fs.write", "args": { "path": "out/search.md", "content": "{{$2}}" } }
]
}变量:{{参数}}、{{$1}}(第 1 步输出)、{{date}} {{time}} {{stamp}} {{cwd}}
配方是数据不是脚本:agent 能填参数生成,人能直接改,每一步都能单测。
异步执行
配方内并行
{ "id": "slow", "parallel": [
{ "id": "a", "tool": "delay", "args": { "ms": 800 } },
{ "id": "b", "tool": "delay", "args": { "ms": 800 } } ] }实测 3×800ms:顺序 2.44s,并行 0.84s。
整条配方后台跑 — --async 31ms 返回任务号,状态落盘 jobs/<id>/,可跨进程查、等、杀。
调用范围
policy.json 决定这些工具能碰到哪里。它是配置,不是目的——
想让 AI 多干点,往范围里加;想收窄,删掉。
{
"base": ".",
"allowExec": ["git", "node", "osascript", "screencapture", "sips", "ps", "textutil", "tesseract", "blender"],
"allowRead": ["./**", "{{config.vault}}/**"],
"allowWrite": ["./**", "{{config.vault}}/**"],
"allowNet": ["127.0.0.1", "localhost"]
}路径:
path按读/写判定,src只读,dest只写命令:必须在
allowExec里网络:host 必须在
allowNet里
base 固定相对程序目录,不跟 cwd 走。
说明:
cli类工具的范围是「跑哪个命令」,命令自己往哪写由那个命令决定。这一层管的是能力边界,不是系统沙箱。
可移植性
文件 | 放什么 | 进版本库 |
| 可移植默认值 | 是 |
| 本机差异(知识库路径、模型名) | 否 |
环境变量:APPBRIDGE_VAULT APPBRIDGE_MODEL APPBRIDGE_PLATFORM APPBRIDGE_POLICY
平台差异自动降级:macOS 专属工具标了 "platform": ["darwin"]。
APPBRIDGE_PLATFORM=linux node bin/cli.js doctor # 38/48
APPBRIDGE_PLATFORM=win32 node bin/cli.js doctor # 36/48仓库结构
appbridge/ 内核(npm: appbridge-core)
├── bin/cli.js 命令行入口
├── bin/mcp.js MCP server 入口(中立外壳)
├── src/invoke.js 工具调用器
├── src/recipe.js 配方执行器
├── src/jobs.js 后台任务
├── src/doctor.js 体检
├── src/zip.js ZIP 读写
├── src/office.js docx / xlsx / pptx
├── src/mcp.js MCP 工具描述
├── src/config.js 配置合并
├── tools.json 48 个工具
├── policy.json 调用范围
├── recipes/ 配方
└── packages/dsh-plugin/ DSH 插件壳(薄)
测试:32 个(内核 25 + 插件契约 7)开发者
node --test test/ # 内核测试
node --test packages/dsh-plugin/test/ # 插件契约测试License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to securely control and interact with a local Windows machine through 218 configurable tools for files, Git, processes, Windows UI, browser automation, WSL, Office, recovery, skills, and child MCP servers.8 npmMIT
- AlicenseAqualityCmaintenanceEnables users to access local files, manage persistent notes via CRUD, fetch URLs, inspect system information, and analyze or transform text through MCP tools.11MIT
- FlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 tools over a single OAuth-gated MCP endpoint, letting web-based AI clients such as Claude, ChatGPT, and Grok read and edit files, run whitelisted shell commands, search, query SQLite, use Git, automate browsers and DevTools, manage background tasks, reach localhost services, and control the clipboard, notifications, ports, and Postman. This turns remote AI chats into secure operators of a local machine without granting unrestricted shell access.-
- FlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 tools over one OAuth-gated MCP endpoint, letting web-based AI clients such as Claude, ChatGPT, and Grok read and edit files, run whitelisted shell commands, search content, use Git, inspect SQLite databases and localhost APIs, automate browsers, manage background tasks, and control Postman. It runs locally with a tailnet or public ingress so browser-based chats can act on your own machine without granting unrestricted shell access.-