verify_environment_setupLABSCO SUMMARY
The contract spec becomes the tool list, so there is no wrapper to write.
If you already produce an ARC-56 spec as part of your build, that file is enough to get an agent calling the contract, and the read-only variant gives you a server that has no key to sign with. The author calls it an experimental proof of concept, so read the generated project before you point it at a contract holding value.
What it is
A command-line generator for Algorand. Point it at an ARC-56 contract specification and it writes out an MCP server project for that contract, with the contract's methods as tools alongside a few for state and connectivity. The author describes it as an experimental proof of concept rather than production software.
What you get
- One server per contract, generated from the spec instead of hand-written
- The contract's own methods exposed as tools, with simulation support so a call can be tried before it is sent
- A choice at generation time of read-only calls, write-only calls, or both
- Global application state and any account's local state, read on demand
- An environment check and a connection status tool, so a misconfigured node shows up before the first contract call
- Secrets read from the environment, with a dummy account standing in for read-only work — a private key is only needed if you generate the write side
- A client configuration example bundled with the generated project
Requirements
Python with the uv package manager and AlgoKit Utils; the generator itself installs from PyPI with pipx or uv. The server it produces reads your Algorand node address and token from the environment, plus a delegated private key when you want it to submit write calls.
Setup effort
One command — pipx install arcontextify
USE CASES
Giving an agent a contract you just deployed
Run the generator over the contract's spec, start the server it wrote, and confirm it is talking to the right node before you ask it anything.
Reading contract state while debugging
Pull the application's global state and a specific account's local state without writing a script for it.
Letting someone query a contract without handing over a key
Generate the read-only variant — it runs on node credentials alone, and the private key never enters the environment.
Ruling out your own setup before blaming the contract
Check the configuration and the node connection first, so a wrong address is not mistaken for a failing method.
4 tools
Listed in project docs. Your client may show a different list.
get_connection_infoget_application_stateget_account_local_stateBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation. Beyond the 4 fixed tools, each generated server adds contract-method tools with simulation support, one set per ARC-56 contract you feed it.
Requires
- uv on PATH
- Python 3.10+
INSTALLATION
Connect your client
Server setup
Configuration file
{
"mcpServers": {
"contract_mcp": {
"command": "uv",
"args": [
"run",
"python",
"-m",
"src.contract_mcp"
],
"cwd": "<YOUR_PATH_TO_CONTRACT_MCP>",
"env": {
"ALGORAND_ALGOD_TOKEN": "<YOUR_ALGORAND_ALGOD_TOKEN>",
"ALGORAND_ALGOD_SERVER": "https://testnet-api.algonode.cloud",
"ALGORAND_APP_ID": "123456"
}
}
}
}This block starts a server that arcontextify generates, not arcontextify itself: run arcontextify contract.arc56.json first (--output-dir chooses where it goes), then set cwd to the generated server's folder and put your Algod token, Algod server and application ID in env. Write calls also need ALGORAND_DELEGATED_PRIVATE_KEY; readonly calls do not.
pipx
pipx install arcontextify