我们将建造什么?
MCP服务器公开 工具, 资源,以及 提示 以标准化的方式连接到AI代理(如Claude或Cursor)。
在这种情况下,服务器将提供任何LLM功能以与Michelson配合使用:
- 解析合同
- 验证类型
- 解释堆栈说明
创建虚拟环境
source ./venv/bin/activate
pip install mcp fastmcp pytezos
# Run the server directly
python server.py
# Test with MCP Inspector (oficial debugging tool)
npx @modelcontextprotocol/inspector python server.py| 工具 | 功能 | |
|---|---|---|
| 解释指令 | 解释任何指令迈克尔逊 | |
| explain_type | 描述数据类型(int、nat、big_map等) | |
| run_stack_simulation | 逐步模拟堆栈执行 | |
| lint_contract | 根据现代协议规则进行验证(孟买+) | |
| validate_contract | valdate合约的基本结构 | \ |
| analyze_contract | 深度分析:错误、警告、反模式 | |
| fix_contract | 根据常见错误模式建议修复 | |
| 改进合同 | 可读性、效率和安全建议 | |
| list_instructions | 按类别列出所有指令 | |
| get_template | 返回即用型合同模板 | |
| search_instructions | 按关键字搜索说明 | |
| get_run_command | 生成Docker命令以在本地测试合约 |
实时RPC工具
| 工具 | 说明 |
|---|---|
| network_info | 当前网络状态:块级别、协议、时间戳 |
| block_info | 关于特定区块或最新区块(head)的信息 |
| account_info | 任何Tezos地址的余额和信息 |
| account_balance | mutez和tez中的余额 |
| contract_storage | 已部署合约的实时存储 |
| contract_code | 已部署合约的Micheline代码 |
| contract_entrypoints | 所有入口点及其类型 |
| contract_big_map | big_map数据(按ID和键) |
| contract_operations | 合约的最后N笔交易 |
| contract_metata | 别名、创建者和活动统计信息(TzKT) |
| operation_details | 哈希操作的完整细节 |
| search_deployed_contracts | 按别名或地址搜索合同 |
资源
| URI | 描述 |
|---|---|
| michelson://instructions | 完整说明参考 |
| michelson://types | 完整数据类型引用 |
| michelson://cheatsheet | 合同结构快速参考 |
| michelson://rules | 现代Tezos协议的关键语法规则 |
| michelson://protocol | 目标协议信息和已弃用的说明 |
提示
| 提示 | 描述 |
|---|---|
| explain_michelson_code | 指导法学硕士分析合同 |
| generate_michelson_contract | 从自然语言生成合约 |
| create_concontract_from_scratch | 带类型提示的完整合约生成 |
| fix_michelson_bug | 诊断并修复错误 |
| improve_michelson_code | 优化现有合约 |
| review_concontract_security | 全面安全审计 |
支持的网络
| 网络 | RPC | 资源管理器 |
|---|---|---|
| 主网 | ecadinfra.com | api.tzkt.io |
ghostnet,来源于.com、api.ghostnet.tzkt.io)。
连接到AI代理
克劳德桌面 编辑~/.config/Claude/Claude_desktop_configure.json:
{
"mcpServers": {
"michelson": {
"command": "absolute/path/to/venv/bin/python",
"args": ["absolute/path/to/venv/bin/python"]
}
}
}VS代码/光标 在项目根目录中创建.vcode/mcp.json:
{
"servers": {
"michelson": {
"type": "stdio",
"command": "/absolute/path/to/venv/bin/python",
"args": ["/absolute/path/to/server.py"]
}
}
}使用Docker在本地测试合约
docker run -it --rm --entrypoint /bin/sh -v $PWD:/work tezos/tezos:latest使用michelson示例合约进行语言测试
产品
octez-client --mode mockup --base-dir /tmp/mockup \
run script /work/product.tz \
on storage 0 \
and input '(Pair 3 4)'减去
octez-client --mode mockup --base-dir /tmp/mockup run script /work/substract.tz on storage 10 and input '5'加法
octez-client --mode mockup --base-dir /tmp/mockup run script /work/counter.tz on storage 10 and input 'Left 5'