Governed MCP gateway: policy gate on every tool call, hash-chained DSSE receipt on every result.
Connect Runs on your machine
claude mcp add hatun-mcp -e HATUN_MCP_DISABLE_DYNAMIC=<HATUN_MCP_DISABLE_DYNAMIC> -e HATUN_MCP_SIGNING_KEY=<HATUN_MCP_SIGNING_KEY> -- docker run -i --rm ghcr.io/szl-holdings/hatun-mcp:1.0.1
{
"mcpServers": {
"hatun-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/szl-holdings/hatun-mcp:1.0.1"
],
"env": {
"HATUN_MCP_DISABLE_DYNAMIC": "<HATUN_MCP_DISABLE_DYNAMIC>",
"HATUN_MCP_SIGNING_KEY": "<HATUN_MCP_SIGNING_KEY>"
}
}
}
}
{
"mcpServers": {
"hatun-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/szl-holdings/hatun-mcp:1.0.1"
],
"env": {
"HATUN_MCP_DISABLE_DYNAMIC": "<HATUN_MCP_DISABLE_DYNAMIC>",
"HATUN_MCP_SIGNING_KEY": "<HATUN_MCP_SIGNING_KEY>"
}
}
}
}
{
"servers": {
"hatun-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/szl-holdings/hatun-mcp:1.0.1"
],
"env": {
"HATUN_MCP_DISABLE_DYNAMIC": "<HATUN_MCP_DISABLE_DYNAMIC>",
"HATUN_MCP_SIGNING_KEY": "<HATUN_MCP_SIGNING_KEY>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
HATUN_MCP_DISABLE_DYNAMICOptional | Set to true to skip live organ discovery at startup (hermetic local mode; 25 static tools). |
HATUN_MCP_SIGNING_KEYOptional, secret | PEM contents of the ECDSA-P256 DSSE signing key. If absent, receipts are emitted UNSIGNED and say so. |
Details
| Package | ghcr.io/szl-holdings/hatun-mcp:1.0.1 (OCI, stdio) |
| First published | 1 Oct 2026 |
| Last updated | 1 Oct 2026 |
| Registry name | io.github.szl-holdings/hatun-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
