Convert ARC-56 smart contract specifications to MCP servers
Project description
Convert ARC-56 smart contracts to MCP servers for AI agent integration.
Disclaimer: this is an experimental proof of concept tool. It is not intended for production use and may contain bugs or incomplete features.
Features
- 🔄 Converts ARC-56 specs to MCP servers
- 🛡️ Secure environment-based configuration
- 🎯 Call type filtering (readonly/write-only/both)
- 🧪 Simulation mode for safe testing
- ⚡ AlgoKit Utils integration
- 📦 UV-based project generation
Installation
pipx install arcontextify
# or
uv tool install arcontextify
Usage
# Generate MCP server
arcontextify contract.arc56.json
# Readonly calls only (no private key needed)
arcontextify contract.arc56.json --call-types readonly
# Write calls only
arcontextify contract.arc56.json --call-types write-only
# Custom output directory
arcontextify contract.arc56.json --output-dir ./servers
Generated Server
Each server includes:
Environment Variables
export ALGORAND_ALGOD_TOKEN="your-token"
export ALGORAND_ALGOD_SERVER="https://testnet-api.algonode.cloud"
export ALGORAND_APP_ID="123456"
export ALGORAND_DELEGATED_PRIVATE_KEY="your-key" # Not needed for readonly
Claude Desktop Config
{
"mcpServers": {
"contract_mcp": {
"command": "uv",
"args": ["run", "python", "-m", "src.contract_mcp"],
"cwd": "/path/to/contract_mcp",
"env": {
"ALGORAND_ALGOD_TOKEN": "your-token",
"ALGORAND_ALGOD_SERVER": "https://testnet-api.algonode.cloud",
"ALGORAND_APP_ID": "123456"
}
}
}
}
Available Tools
verify_environment_setup()- Check configurationget_connection_info()- Connection statusget_application_state()- Global stateget_account_local_state(address)- Local state- Contract methods with simulation support
Security
- Environment-based secrets (no hardcoded keys)
- Dummy accounts for readonly operations
- Transaction simulation for safe testing
- Address validation and input sanitization
Requirements
- Python 3.10+
- UV package manager
- AlgoKit Utils 2.0+
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
arcontextify-0.0.3.tar.gz
(2.1 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arcontextify-0.0.3.tar.gz.
File metadata
- Download URL: arcontextify-0.0.3.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7931c61680390a2eb402ef08e40157a98d8a112e6e81117c8514ae78a996996b
|
|
| MD5 |
3c466cb43fb6320c37931f08527ba585
|
|
| BLAKE2b-256 |
1eca6bb051f3497fcd74b9f003be80022691fd9f56c6e5bc50ce208c6c4c5827
|
File details
Details for the file arcontextify-0.0.3-py3-none-any.whl.
File metadata
- Download URL: arcontextify-0.0.3-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48ead0901569ae11aee9de5af04cb3b599b2e7dc219ca0b1ab3371d427eb5e54
|
|
| MD5 |
7a5b88f0252f3f43f753a10b773a3e62
|
|
| BLAKE2b-256 |
904e5df47298c2a1e5b9ea2fb6272a9e83c2f368fd69dd5ac7ca4c4bff3b900b
|