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
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
|