KMP
mcpotherio.github.underpass-ai/kmp · v0.24.0
Local-first agent memory that preserves what happened, when and why
run it
on your own machines, one way per deploy methodgenerated from the record, not tested yet
# once, as root: cargo install --locked kmp-mcp --version 0.24.0 --root /usr/local #!/usr/bin/env bash # kmp (io.github.underpass-ai/kmp), recipe baremetal (generated). # Generated by Hub for toolset "my-agent"; started by mcp-my-agent-kmp.service. set -euo pipefail export HOST=127.0.0.1 PORT=8101 exec uvx mcp-proxy --host 127.0.0.1 --port 8101 --pass-environment -- kmp-mcp [Unit] Description=MCP server kmp (toolset my-agent), generated by Hub After=network-online.target Wants=network-online.target [Service] Type=simple User=mcp Group=mcp EnvironmentFile=/etc/mcp/my-agent.env Environment=HOME=/var/lib/mcp/kmp WorkingDirectory=/var/lib/mcp/kmp ExecStart=/opt/mcp/my-agent/bin/kmp.sh Restart=on-failure RestartSec=5 NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true ReadWritePaths=/var/lib/mcp/kmp [Install] WantedBy=multi-user.target
connect to it
copy what your client needskmp-mcp # env: KMP_MCP_DATA_DIR, KMP_VIEWER_ADDR, KMP_KERNEL_GRPC_ENDPOINT
{
"mcpServers": {
"kmp": {
"command": "kmp-mcp",
"args": [],
"env": {
"KMP_MCP_DATA_DIR": "${KMP_MCP_DATA_DIR}",
"KMP_VIEWER_ADDR": "${KMP_VIEWER_ADDR}",
"KMP_KERNEL_GRPC_ENDPOINT": "${KMP_KERNEL_GRPC_ENDPOINT}"
}
}
}
}
#!/usr/bin/env bash
# Registers every server with Claude Code (run once; `claude mcp list` to check).
set -euo pipefail
set -a; [ -f .env ] && source .env; set +a
claude mcp add kmp -e "KMP_MCP_DATA_DIR=${KMP_MCP_DATA_DIR}" -e "KMP_VIEWER_ADDR=${KMP_VIEWER_ADDR}" -e "KMP_KERNEL_GRPC_ENDPOINT=${KMP_KERNEL_GRPC_ENDPOINT}" -- kmp-mcp
{
"mcpServers": {
"kmp": {
"command": "kmp-mcp",
"args": [],
"env": {
"KMP_MCP_DATA_DIR": "${KMP_MCP_DATA_DIR}",
"KMP_VIEWER_ADDR": "${KMP_VIEWER_ADDR}",
"KMP_KERNEL_GRPC_ENDPOINT": "${KMP_KERNEL_GRPC_ENDPOINT}"
}
}
}
}
{
"servers": {
"kmp": {
"type": "stdio",
"command": "kmp-mcp",
"args": [],
"env": {
"KMP_MCP_DATA_DIR": "${KMP_MCP_DATA_DIR}",
"KMP_VIEWER_ADDR": "${KMP_VIEWER_ADDR}",
"KMP_KERNEL_GRPC_ENDPOINT": "${KMP_KERNEL_GRPC_ENDPOINT}"
}
}
}
}
name: my-agent target: local servers: - hub: io.github.underpass-ai/kmp
- not probed yet: tools unpinned, ingest lists them
tools
Not probed yetThe tools appear once the hub or its worker has listed this entry. Running it still works: your client lists them on first start.