{"_id":"@altananetwork/hypersigner-keystore-mcp","_rev":"3-fae623b4b0aca99827296eff1b981887","name":"@altananetwork/hypersigner-keystore-mcp","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@altananetwork/hypersigner-keystore-mcp","version":"0.1.0","keywords":["mcp","keystore","agent","authorization","agent-sdk","bnb","web3"],"license":"GPL-3.0-or-later","_id":"@altananetwork/hypersigner-keystore-mcp@0.1.0","maintainers":[{"name":"dorisg_xyz","email":"doris@functor.sh"}],"homepage":"https://docs.altana.network","bugs":{"url":"https://github.com/altananetwork/sdk/issues"},"bin":{"hypersigner-keystore-mcp":"src/index.ts"},"dist":{"shasum":"25fa4cf760d578a4abfe43592c8af00e07f008a4","tarball":"https://registry.npmjs.org/@altananetwork/hypersigner-keystore-mcp/-/hypersigner-keystore-mcp-0.1.0.tgz","fileCount":5,"integrity":"sha512-7/97rNFF1NsWzP7OtoA8XrZ4c5g5wVwMNMwJIvdG5FeagtX+wiuej41wO0FdAwQ7m4Jld4sbqXwF9IsoYyjmyw==","signatures":[{"sig":"MEUCIQDfd1o05V4VzjuOwWVb3LDxa0fOq5DjTNPB0sZUcyzbbwIgckI1iBauEu83x97GH0xL630xs1cm41BhRJgz4+B+lJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57427},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"bun":">=1.1.0"},"exports":{".":"./src/index.ts","./keystore":"./src/keystore.ts"},"scripts":{"test":"bun test","start":"bun run src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"node ../../scripts/check-publishable.mjs && bun run typecheck"},"_npmUser":{"name":"dorisg_xyz","email":"doris@functor.sh"},"repository":{"url":"git+https://github.com/altananetwork/sdk.git","type":"git","directory":"packages/hypersigner-keystore-mcp"},"_npmVersion":"11.12.1","description":"Non-custodial MCP server for KeyStore agent authorization: verify, register, timebox, and revoke keys without signing.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.23.0","viem":"^2.21.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.5.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/hypersigner-keystore-mcp_0.1.0_1783464392638_0.0684235547706269","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@altananetwork/hypersigner-keystore-mcp","version":"0.1.1","keywords":["mcp","keystore","agent","authorization","agent-sdk","bnb","web3"],"license":"GPL-3.0-or-later","_id":"@altananetwork/hypersigner-keystore-mcp@0.1.1","maintainers":[{"name":"dorisg_xyz","email":"doris@functor.sh"}],"homepage":"https://docs.altana.network","bugs":{"url":"https://github.com/altananetwork/sdk/issues"},"bin":{"hypersigner-keystore-mcp":"src/index.ts"},"dist":{"shasum":"c8c8de8440824e797d2dda122d4911e2e0552e96","tarball":"https://registry.npmjs.org/@altananetwork/hypersigner-keystore-mcp/-/hypersigner-keystore-mcp-0.1.1.tgz","fileCount":5,"integrity":"sha512-RmWQ2pO3F5jsTlzzzWq6smEQ2Miw669p+jf4L5BCpN4wtrL5KiCKLAe7O9qiMHikNCD3As9CBRJ+gjCvn+Fp/w==","signatures":[{"sig":"MEYCIQCPdBQT0K0AqCJyXHnlf0uRh2+ZCixmsvNg+LndLW/VswIhAPZ3oEDazdeNwil99oBYlxoEnxU+juiAnbHi8oqgJZ7w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57427},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"bun":">=1.1.0"},"exports":{".":"./src/index.ts","./keystore":"./src/keystore.ts"},"scripts":{"test":"bun test","start":"bun run src/index.ts","typecheck":"tsc --noEmit","prepublishOnly":"node ../../scripts/check-publishable.mjs && bun run typecheck"},"_npmUser":{"name":"dorisg_xyz","email":"doris@functor.sh"},"repository":{"url":"git+https://github.com/altananetwork/sdk.git","type":"git","directory":"packages/hypersigner-keystore-mcp"},"_npmVersion":"11.12.1","description":"Non-custodial MCP server for KeyStore agent authorization: verify, register, timebox, and revoke keys without signing.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.23.0","viem":"^2.21.0","@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","typescript":"^5.5.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/hypersigner-keystore-mcp_0.1.1_1783465909583_0.7042906061300562","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@altananetwork/hypersigner-keystore-mcp","version":"0.2.0","description":"Non-custodial MCP server for KeyStore agent authorization: verify, register, timebox, and revoke keys without signing.","license":"GPL-3.0-or-later","type":"module","repository":{"type":"git","url":"git+https://github.com/altananetwork/sdk.git","directory":"packages/hypersigner-keystore-mcp"},"homepage":"https://docs.altana.network","bugs":{"url":"https://github.com/altananetwork/sdk/issues"},"bin":{"hypersigner-keystore-mcp":"src/index.ts"},"main":"./src/index.ts","types":"./src/index.ts","exports":{".":"./src/index.ts","./keystore":"./src/keystore.ts"},"keywords":["mcp","keystore","agent","authorization","agent-sdk","bnb","web3"],"publishConfig":{"access":"public"},"engines":{"bun":">=1.1.0"},"scripts":{"start":"bun run src/index.ts","test":"bun test","typecheck":"tsc --noEmit","prepublishOnly":"node ../../scripts/check-publishable.mjs && bun run typecheck"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","viem":"^2.21.0","zod":"^3.23.0"},"devDependencies":{"@types/bun":"^1.1.0","@types/node":"^20.10.0","typescript":"^5.5.0"},"gitHead":"8dd7798d66916a735a80d6001d20c725028da4a9","_id":"@altananetwork/hypersigner-keystore-mcp@0.2.0","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-mbmK7YDbp1NPCJRFRInVAqlmge3P5/BqhZDEoPPNI4uANnJ7/uJTqBFfbOOw3UlOIjnoHIDsLqE1za5jrodbBg==","shasum":"821d497b6dee80d7c490bc9c86e85a1dd356ecf9","tarball":"https://registry.npmjs.org/@altananetwork/hypersigner-keystore-mcp/-/hypersigner-keystore-mcp-0.2.0.tgz","fileCount":5,"unpackedSize":57958,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGVVjvYdnmfbdDskON1GAFdy0OovDTC8tScQaDtkED5bAiEA6seuPhwVTKbwgl/oI84AnZaSdikJ2mRrlAj6lWd/3tw="}]},"_npmUser":{"name":"dorisg_xyz","email":"doris@functor.sh"},"directories":{},"maintainers":[{"name":"dorisg_xyz","email":"doris@functor.sh"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hypersigner-keystore-mcp_0.2.0_1784045913494_0.6384247367676572"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T22:46:32.418Z","modified":"2026-07-14T16:18:33.760Z","0.1.0":"2026-07-07T22:46:32.784Z","0.1.1":"2026-07-07T23:11:49.719Z","0.2.0":"2026-07-14T16:18:33.630Z"},"bugs":{"url":"https://github.com/altananetwork/sdk/issues"},"license":"GPL-3.0-or-later","homepage":"https://docs.altana.network","keywords":["mcp","keystore","agent","authorization","agent-sdk","bnb","web3"],"repository":{"type":"git","url":"git+https://github.com/altananetwork/sdk.git","directory":"packages/hypersigner-keystore-mcp"},"description":"Non-custodial MCP server for KeyStore agent authorization: verify, register, timebox, and revoke keys without signing.","maintainers":[{"name":"dorisg_xyz","email":"doris@functor.sh"}],"readme":"# @altananetwork/hypersigner-keystore-mcp\n\nNon-custodial MCP server for KeyStore agent authorization.\n\n`@altananetwork/hypersigner-keystore-mcp` lets **any agent SDK** verify agent-to-agent authority, and lets agent SDKs and tools register, timebox, and revoke agent authority through the Altana KeyStore registry. It never holds private keys, signs transactions, or broadcasts transactions. Read tools query on-chain state; encode tools return unsigned `{ to, value, data, chainId }` calls for your wallet or SDK to sign.\n\n## Use Cases\n\n- Agent-to-agent verification before payment, work dispatch, or data handoff.\n- Time-boxed authority for short-lived agent sessions that expire automatically.\n- Cross-service kill-switches where one revoke blocks an agent everywhere.\n- Neutral authorization checks for Trust Wallet Agent Kit, Coinbase AgentKit, LangChain agents, custom agent SDKs, and other agent runtimes.\n- Unsigned transaction encoding so the user's wallet or SDK remains the only signer.\n\n## Install\n\n```sh\nbunx @altananetwork/hypersigner-keystore-mcp\n```\n\nFor local development:\n\n```sh\nbun install\nbun run start\n```\n\n## MCP Config\n\nUse stdio transport:\n\n```json\n{\n  \"mcpServers\": {\n    \"keystore\": {\n      \"command\": \"bunx\",\n      \"args\": [\"@altananetwork/hypersigner-keystore-mcp\"],\n      \"env\": {\n        \"ALTANA_CHAIN\": \"bnb\"\n      }\n    }\n  }\n}\n```\n\nOptional env vars:\n\n- `ALTANA_CHAIN`: `bnb`, `bsc`, `56`, `ethereum`, `eth`, or `1`. Defaults to `bnb`.\n- `RPC_URL`: override the default public RPC URL.\n\n## Tools\n\n- `keystore_verify_authorization`\n  - Reads `isValidKey(user, keyId)`.\n  - Returns whether the key is registered, not revoked, and not expired.\n\n- `keystore_list_active_keys`\n  - Lists active key IDs for a user and expands each record with liveness, expiry, role, and public key.\n\n- `keystore_get_key`\n  - Reads a single on-chain key record.\n\n- `keystore_registration_quote`\n  - Reads the current one-time registration fee in native wei.\n\n- `keystore_encode_register_key`\n  - Returns unsigned calldata to register a root or session key.\n  - Session keys may include an `expiry` timestamp for time-boxed authority.\n\n- `keystore_encode_revoke_key`\n  - Returns unsigned calldata to revoke a key.\n  - Revocation must be signed by the user account.\n\n## Safety Model\n\nThis server is intentionally not a wallet.\n\n- It does not accept private keys.\n- It refuses 32-byte values passed as `publicKey`, because those often indicate private-key leakage.\n- It does not sign or send transactions.\n- It does not custody funds.\n- It only reads the KeyStore and encodes calls that another wallet or SDK signs.\n\n## Example Flow\n\n1. An Agent SDK creates an agent keypair.\n2. The SDK calls `keystore_encode_register_key` with the agent public key.\n3. The user wallet signs and sends the returned transaction.\n4. A counterparty calls `keystore_verify_authorization` before serving the agent.\n5. The user can later call `keystore_encode_revoke_key`; once signed and sent, all readers see the key as invalid.\n\n## Programmatic Helpers\n\nThe package also exports typed helpers:\n\n```ts\nimport {\n  buildRegisterCall,\n  buildRevokeCall,\n  deriveKeyId,\n  readIsValidKey,\n  resolveChain,\n} from \"@altananetwork/hypersigner-keystore-mcp/keystore\";\n```\n\n## License\n\nGPL-3.0-or-later.\n","readmeFilename":"README.md"}