海姆达尔
](https://badge.fury.io/js/@shinzolabs%2Fheimdall) ](https://smithery.ai/server/@shinzo-labs/heimdall)
Heimdall是一个轻量级的服务,用于管理本地 MCP服务器 并且可以安装一个 npx 命令。可以为您的MCP客户端授权特定的MCP服务器工具,并且设备上的所有MCP客户端都可以访问相同的配置。
安装
⚠️ 注: 我们强烈建议在安装之前备份MCP服务器配置,以防止意外丢失凭据。
安装脚本执行一些关键操作:
- 移动
mcpServers从您指定的路径配置JSON~/.heimdall/config.json - 为插入单个配置
heimdall代替之前的mcpServers配置路径 - 在以下位置初始化控件
~/.heimdall/controls.json授权所有当前服务器上的所有方法
看 配置 用于修改步骤 ~/.heimdall/controls.json 限制给定服务器的授权工具,并向添加新服务器 ~/.heimdall/config.json.
通过NPX(推荐)
- 运行安装脚本(如果没有给出路径,则生成空配置):
npx @shinzolabs/heimdall setup 通过本地实例
- 下载软件包:
git clone https://github.com/shinzo-labs/heimdall.git- 安装并构建依赖关系:
cd heimdall && pnpm i && pnpm build- 运行安装脚本(如果没有给出路径,则生成空配置):
pnpm run setup 配置
编辑服务器列表
要添加或更新可用服务器,只需在以下位置更新配置 ~/.heimdall/config.json 作为你的常规 mcpServers 配置JSON。请注意,除非您还将服务器和授权工具添加到 ~/.heimdall/controls.json.
编辑授权工具
要将授权工具添加到新的或现有的服务器,请根据需要添加到 ~/.heimdall/controls.json Heimdall将在几秒钟后更新其内部配置。如果您的MCP客户端支持动态工具列表缓存,您应该看到它会自动更新授权工具。其他客户端(例如Claude Desktop)可能需要重新启动才能看到新工具。
这是的架构 ~/.heimdall/controls.json:
{
"authorizedMcpServers": {
"server1": {
"authorizedTools": [
"tool1",
"tool2",
...
]
},
"server2": {
"authorizedTools": [
"tool1",
"tool2",
...
]
}多个MCP客户端
如果在设备上运行多个MCP客户端,则可以设置以下内容 config.json 对于每个新客户端,在所有客户端上启用相同的授权工具(假设Heimdall已在设备上设置):
{
"mcpServers": {
"heimdall": {
"command": "npx",
"args": [
"@shinzolabs/heimdall"
]
}
}
}故障排除
可用工具
一些MCP客户端在给定时间对代理可用的工具数量有限制。例如,Cursor在所有服务器上最多只支持40个工具,因此 authorizedTools 在……里面 controls.json 不能超过这个数字。
日志记录
对于正在运行的实例的日志,请转到 ~/.heimdall/logs每个MCP客户端的Heimdall实例和子服务器的日志存储在由随机UUID标识的单独目录中。
孤儿程序
如果您的MCP客户端意外关闭或未能发送正确的 SIGTERM 关闭前向海姆达尔发出信号,可能会有孤儿 node (以及 npm)之后,您的设备上仍在运行的进程。目前,这些必须手动强制停止。如果没有其他敏感 node 在设备上运行的进程中,您可以将此命令用作后清理:
pkill -aif node贡献
欢迎并鼓励捐款。联系austin@shinzolabs.com有任何问题、意见或疑虑。

