Sponsored by Deepsite.site

Heimdall

Created By
shinzo-labsa year ago
Content

Heimdall

npm version smithery badge

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 local Heimdall instance\'s `index.js` file, 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",
        ...
      ]
    }

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.

Server Config

{
  "mcpServers": {
    "heimdall": {
      "command": "npx",
      "args": [
        "@shinzolabs/heimdall"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Amap Maps高德地图官方 MCP Server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
ChatWiseThe second fastest AI chatbot™
CursorThe AI Code Editor
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Tavily Mcp
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Serper MCP ServerA Serper MCP Server
DeepChatYour AI Partner on Desktop
WindsurfThe new purpose-built IDE to harness magic
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"