{"_id":"@absuitecore/mcp","_rev":"5-4dee7579d9bc682ad3b33afc3ba597ca","name":"@absuitecore/mcp","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@absuitecore/mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","ai-agents","authorization","capability-token","audit"],"license":"MIT","_id":"@absuitecore/mcp@1.0.0","maintainers":[{"name":"themba-mpehle","email":"landinwest@gmail.com"}],"homepage":"https://github.com/iamGodofall/ABSuite-core#readme","bugs":{"url":"https://github.com/iamGodofall/ABSuite-core/issues"},"bin":{"absuite-mcp":"dist/cli.js"},"dist":{"shasum":"bc38f7c374df4d08f53116afbf8bf31b34b9aeb1","tarball":"https://registry.npmjs.org/@absuitecore/mcp/-/mcp-1.0.0.tgz","fileCount":11,"integrity":"sha512-m7QKeuZZ3Blu6ZSR06a5fFQR8UHrGTvQFIkXmWX2X7yPjGiC76myORXOADra11tSJLmGj1CU2OTH4ZhqoF3pCA==","signatures":[{"sig":"MEYCIQDCqVcDpgJ2CaNlf5ywZhkb2fi24odCicv9a75z/0ud6AIhAN2J8f2z4b32GdgQ9RiGLgs1PIvMsAdKdPlPAVK764AN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@absuitecore%2fmcp@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32031},"main":"dist/index.js","_from":"file:absuitecore-mcp-1.0.0.tgz","types":"dist/index.d.ts","engines":{"node":">=22.5.0"},"scripts":{"dev":"tsx src/cli.ts","test":"jest -c ../../jest.config.js --rootDir ../.. --testPathPatterns packages/mcp","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"themba-mpehle","email":"landinwest@gmail.com"},"_resolved":"/tmp/38a77601a95b4c5908c45945ee8dd386/absuitecore-mcp-1.0.0.tgz","_integrity":"sha512-m7QKeuZZ3Blu6ZSR06a5fFQR8UHrGTvQFIkXmWX2X7yPjGiC76myORXOADra11tSJLmGj1CU2OTH4ZhqoF3pCA==","repository":{"url":"git+https://github.com/iamGodofall/ABSuite-core.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for ABSuite — capability-checked, cryptographically attested tool calls for AI agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@absuitecore/capkit":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.0_1785297904617_0.07185210335765069","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@absuitecore/mcp","version":"1.0.1","keywords":["mcp","model-context-protocol","ai-agents","authorization","capability-token","audit"],"license":"MIT","_id":"@absuitecore/mcp@1.0.1","maintainers":[{"name":"themba-mpehle","email":"landinwest@gmail.com"}],"homepage":"https://github.com/iamGodofall/ABSuite-core#readme","bugs":{"url":"https://github.com/iamGodofall/ABSuite-core/issues"},"bin":{"absuite-mcp":"dist/cli.js"},"dist":{"shasum":"676d559f23eaab4c1bc3db791a5f818abb3f200c","tarball":"https://registry.npmjs.org/@absuitecore/mcp/-/mcp-1.0.1.tgz","fileCount":11,"integrity":"sha512-vdMf7r2NPMHk3tB+695aZs9r6Nz+TIrGAHKOYHlgn9RkDTEsaPcHAQ8aSoidcZTD+CG1CePZMJ4OPj1kTrZx+A==","signatures":[{"sig":"MEYCIQDkCxNT6pi9ItKhUlalFqTLCs4a0Rxqm33Hg29bhYEExgIhAJ9LT1ZFSSGp9QxjibxTNtDv/6TDgBKGLbxdYB8pWSot","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@absuitecore%2fmcp@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32032},"main":"dist/index.js","_from":"file:absuitecore-mcp-1.0.1.tgz","types":"dist/index.d.ts","engines":{"node":">=22.5.0"},"scripts":{"dev":"tsx src/cli.ts","test":"jest -c ../../jest.config.js --rootDir ../.. --testPathPatterns packages/mcp","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"themba-mpehle","email":"landinwest@gmail.com"},"_resolved":"/tmp/ca6ea63bc0f19814b37a6508bd46f1c1/absuitecore-mcp-1.0.1.tgz","_integrity":"sha512-vdMf7r2NPMHk3tB+695aZs9r6Nz+TIrGAHKOYHlgn9RkDTEsaPcHAQ8aSoidcZTD+CG1CePZMJ4OPj1kTrZx+A==","repository":{"url":"git+https://github.com/iamGodofall/ABSuite-core.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for ABSuite — capability-checked, cryptographically attested tool calls for AI agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@absuitecore/capkit":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.1_1785316108130_0.7597268237385086","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@absuitecore/mcp","version":"1.0.2","keywords":["mcp","model-context-protocol","ai-agents","authorization","capability-token","audit"],"license":"MIT","_id":"@absuitecore/mcp@1.0.2","maintainers":[{"name":"themba-mpehle","email":"landinwest@gmail.com"}],"homepage":"https://github.com/iamGodofall/ABSuite-core#readme","bugs":{"url":"https://github.com/iamGodofall/ABSuite-core/issues"},"bin":{"absuite-mcp":"dist/cli.js"},"dist":{"shasum":"9b6216bfe33b46a3c0b860b5b528514ffc6c1f0c","tarball":"https://registry.npmjs.org/@absuitecore/mcp/-/mcp-1.0.2.tgz","fileCount":11,"integrity":"sha512-8oT0JqpYA1DV51qbpLN8xr5LyBETwjjrbZYgaBiJOoKLsgPfk9sMu40I/J0SjXqGATBhkBHefhwdu45WK9c1vg==","signatures":[{"sig":"MEQCIEh1pvUHYbD7FgF07UULeSqlpcx6Mb8WoONEgC6WeuARAiBqPpiQWJF+wvGgf3Yi941pLwsr/w+0t0ynCmi0A6+K/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@absuitecore%2fmcp@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32535},"main":"dist/index.js","_from":"file:absuitecore-mcp-1.0.2.tgz","types":"dist/index.d.ts","engines":{"node":">=22.5.0"},"scripts":{"dev":"tsx src/cli.ts","test":"jest -c ../../jest.config.js --rootDir ../.. --testPathPatterns packages/mcp","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"themba-mpehle","email":"landinwest@gmail.com"},"_resolved":"/tmp/fdd97a79ea4419fb4a2d170a5ddb0d8d/absuitecore-mcp-1.0.2.tgz","_integrity":"sha512-8oT0JqpYA1DV51qbpLN8xr5LyBETwjjrbZYgaBiJOoKLsgPfk9sMu40I/J0SjXqGATBhkBHefhwdu45WK9c1vg==","repository":{"url":"git+https://github.com/iamGodofall/ABSuite-core.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for ABSuite — capability-checked, cryptographically attested tool calls for AI agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@absuitecore/capkit":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.2_1785318639106_0.6894981828781914","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@absuitecore/mcp","version":"1.0.3","keywords":["mcp","model-context-protocol","attestation","execution-trace","capability-token","authorization","audit","ai-agents"],"license":"MIT","_id":"@absuitecore/mcp@1.0.3","maintainers":[{"name":"themba-mpehle","email":"landinwest@gmail.com"}],"homepage":"https://github.com/iamGodofall/ABSuite-core#readme","bugs":{"url":"https://github.com/iamGodofall/ABSuite-core/issues"},"bin":{"absuite-mcp":"dist/cli.js"},"dist":{"shasum":"119899be6ee1bbcb5df4cb7d77b5518208783024","tarball":"https://registry.npmjs.org/@absuitecore/mcp/-/mcp-1.0.3.tgz","fileCount":11,"integrity":"sha512-r6vPfuDmrXAqRhFR9ytjPZWfs3r+PEvPCFoyoyJAQ3jqpnzvgCvr7X7VBO4phBi8EoXIw5aQX1KaJlMP/pPRVA==","signatures":[{"sig":"MEYCIQDevlhr/InfngXRcvzBluxanoqKl/EnEWyhWr713qj4tgIhAPOt4uokfT2xrFcTqhAHdv6oablMfix9XXa0IgkNnSQX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@absuitecore%2fmcp@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32612},"main":"dist/index.js","_from":"file:absuitecore-mcp-1.0.3.tgz","types":"dist/index.d.ts","engines":{"node":">=22.5.0"},"scripts":{"dev":"tsx src/cli.ts","test":"jest -c ../../jest.config.js --rootDir ../.. --testPathPatterns packages/mcp","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"themba-mpehle","email":"landinwest@gmail.com"},"_resolved":"/tmp/415d44bd3a2731fdd56108121be108f0/absuitecore-mcp-1.0.3.tgz","_integrity":"sha512-r6vPfuDmrXAqRhFR9ytjPZWfs3r+PEvPCFoyoyJAQ3jqpnzvgCvr7X7VBO4phBi8EoXIw5aQX1KaJlMP/pPRVA==","repository":{"url":"git+https://github.com/iamGodofall/ABSuite-core.git","type":"git","directory":"packages/mcp"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for ABSuite — every tool call is checked against a capability token before it runs and produces a signed execution trace.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@absuitecore/capkit":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^5.0.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp_1.0.3_1785320190056_0.1624653980029973","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@absuitecore/mcp","version":"1.1.0","description":"Model Context Protocol server for ABSuite — every tool call is checked against a capability token before it runs and produces a signed execution trace.","license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","bin":{"absuite-mcp":"dist/cli.js"},"keywords":["mcp","model-context-protocol","attestation","execution-trace","capability-token","authorization","audit","ai-agents"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/iamGodofall/ABSuite-core.git","directory":"packages/mcp"},"homepage":"https://github.com/iamGodofall/ABSuite-core#readme","bugs":{"url":"https://github.com/iamGodofall/ABSuite-core/issues"},"dependencies":{"@absuitecore/capkit":"^1.3.1"},"devDependencies":{"@types/node":"^22.0.0","tsx":"^4.21.0","typescript":"^5.0.0"},"engines":{"node":">=22.5.0"},"scripts":{"build":"tsc -p tsconfig.json","start":"node dist/cli.js","dev":"tsx src/cli.ts","test":"jest -c ../../jest.config.js --rootDir ../.. --testPathPatterns packages/mcp"},"_id":"@absuitecore/mcp@1.1.0","_integrity":"sha512-GpxJ7IbL2IITzrZpAIu8NsAfe01y68Ebw+jTr4yTEdbAVjfKDWRCON3hcSyYsYVdJObqBmO3jnNOw4F6GOZL1A==","_resolved":"/tmp/62eeca92dc3f2c5ebfed56ef08783102/absuitecore-mcp-1.1.0.tgz","_from":"file:absuitecore-mcp-1.1.0.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-GpxJ7IbL2IITzrZpAIu8NsAfe01y68Ebw+jTr4yTEdbAVjfKDWRCON3hcSyYsYVdJObqBmO3jnNOw4F6GOZL1A==","shasum":"7df7a0607d43574cbe8bd6b433707619948c9872","tarball":"https://registry.npmjs.org/@absuitecore/mcp/-/mcp-1.1.0.tgz","fileCount":11,"unpackedSize":33368,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@absuitecore%2fmcp@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF8T0k88IVvHgvzrPX0L8SVntg0nbLtGHyllNzLSVzeCAiBGNgRIEHhm3t4RTkBTeEtYNU4UBwgOFz6wTRlFp9Ijow=="}]},"_npmUser":{"name":"themba-mpehle","email":"landinwest@gmail.com"},"directories":{},"maintainers":[{"name":"themba-mpehle","email":"landinwest@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_1.1.0_1785687809538_0.7150621107109596"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-29T04:05:04.499Z","modified":"2026-08-02T16:23:29.989Z","1.0.0":"2026-07-29T04:05:04.779Z","1.0.1":"2026-07-29T09:08:28.271Z","1.0.2":"2026-07-29T09:50:39.230Z","1.0.3":"2026-07-29T10:16:30.209Z","1.1.0":"2026-08-02T16:23:29.679Z"},"bugs":{"url":"https://github.com/iamGodofall/ABSuite-core/issues"},"license":"MIT","homepage":"https://github.com/iamGodofall/ABSuite-core#readme","keywords":["mcp","model-context-protocol","attestation","execution-trace","capability-token","authorization","audit","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/iamGodofall/ABSuite-core.git","directory":"packages/mcp"},"description":"Model Context Protocol server for ABSuite — every tool call is checked against a capability token before it runs and produces a signed execution trace.","maintainers":[{"name":"themba-mpehle","email":"landinwest@gmail.com"}],"readme":"# @absuitecore/mcp\n\n**Capability-checked, cryptographically attested tool calls for AI agents — over the Model Context Protocol.**\n\nMCP is how agents discover and call tools. This server puts ABSuite *inside*\nthat path: every tool call is authorised against a capability token before it\nruns, and every completed call produces an Ed25519-signed execution trace that\nanyone can verify independently.\n\n```bash\nnpm install -g @absuitecore/mcp\n```\n\n## Claude Desktop / any MCP client\n\n```json\n{\n  \"mcpServers\": {\n    \"absuite\": {\n      \"command\": \"absuite-mcp\",\n      \"env\": {\n        \"ABSUITE_TOKEN\": \"<capability token from CapKit>\",\n        \"CAPKIT_HMAC_SECRET\": \"<shared signing secret>\",\n        \"ABSUITE_DB_PATH\": \"/var/lib/absuite/absuite.db\"\n      }\n    }\n  }\n}\n```\n\n## What the agent sees\n\nTool discovery is **filtered by capability**. An agent holding a token scoped to\n`queue:write` never sees the benchmarking or connector tools — advertising tools\nit cannot call would waste its context and invite failed attempts.\n\n| Tool | Required scope |\n|---|---|\n| `absuite_schedule_task` | `schedule:create` |\n| `absuite_queue_task` | `queue:write` |\n| `absuite_run_benchmark` | `bench:run` |\n| `absuite_list_connectors` | `connector:read` |\n| `absuite_verify_execution` | `execution:read` |\n\nA call outside the token's scope is refused **before any network request is\nmade**:\n\n```\n{\"error\":{\"code\":-32001,\"message\":\"Not permitted: bench:run (CAPABILITY_INSUFFICIENT)\"}}\n```\n\n## Attestation\n\nEvery completed call returns the trace that attests it:\n\n```json\n{\n  \"content\": [{ \"type\": \"text\", \"text\": \"{ \\\"id\\\": \\\"task-1\\\", \\\"status\\\": \\\"queued\\\" }\" }],\n  \"_absuiteTrace\": {\n    \"id\": \"exec_4c35d902c1394dafabb53cfaafa16abe\",\n    \"hash\": \"6217d46894eb4a...\",\n    \"signature\": \"qwlL7FQiyW2RoyuBhQdKHV/cEOu1...\"\n  }\n}\n```\n\nHand that trace to anyone with the public key and they can confirm it has not\nbeen altered — without being able to forge one. Inputs and outputs are hashed,\nnever stored, so the proof does not retain your data.\n\n## Why this matters\n\nThe hard question about agents in production is not \"can it do the task\" but\n**\"what was it allowed to do, what did it actually do, and can you prove it?\"**\n\nMost MCP servers answer none of those. This one answers all three, and does it\nwithout the agent framework needing to know ABSuite exists.\n\n## Configuration\n\n| Variable | Purpose |\n|---|---|\n| `ABSUITE_TOKEN` | The capability token the agent presents. |\n| `CAPKIT_HMAC_SECRET` | Verifies the token locally, so refusals never reach the network. |\n| `CAPKIT_PREVIOUS_SECRETS` | Comma-separated retired secrets, so rotation does not break running agents. |\n| `ABSUITE_DB_PATH` | Enables attestation. Without it calls still work, unattested. |\n| `CAPKIT_TRACE_PRIVATE_KEY` | Ed25519 PEM for signing traces. |\n| `CAPKIT_URL`, `EDGE_RUN_URL`, `QUICKBENCH_URL`, `CONNECTOR_STARTER_URL` | Service endpoints. |\n\n## Notes\n\nTransport is stdio, per the MCP spec — **nothing is written to stdout except\nprotocol messages**; diagnostics go to stderr. Attestation failures are logged\nto stderr rather than swallowed, so a deployment cannot silently lose its\nattestation trail.\n\n---\n\n## Part of ABSuite\n\n**The black box for AI systems** — record what happened, prove it happened,\npreserve the evidence.\n\n| | |\n|---|---|\n| Source | <https://github.com/iamGodofall/ABSuite-core> |\n| Verify a trace in your browser | <https://iamgodofall.github.io/ABSuite-core/verify.html> |\n| Getting started | [GETTING-STARTED.md](https://github.com/iamGodofall/ABSuite-core/blob/main/GETTING-STARTED.md) |\n| Reporting a vulnerability | [SECURITY.md](https://github.com/iamGodofall/ABSuite-core/blob/main/SECURITY.md) — never a public issue |\n| What this project refuses to build | [PRINCIPLES.md](https://github.com/iamGodofall/ABSuite-core/blob/main/PRINCIPLES.md) |\n\nPublished from CI with a signed Sigstore provenance attestation — check it with\n`npm audit signatures` rather than taking our word for it.\n\nMIT licensed.\n","readmeFilename":"README.md"}