Attestix MCP
An MCP server with 47 tools: signed AI agent identities, W3C credentials, delegated permissions, an action log and EU AI Act documents
- 840 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- Keeps the signing key and DID keys in files on disk: with them identities and credentials are issued in your name
- The anchoring tools send transactions to the Base network from the BASE_WALLET_KEY wallet and spend funds on gas
- `discover_agent` and `resolve_did` call addresses the agent supplies, while a guard blocks private addresses and cloud metadata
Install
- Works in
Manual install
pip install attestix==0.4.2Requires Python 3.10 or newer. Version 0.4.2 is named as the reviewed release in the documentation, and the main branch may contain later changes.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Keeps the signing key and DID keys in files on disk: with them identities and credentials are issued in your name
- The anchoring tools send transactions to the Base network from the BASE_WALLET_KEY wallet and spend funds on gas
- `discover_agent` and `resolve_did` call addresses the agent supplies, while a guard blocks private addresses and cloud metadata
This is third-party code. Review the repository files before installing.
What it does
Attestix is a Python package and MCP server that stores signed evidence about an AI agent. The server starts with `python -m attestix.main` over stdio and exposes 47 tools in nine groups: agent identities, A2A cards, DID identifiers, delegation, reputation, EU AI Act compliance, credentials, data provenance and blockchain anchoring. Data lives in JSON files under `~/.attestix`, and an Ed25519 key is created on first run. The agent creates an identity (`create_agent_identity`), gets a did:key or did:web DID, issues W3C credentials signed with Ed25519Signature2020 and bundles them into a signed presentation for a verifier. Delegation uses UCAN-style tokens, and the action log (`log_action`) is a SHA-256 hash chain, so a tampered record shows. For the EU AI Act there is a risk profile, an Article 43 conformity assessment record and an Annex V declaration that is also issued as a credential. Self-assessment is blocked for a high-risk profile. Optional anchoring (`anchor_identity`, `anchor_credential`, `anchor_audit_batch`) publishes hashes on the Base network through the Ethereum Attestation Service. Signed bundles can be verified without Python: the project ships verifier libraries for JavaScript, Go, Rust, Java and R.
Who it is for. For AI system developers who need signed agent identities and a verifiable action trail, and teams assembling EU AI Act documentation for provider review.
Good fit when
- Each agent needs an identity another party can verify, plus permissions for a limited time through a delegation token
- An agent's action log must expose tampering through the hash chain
- You are preparing EU AI Act documentation: a risk profile, a conformity assessment and a declaration for provider review
- Signed credentials must be verified offline, including from JavaScript, Go, Rust or Java
- An identity or log hash has to be anchored on the Base network
Not a fit when
- You need a legal conclusion of conformity: a signature and a generated declaration do not confirm conformity with the law
- You need a multi-tenant service: the default REST server is single-tenant and rejects other tenant headers
- The machine runs Python older than 3.10: the package requires 3.10 or newer
- You want a managed enterprise agent directory such as Microsoft Entra or AWS AgentCore: Attestix is a toolkit, not a managed platform
Example request
Create an identity for my data analysis agent with the capabilities data_analysis and reporting and show me its DIDMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
ATTESTIX_DATA_DIR- JSON storage directory, ~/.attestix by default
ATTESTIX_KEY_PASSWORDsecret- Password under which the signing key is stored encrypted with AES-256-GCM
BASE_RPC_URL- Base network RPC endpoint, needed only for anchoring
BASE_WALLET_KEYsecret- Wallet private key for anchoring transactions, a hex string without 0x
Limitations
- A pre-1.0 project with a single maintainer and no independent security audit. The documentation recommends `attestix==0.4.2` while the source already describes 0.4.3, so pin the version you reviewed.
- A signature and a declaration do not prove conformity with the law. `workflow_complete` only shows that documentation is filled in, `legal_conformity` is not assessed, and generated declarations remain drafts.
- The signing key sits in `.signing_key.json` in the data directory; if you lose it, new artifacts cannot chain to the same DID. AES-256-GCM encryption of the key is switched on with `ATTESTIX_KEY_PASSWORD`.
- The local purge `purge_agent_data` does not erase external replicas, remote logs, previously shared credentials or third-party backups.
- Anchoring needs `BASE_RPC_URL`, a wallet with `BASE_WALLET_KEY` and funds for gas. Remote DID resolution and hosted signers depend on configured services. License Apache-2.0.
How to disable. Remove the attestix entry from mcpServers in ~/.claude.json and run pip uninstall attestix. Data and the key stay in ~/.attestix or in the directory from ATTESTIX_DATA_DIR. Delete them by hand and only after a backup: the signing key cannot be restored. If you set BASE_WALLET_KEY, remove the variable from the environment.
FAQ
How do I connect Attestix to Claude Code?
Install the package with pip install attestix==0.4.2 and add a server to ~/.claude.json with type stdio, command python and arguments -m attestix.main. After restarting Claude Code you can ask it to use the tools, for example to create an agent identity with given capabilities.
Does an Attestix declaration confirm EU AI Act conformity?
No. The `generate_declaration_of_conformity` tool produces a draft Annex V declaration together with a W3C credential for provider review. The author calls Attestix a documentation and evidence tool that does not replace counsel, a notified body assessment or official submissions.
Where does Attestix keep data and the signing key?
In JSON files under `~/.attestix` or the directory from `ATTESTIX_DATA_DIR`. Files appear as you use it: identities.json, credentials.json, compliance.json, provenance.json, reputation.json, delegations.json. The Ed25519 signing key lives in `.signing_key.json` and DID keys in `.keypairs.json`; neither file should be shared.
Do I need a blockchain to use Attestix?
No. Identities, credentials, delegation and the log work on local storage. Anchoring on the Base network is configured separately by setting `BASE_RPC_URL` and `BASE_WALLET_KEY`, and `estimate_anchor_cost` estimates the gas cost in advance.
How do I verify Attestix signed credentials without Python?
Verifier libraries exist for JavaScript (`npm install attestix@0.4.2`), Go (`go get github.com/VibeTensor/attestix-go@v0.4.2`), Rust, Java and R, and all use shared test vectors. A bundle can also be checked in the browser at attestix.io/verify. A valid signature does not replace the decision to trust the issuer.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP memory server for agents plus a free gate that stops dangerous commands before they run
An authorized bug-bounty suite: 50 subagents, 26 commands and 2 bug-bounty-platform MCP servers for Claude Code, Codex and five more agents
AgentShield audits the .claude folder for plaintext keys, broad permissions, dangerous hooks and risky MCP servers and grades the setup from A to F
An offensive security MCP server: the agent runs 150+ pentest and recon tools and drives automated target assessments
A repository scanner with an MCP server: dependency graph, secrets, vulnerabilities and an API map with code line citations
Burp Suite extension with AI: analyzes requests, runs scanners and opens Burp over MCP to Claude Desktop, Claude Code, Codex and Gemini CLI
README in short
The repository's front page opens with a status block and a note on which versions are published to registries. Next come installation, CLI commands (`attestix status`, `attestix init`, `attestix compliance`), a table of verifier libraries in six languages and a table of nine modules. It has a quick start for MCP and for Python with a working example, a seven-step evidence workflow for a high-risk system, the package directory layout, all tools listed by group and a table of conformance tests against RFC 8032, W3C VC, W3C DID and UCAN. It ends with a security section, a link to the author's paper and a disclaimer that the tool does not replace counsel.