Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI โ†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE โ†— (opens in a new tab)
  • llms.txt โ†— (opens in a new tab)
  • Catalog JSON โ†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub โ†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
ยฉ 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ๐Ÿ“Š Monitoring
  3. Heimdall MCP
Heimdall MCP logo
Health: ActiveRecent health check succeeded.Last checked 9/9/2026, 4:31:32 PM

Heimdall MCP

User RatingsBe the first to rate and review this MCP server!
View Repository11 GitHub StarsTotal stargazers on GitHub for the source repository (11 stars).Visit Website
monitoringproxyjson-rpcopentelemetrypolicy

A transparent proxy for MCP servers that intercepts JSON-RPC, measures latency, stores traces, and enforces access policies.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Not yet automatically verified

We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ€” we're steadily working through the catalog.

Manual Client & Custom JSON ConfigExpand JSON โ–พ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "enmanuelmag-heimdall-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem"
      ]
    }
  }
}

๐Ÿ’ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Directory Badge Claim listing Alternatives๐Ÿ“Š More in Monitoring

Overview

This server acts as a transparent proxy for any MCP server, intercepting all JSON-RPC messages to measure latency and record traces in SQLite, PostgreSQL, or MySQL. It enforces per-server allow/deny policies without modifying the original server. It supports stdio, HTTP, and SSE transports and can export OpenTelemetry spans to Jaeger, Tempo, or Grafana. Use it to monitor, trace, and control MCP server interactions centrally.

Use cases

โ€ขIntercept and measure latency of MCP JSON-RPC calls
โ€ขStore detailed trace data in SQL databases for analysis
โ€ขEnforce allow/deny policies on MCP server tools and resources
โ€ขExport telemetry spans to OpenTelemetry-compatible backends
โ€ขProxy MCP servers over stdio, HTTP, or SSE transports

Key features

โ€ขTransparent proxy for any MCP server
โ€ขLatency measurement and JSON-RPC message interception
โ€ขTrace storage in SQLite, PostgreSQL, or MySQL
โ€ขConfigurable allow/deny policies per server
โ€ขOpenTelemetry (OTLP) span export to Jaeger, Tempo, Grafana
โ€ขSupports stdio, HTTP, and SSE transports

Capabilities & Tool Schemas

Inspect callable tools, capabilities, and parameters exposed to AI agents by Heimdall MCP.

Extracted Tool Capabilities
Transparent proxy for any MCP server
Latency measurement and JSON-RPC message interception
Trace storage in SQLite, PostgreSQL, or MySQL
Configurable allow/deny policies per server
OpenTelemetry (OTLP) span export to Jaeger, Tempo, Grafana
Supports stdio, HTTP, and SSE transports

Documentation Overview

@cardor/heimdall-mcp

Transparent proxy for any MCP server. Intercepts all JSON-RPC messages, measures latency, stores traces in a configurable database, and enforces per-server allow/deny policies โ€” without touching the original server.

Visit the website to view a full explanation, examples, and other tools!

npm version npm downloads license Known Vulnerabilities heimdall-mcp MCP server

Buy Me a Coffee at ko-fi.com

Table of Contents

  • @cardor/heimdall-mcp
    • Table of Contents
    • How it works
    • Installation
    • Policy config
      • Config files
      • Config format
      • Merge strategy
      • Argument policies
      • Resource locks
      • Host policies
      • Limitations
      • What happens when a call is blocked
      • Server name
      • Policy config in library mode
    • Usage modes
      • Mode 1 โ€” CLI wrapping a subprocess (stdio)
      • Mode 2 โ€” CLI wrapping a remote HTTP server
      • Mode 3 โ€” CLI wrapping a remote SSE server
      • Mode 4 โ€” Library for developers
    • Stores
      • SQLite
      • PostgreSQL
      • MySQL
    • What gets recorded
    • Jaeger UI (OTLP)
      • 1. Start Jaeger
      • 2. Add --otlp to your config
      • 3. Open Jaeger UI
    • Custom interceptors
    • CLI reference
      • start
      • init
      • health
    • Tracing reference
    • Roadmap

How it works

mermaid
flowchart LR
    A["MCP Client\n(Claude Desktop / OpenCode / Cursor)"]

    subgraph proxy["heimdall-mcp"]
        B["TelemetryInterceptor"]
        P["PolicyInterceptor"]
        C["ForwardInterceptor"]
        D[("SQLite\nPostgres\nMySQL")]
        B --> P
        P --> C
        B -->|"saves span"| D
    end

    S["Real MCP server\n(subprocess / HTTP / SSE)"]

    A -->|"stdio"| B
    C -->|"stdio ยท http ยท sse"| S
    S -->|"response"| C
    C -->|"response"| A

The proxy always exposes stdio to the MCP client and speaks the correct transport to the real server. Every request/response pair is converted into a span with timing, attributes, and the input/output body.


Installation

Terminal
npm install -g @cardor/heimdall-mcp
# or as a project dependency
npm install @cardor/heimdall-mcp

Policy config

Drop a heimdall.config.ts in your project root and define exactly which tools, prompts, and resources each MCP server is allowed to expose to the agent โ€” at the proxy layer, without touching the server code.

Config files

ScopePathPurpose
Local{project-root}/heimdall.config.{ts,js,mjs,cjs,json}Per-repo rules
Global~/.config/heimdall/heimdall.config.{ts,js,mjs,cjs,json}User/org-wide rules

Both are optional. If neither exists, the proxy stays fully transparent (backward compatible).

Config format

server.ts
// heimdall.config.ts
import type { HeimdallConfig } from '@cardor/heimdall-mcp';

export default {
  // default: applies to any server without an explicit entry
  default: {
    tools: { allow: ['*'], deny: [] },
  },

  // servers: keyed by --server-name (or serverInfo.name from initialize response)
  servers: {
    filesystem: {
      tools: {
        allow: ['read_file', 'list_directory', 'search_files'],
        deny:  ['write_file', 'create_file', 'delete_file', 'move_file'],
      },
      resources: {
        allow: ['*'],
        deny:  ['file:///etc/*', 'file:///root/*'],
      },
    },
    database: {
      tools: {
        allow: ['query', 'describe_table', 'list_tables'],
        deny:  ['execute', 'drop_table', 'truncate'],
      },
    },
  },
} satisfies HeimdallConfig;

TypeScript configs are loaded via jiti without pre-compilation. Also works as .js, .mjs, .cjs, or .json.

Merge strategy

When both local and global configs exist, they merge with security-first semantics:

RuleBehavior
Deny โ†’ unionDenied by either = denied. Global deny cannot be overridden locally.
Allow โ†’ intersectionMust pass both. * or [] means "defer to the other side."
Deny beats allowWithin any single config, deny always wins.

The global config enforces a floor the team can't accidentally loosen. Local configs can only add more restrictions, never fewer.

Argument policies

toolPolicies adds a second enforcement layer on top of name-level tools rules. Instead of just deciding which tools are callable, you can constrain what arguments are allowed on each call.

server.ts
// heimdall.config.ts
export default {
  servers: {
    filesystem: {
      tools: { allow: ['read_file', 'list_directory'] },
      toolPolicies: {
        // '*' applies to every tool (merged first; tool-specific entries override)
        '*': {
          args: {
            path: { isPath: true, deny_pattern: ['\\.env$', '\\.pem$'] },
          },
        },
        read_file: {
          args: {
            // scope path to the current working directory
            path: { isPath: true, allow_pattern: './' },
            // allow only safe encodings
            encoding: { allow_pattern: ['utf-8', 'utf8', 'ascii'] },
          },
        },
      },
    },
  },
} satisfies HeimdallConfig;

ArgConstraint fields

FieldTypeDefaultDescription
isPathbooleanfalseEnables path-aware matching (containment check) instead of regex
allow_patternstring | string[]โ€”Arg must match at least one pattern to pass
deny_patternstring | string[]โ€”Arg is blocked if it matches any pattern; deny wins over allow
array_mode'all' | 'any''all'For array-typed args: require all items to pass (all) or at least one (any)
case_sensitivebooleantrueRegex flag; not applied to path-root matching
warn_onlybooleanfalseRecord the violation in the OTel span without blocking the call

Path scoping with isPath: true

When isPath: true, patterns that look like directory roots are treated as containment checks rather than regex expressions:

PatternMeaning
"./" or "."Arg must resolve within process.cwd()
"/some/dir"Arg must resolve within /some/dir
"~" / "${HOME}/projects"Resolved to homedir
"${CWD}/data"Resolved to cwd + /data

The resolver uses path.resolve + fs.realpathSync to prevent ../ traversal and symlink escapes. Patterns that don't look like directory roots (e.g. "^/etc/.*") fall back to regex matching.

warn_only mode

Useful for gradual rollout: set warn_only: true to observe violations without blocking. The call is forwarded and the following attributes appear in the OTel span:

Code
policy.arg_warning = true
policy.arg_warning_field = "path"
policy.arg_warning_message = "Tool arg 'path' is denied by policy"

Switch to warn_only: false (the default) when you're ready to enforce.

Dot-notation for nested args

Use dot notation to constrain fields inside nested parameter objects:

typescript
toolPolicies: {
  my_tool: {
    args: {
      'options.target': { isPath: true, allow_pattern: './' },
    },
  },
}

Resource locks

Prevent concurrent tools/call invocations from racing on the same resource (e.g. two agents writing the same file at once). Configure a locks block per server, keyed by tool name.

Use cases

Concrete scenarios where resource locks solve a real coordination problem:

Read the full README โ†’View source on GitHub โ†’

Related MCP Servers

View all in Monitoring View all alternatives
  • Llmkit logoLlmkit

    AI API cost tracking and budget enforcement across 11 LLM providers. 6 tools for spend analytics, budget monitoring, session summaries, and key management.

    ๐Ÿ“Š Monitoring2 views
    Compare vs Llmkit โ†’
  • World Monitor logoWorld Monitor

    Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.

    ๐Ÿ“Š Monitoring5 views
    Compare vs World Monitor โ†’
  • Dynatrace MCP logoDynatrace MCP

    Leverage AI-driven observability, security, and automation to analyze anomalies, logs, traces, events, metrics.

    ๐Ÿ“Š Monitoring3 views
    Compare vs Dynatrace MCP โ†’
  • Byok Observability MCP logoByok Observability MCP

    Comprehensive MCP server for Grafana, Prometheus, Kafka UI, and Datadog with a secure "Bring Your Own Key" or BYOK model.

    ๐Ÿ“Š Monitoring2 views
    Compare vs Byok Observability MCP โ†’

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks โ€” not a rating.

GitHub stars
11
Stargazers on the source repository.
npm downloads
2.8M
Package downloads in the last 30 days.
Last commit
1mo ago
Most recent push to the default branch.
Directory activity
2 views
Config copies, upvotes, and views on AllMCPs.

Reviews

No reviews yet โ€” be the first to share how this listing worked for you.

Frequently Asked Questions about Heimdall MCP

It acts as a transparent proxy intercepting JSON-RPC messages and applies allow/deny rules at the proxy layer before forwarding requests.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewHeimdall MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/enmanuelmag-heimdall-mcp?style=directory)](https://allmcps.com/mcp/enmanuelmag-heimdall-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/enmanuelmag-heimdall-mcp"><img src="https://allmcps.com/api/badge/enmanuelmag-heimdall-mcp?style=directory" alt="Heimdall MCP on AllMCPs" /></a>

Technical Specs & Signals

Category๐Ÿ“ŠMonitoring
PricingFree
More technical detailsExpand โ–พ
TransportSTDIO
RuntimeNode.js
AuthNo auth required
LicenseMIT
ClientsClaude Desktop, Cursor, Windsurf, Cline / VS Code
Last updatedAug 9, 2026
10/10 checks healthy over the last 33d
Views2
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars11
GitHub Star CountTotal stargazers on GitHub representing community popularity (11 stars).
Last commit1mo ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Jul 16, 2026
npm downloads2,827,451/mo
Monthly npm DownloadsAverage monthly package installs recorded from npm registry statistics.
53Quality signal: Good ยท 53/100How this signal is calculated โ–พ
Server availabilityNot measured

Not scored for repo-hosted servers โ€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership7/20
Documentation & tools25/30
Adoption & activity8/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

Supply-chain signal

2 high-severity advisories on record for this package. Most advisories affect transitive dependencies and may not be exploitable in this server's actual usage โ€” this is a directional signal, not a security audit.

Critical 0High 2Medium 0Low 0

Scanned 23d ago via OSV.dev ยท @modelcontextprotocol/server-filesystem (npm)

โ˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge โ€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it โ€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ๐Ÿ“Š Monitoring โ†’Best MCP servers for Monitoring & Observability โ†’Alternatives to Heimdall MCP โ†’Install in Claude DesktopInstall in CursorInstall in VS Code