{"_id":"@aithos/mcp-remote","name":"@aithos/mcp-remote","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aithos/mcp-remote","version":"0.1.0","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc -p tsconfig.build.json","check-types":"tsc -b --pretty false","lint":"echo 'no-op' ","test":"node --import tsx --test --test-reporter=spec src/*.test.ts","prepublishOnly":"rm -rf dist && tsc -p tsconfig.build.json"},"dependencies":{"@aithos/protocol-core":"^0.10.3","@aithos/protocol-client":"^0.1.0-alpha.35","@aithos/mcp":"^0.12.0","@modelcontextprotocol/sdk":"^1.29.0"},"devDependencies":{"@innoesate/tsconfig":"workspace:*","@types/node":"^24.12.2","tsx":"^4.11.0","typescript":"^5.9.2","@noble/ed25519":"^2.1.0","@noble/hashes":"^1.5.0"},"description":"Aithos RemoteStorage — an AithosStorage backed by the Aithos platform primitives (reads + delegate-signed transactional writes). Pairs with @aithos/mcp for the agent-at-the-client shape.","license":"Apache-2.0","publishConfig":{"access":"public"},"bin":{"aithos-mcp-remote":"dist/bin.js"},"_id":"@aithos/mcp-remote@0.1.0","gitHead":"806207f8aeead6edf2cd5d4dd4870a2eb6afd66c","_nodeVersion":"23.9.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-6faQNGdjEUouWDbcgh+imSypsuYbf1m0aR24qAqicFjMX5EyzqmZVeDBECtyMSUcQsO+pNzLJYnzhS1INEYyQA==","shasum":"061e3618e2c73a88388ef692a9d6f392e6b99e16","tarball":"https://registry.npmjs.org/@aithos/mcp-remote/-/mcp-remote-0.1.0.tgz","fileCount":17,"unpackedSize":65689,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDGFvYv1lzs6lvGh0D+AENVi0yXWZL12WBhUsgUtW7wrwIgPFUeajEEaFV/AOi+tX/QEySTBzx1rpRtJ5F3BTlZql4="}]},"_npmUser":{"name":"aithos","email":"mathieu@aithos.be"},"directories":{},"maintainers":[{"name":"aithos","email":"mathieu@aithos.be"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-remote_0.1.0_1781120970813_0.015449402408546087"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-10T19:49:30.646Z","0.1.0":"2026-06-10T19:49:30.959Z","modified":"2026-06-10T19:49:31.172Z"},"maintainers":[{"name":"aithos","email":"mathieu@aithos.be"}],"description":"Aithos RemoteStorage — an AithosStorage backed by the Aithos platform primitives (reads + delegate-signed transactional writes). Pairs with @aithos/mcp for the agent-at-the-client shape.","license":"Apache-2.0","readme":"# @aithos/mcp-remote\n\n**The \"agent at the client\" shape (M3).** Run a delegated Aithos MCP server\non ANY machine — Claude Desktop, Claude Code, Cursor — with no local\nkeystore and no subject keys. Reads hit the Aithos platform primitives;\nwrites are composed client-side and published as ONE delegate-signed\nedition (`aithos.publish_ethos_edition`, spec §11). Authority comes from a\n**mandate pack**: one JSON file the subject hands to the agent host.\n\n## Quickstart (Claude Desktop)\n\n1. The subject mints a mandate + delegate key and exports the pack\n   (`aithos grant … --pack` on their machine):\n\n```json\n{\n  \"aithos-mandate-pack\": \"1\",\n  \"mandate\":   { \"...\": \"the signed mandate (§4)\" },\n  \"agent_key\": { \"seed_hex\": \"…\", \"pubkey_multibase\": \"z…\" },\n  \"endpoints\": { \"api\": \"https://api.aithos.be\" }\n}\n```\n\n2. The agent host adds ONE entry to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"aithos\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@aithos/mcp-remote\", \"--mandate-pack\", \"/abs/path/agent-pack.json\"]\n    }\n  }\n}\n```\n\n3. That's the whole setup. The session is scope-filtered (`tools/list`\n   shows exactly what the mandate allows — ask `mandate_describe`), writes\n   STAGE until `ethos_commit` (one edition per coherent change), and the\n   mandate's validity window + revocation are re-checked before anything\n   persists. Revoking the mandate on the subject's side kills the agent's\n   write authority immediately.\n\nClaude Code: `claude mcp add aithos -- npx -y @aithos/mcp-remote\n--mandate-pack /abs/path/agent-pack.json` · Cursor: same `command`/`args`\nin `mcp.json`.\n\n## What the agent can do\n\nExactly what the canonical catalogue (`@aithos/agent-tools`) exposes for\nthe mandate's scopes: read/list/search sections, assemble budgeted context\npacks, diff since a known edition, stage + commit edits in its actor\nsphere, introspect its own authority (`mandate_describe`,\n`ethos_preflight_write`). Nothing else is listed, and forced calls refuse\nat dispatch (defense in depth).\n\n## Library use\n\n```ts\nimport { RemoteStorage } from \"@aithos/mcp-remote\";\nimport { createServer } from \"@aithos/mcp\";\n\nconst storage = new RemoteStorage({\n  transport: { baseUrl: \"https://api.aithos.be\" },\n  writeAuthority: { kind: \"delegate\", granteeId, seed, pubkeyMultibase, mandate },\n});\nconst server = createServer({ storage, mandate: { scopes, document: mandate }, delegate });\n```\n\n`RemoteStorage` implements `AithosStorage` end-to-end: platform reads\n(manifest, per-section index + bodies, editions at a height →\n`ethos_diff_since` works here), delegate-signed transactional writes\n(`applyEdits`, decision D5: protocol-client's publish pipeline, no §11\nreimplementation), revocation lookups (`-32020` → `null`).\n","readmeFilename":"README.md","_rev":"1-842d4a215dd6015a140e4bc3b94b3c2c"}