Skip to main content
Glama

Heimdall

Heimdall is a lightweight service to manage local MCP Servers and can be installed with a single npx command. Specific MCP server tools can be authorized for your MCP clients, and the same config is accessible to all MCP clients on your device.

Installation

⚠️ NOTE: We strongly recommend backing up your MCP server config before installation to protect against unexpected loss of credentials.

The setup script performs a few key actions:

  • Moves the mcpServers config JSON from the path you specify to ~/.heimdall/config.json
  • Inserts a single config for heimdall in place of the previous mcpServers config path
  • Initializes the controls at ~/.heimdall/controls.json to authorize all methods on all current servers

See Configuration for steps to modify ~/.heimdall/controls.json to limit the authorized tools for a given server, and add new servers to ~/.heimdall/config.json.

  1. Run setup script (generates an empty config if no path is given):
npx @shinzolabs/heimdall setup <optional: path/to/current/config.json>

Via Local Instance

  1. Download the package:
git clone https://github.com/shinzo-labs/heimdall.git
  1. Install and build dependencies:
cd heimdall && pnpm i && pnpm build
  1. Run setup script (generates an empty config if no path is given):
pnpm run setup <optional: path/to/current/config.json> <optional: path to `index.js` file in local Heimdall instance, ex. `/path/to/local/heimdall/dist/index.js`>

Configuration

Edit Server List

To add or update available servers, simply update the configuration at ~/.heimdall/config.json as your regular mcpServers config JSON. Note that you will not see tools for new servers through Heimdall unless you also add the server and authorized tools to ~/.heimdall/controls.json.

Edit Authorized Tools

To add authorized tools to a new or existing server, add them as needed to ~/.heimdall/controls.json and Heimdall will update its internal config after a few seconds. If your MCP client supports dynamic tool list caching, you should see it update the authorized tools automatically. Other clients (ex. Claude Desktop) may require a restart to see the new tools.

This is the schema for ~/.heimdall/controls.json:

{ "authorizedMcpServers": { "server1": { "authorizedTools": [ "tool1", "tool2", ... ] }, "server2": { "authorizedTools": [ "tool1", "tool2", ... ] }

Multiple MCP Clients

If you run multiple MCP clients on your device, you can set the following config.json for each new client to enable the same authorized tools across all of them (assuming Heimdall has already been set up on the device):

{ "mcpServers": { "heimdall": { "command": "npx", "args": [ "@shinzolabs/heimdall" ] } } }

Troubleshooting

Available Tools

Some MCP Clients have limits on the number of tools available to agents at a given time. For example, Cursor only supports up to 40 tools across all servers, so the sum of authorizedTools in controls.json cannot exceed this number.

Logging

For logs on running instances, go to ~/.heimdall/logs. Logs for each MCP client's instance of Heimdall and child servers are stored in separate directories identified by random UUIDs.

Orphaned Child Processes

If your MCP client shut downs unexpectedly or fails to send the correct SIGTERM signal to Heimdall before closing, there may be orphaned node (and npm) processes still running on your device afterward. For the time being these must be force stopped manually. If there are no other sensitive node processes running on your device, you can use this command as post-cleanup:

pkill -aif node

Contributing

Contributions are welcomed and encouraged. Contact austin@shinzolabs.com with any questions, comments or concerns.

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Heimdall 是一款轻量级的本地 MCP 服务器管理服务,只需一个 npx 命令即可安装。您可以为您的 MCP 客户端授权特定的 MCP 服务器工具,并且您设备上的所有 MCP 客户端都可以访问相同的配置。

  1. 安装
    1. 通过 NPX(推荐)
    2. 通过本地实例
  2. 配置
    1. 编辑服务器列表
    2. 编辑授权工具
    3. 多个 MCP 客户端
  3. 故障排除
    1. 可用工具
    2. 日志记录
    3. 孤立子进程
  4. 贡献

    Related MCP Servers

    • A
      security
      A
      license
      A
      quality
      An MCP server that provides tools for interacting with Vercel API, enabling management of deployments, DNS records, domains, projects, and environment variables through natural language.
      Last updated -
      7
      147
      16
      TypeScript
      MIT License
    • -
      security
      A
      license
      -
      quality
      An MCP server that enables interaction with the Vercel API to manage deployments, DNS records, domains, projects, and environment variables through natural language commands.
      Last updated -
      147
      TypeScript
      MIT License
    • A
      security
      F
      license
      A
      quality
      An MCP server that provides various tools for interacting with the Vercel API, enabling management of deployments, DNS records, domains, projects, and environment variables through natural language commands.
      Last updated -
      7
      147
      19
      JavaScript
    • -
      security
      F
      license
      -
      quality
      An MCP server for accessing India's National Digital Health Mission (NDHM) Health ID services, enabling health information management through the NDHM API.
      Last updated -
      Python

    View all related MCP servers

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/shinzo-labs/heimdall'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server