Happy MCP
A standalone MCP gateway that lets external AIs control Happy machines via OAuth, with dual LLM review for sensitive operations. Enables secure remote control of approved machines and directories through natural language.
README
Happy MCP
Happy MCP 是安装版 happy-agent 的外接安全桥。外部 AI 通过 OAuth 调用 MCP;MCP 在管理员机器策略和独立 LLM 审查通过后,以非交互子进程方式执行与人类相同的 happy-agent CLI 命令。
MCP client -> OAuth -> machine/path policy -> LLM review -> happy-agent argv
本仓库:
- 不包含 Happy 官方源码;
- 不导入
happy-agent、happy-cli、happy-server或 relay 内部模块; - 不实现 Happy 的 REST、WebSocket、加密或 RPC 协议;
- 不要求修改任何 Happy 官方代码;
- 只依赖管理员已经安装、认证并可正常使用的
happy-agent可执行文件。
完整工具和运行语义见 ARCHITECTURE.md。
前置条件
happy-agent --version
happy-agent auth status
happy-agent machines --json
三条命令必须在运行 MCP 的同一 OS 用户和环境中成功。MCP 不接管 Happy 登录,也不保存 Happy 账户凭据。
安装
要求 Node.js 20 以上和 pnpm 10.11。
cd /path/to/happy-mcp
pnpm install
pnpm test
pnpm build
启动示例:
HAPPY_MCP_PUBLIC_URL=https://mcp.example.com \
HAPPY_MCP_DATA_DIR=/var/lib/happy-mcp \
HAPPY_AGENT_BIN=/usr/local/bin/happy-agent \
node dist/index.mjs
配置示例见 .env.example,systemd 示例见 deploy/happy-mcp.service。
管理配置
本机管理面板默认绑定 127.0.0.1:3021。管理员在面板中配置:
- 哪些由
happy-agent machines --json发现的机器允许 MCP 使用; - 每台机器允许的工作目录;
- 每台机器的自然语言放行规则;
- LLM 审查 API、模型、API key、全局规则和双重审核开关;
- OAuth 客户端授权和撤销。
机器默认禁用。审核配置缺失、超时、返回错误或结构化结果不合法时,有副作用的操作失败关闭。
暴露的原生操作
当前只包装原生 happy-agent 已公开的 9 类操作:
machines --jsonlist --jsonstatus --jsonhistory --jsonspawn --jsonsend --jsonwaitresume --jsonstop
没有对应原生命令的 abort、permission、goal、shell、文件、kill、archive、delete 和持久 task 不会通过 MCP 暴露。
数据边界
MCP 自己的数据位于 HAPPY_MCP_DATA_DIR:
happy-mcp.sqlitestorage.keyadmin-password.txt
其中保存 OAuth、管理员会话、机器策略、审核设置和审核日志。审核 API key 与敏感 OAuth 元数据使用 storage.key 加密。
Happy 登录凭据由 happy-agent 自己管理,不进入 MCP 数据库。
验证
pnpm typecheck
pnpm test
pnpm build
HAPPY_MCP_SMOKE_URL=https://mcp.example.com pnpm smoke
OAuth smoke 会注册临时客户端、完成 PKCE、初始化 MCP、验证工具目录,然后撤销临时客户端并确认 token 失效。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。