karma-connect
One command that wires the Karma MCP server into every agent host on this machine.
pip install ./packages/karma-connect
# or, without cloning the repo:
pip install "karma-connect @ git+https://github.com/AtoB101/Karma@main#subdirectory=packages/karma-connect"
karma-connect detect
karma-connect install
Not on PyPI yet (pip install karma-connect returns 404); see
docs/mcp/karma-mcp-integration.md.
No JSON editing, no config file archaeology. It finds the hosts you already have and writes one named server entry into each.
Which server it wires
karma-mcp-server (packages/karma-mcp-server) - the thin access layer that only
ever holds KARMA_RUNTIME_KEY. The older karma-mcp package is not used: it
wanted KARMA_PRIVATE_KEY injected into the MCP process, which the security audit
retired, and karma-mcp-server refuses to start when private key material is in its
environment. So install refuses --env KARMA_PRIVATE_KEY=... (or any mnemonic key)
instead of writing a server that can never boot.
KARMA_RUNTIME_URL defaults to the public node (https://karma-network.ai), so a
fresh install needs no --env at all. Everything else the agent needs arrives when
the owner approves the pairing.
What it touches
| host | config | key |
|---|---|---|
| Codex CLI | $CODEX_HOME/config.toml (default ~/.codex/config.toml) |
[mcp_servers.karma] |
| Claude Code | ~/.claude.json |
mcpServers.karma |
| Cursor | ~/.cursor/mcp.json |
mcpServers.karma |
| Muse Code (Meta) | ${XDG_CONFIG_HOME:-~/.config}/muse/settings.json |
mcpServers.karma |
| OpenClaw | $OPENCLAW_STATE_DIR/openclaw.json (default ~/.openclaw/openclaw.json) |
mcp.servers.karma |
| VS Code | <workspace>/.vscode/mcp.json (only with --workspace) |
servers.karma |
Only that one entry is touched; every other line is preserved. Running install twice changes nothing the second time.
Gotchas it handles for you
- Muse Code wants
"type": "stdio"(its docs page saystransport, the binary does not) plusschema_version: 1, and it drops the whole MCP block ifmcp_serversandmcpServersever appear together. This tool only writesmcpServers. - Codex keeps MCP servers in TOML tables, not JSON, so the writer replaces just
the
[mcp_servers.karma]block and leaves yourmodel, plugins and marketplaces alone. - OpenClaw nests under
mcp.servers, notmcpServers.
Commands
karma-connect detect- which hosts exist here, and where their config liveskarma-connect install [--host codex,muse] [--dry-run]- write the entrykarma-connect doctor- iskarma-mcp-serverreachable, is every config readable, is this machine paired yetkarma-connect sign-check- print the per-request signature this machine would send
After installing
- Restart the agent host so it reloads MCP servers.
- Have the agent call
karma_connect(agent_name= whatever it calls itself). It prints auser_codeand averification_uri- open that link in Karma Console, check theagent_fingerprinton the card matches the one the agent showed you, set the limits, and approve. - Have the agent call
karma_connect_claim. Approval is activation, so the credentials come back directly - there is no 8-character code to relay. - Credentials land in
~/.karma/agent.env(0600). Nothing secret travels through chat.
The 8-character handoff code still exists as a fallback for machines that cannot
generate a local agent key, and the console can add an email-receipt gate as a third
lock when the approval carries notify_email.
Metadata
Release files for karma-connect 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| karma_connect-1.0.0.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| karma_connect-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.0 kB
Release files / karma_connect-1.0.0.tar.gz
| Download URL | karma_connect-1.0.0.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
733dd2c83e017fe5c7af803485b8afec3ffd106caa7e50c54cdc63284572ff67
|
|
BLAKE2b-256 checksum How to use checksums |
724a7073260f871d5a2ec480f9e53cbf78612621196b369784471502aa9ebefe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / karma_connect-1.0.0-py3-none-any.whl
| Download URL | karma_connect-1.0.0-py3-none-any.whl |
|---|---|
| Size | 18.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
842c8e5f3ee83c3b63f713739b34ab472cb16eceadc219a8bc2db150c6c9a20a
|
|
BLAKE2b-256 checksum How to use checksums |
29f543adeca0bd69509a5209704eae036fbfecb4c3071500d01f6be4820a33b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|