Token导航 LogoToken导航TokenDH.com
Canton MCP Server logo
开发工具stdio官方级别未说明来源级核验

Canton MCP Server

MCP Server

基于模型上下文协议的AI驱动的DAML开发工具,提供代码分析、模式推荐和自动化Canton环境管理。

工具数

2

提示词数

0

GitHub Stars

3

资源数

0
PythonClaude区块链开发Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ChainSafe

提供方

ChainSafe

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run canton-mcp-server

详细介绍

广州MCP服务器

![CI](https://github.com/ChainSafe/canton-mcp-server/actions/workflows/ci.yml)

通过模型上下文协议为DAML开发工具提供AI支持。提供代码分析、模式建议和自动化Canton环境管理。

快速开始

# 1. Clone and start with Docker
git clone 
cd canton-mcp-server
docker-compose up -d

# 2. Verify it's running
curl http://localhost:7284/health

# 3. Use with Cursor or Claude Desktop
# Add to your MCP config (see Configuration below)

服务器URL: http://localhost:7284/mcp

可用工具

daml_reason

分析DAML代码,推荐模式,验证业务逻辑。

用途: 代码审查、模式建议、安全分析

daml_automater

自动化Canton环境、测试和构建。

用途: 启动Canton网络,运行测试,构建DAR

认证

服务器使用 加密挑战-响应身份验证 用于安全方验证。

快速认证(命令行)

# Get JWT token for your Canton party
cd /home/skynet/canton/canton-mcp-client
npm install && npm run build
node dist/auth.js http://localhost:7284 your-party::1220...

# Returns JWT token - use in Authorization header

Python身份验证

import base64, json, requests
from nacl.signing import SigningKey

def authenticate(mcp_url, party_id, key_file):
    with open(key_file) as f:
        key = json.load(f)

    # Request challenge
    r = requests.post(f'{mcp_url}/auth/challenge', json={
        'partyId': party_id,
        'publicKey': key['publicKey']
    })
    challenge = r.json()['challenge']

    # Sign challenge
    sk = SigningKey(base64.b64decode(key['privateKey']))
    sig = sk.sign(base64.b64decode(challenge)).signature

    # Get token
    r = requests.post(f'{mcp_url}/auth/verify', json={
        'partyId': party_id,
        'challenge': challenge,
        'signature': base64.b64encode(sig).decode()
    })
    return r.json()['token']

token = authenticate('http://localhost:7284', 'alice::1220...', '~/.canton/alice-key.json')

挑战_AUTH_SETUP.md 完整的指南。

配置

对于光标

增添 .cursor/mcp.json:

{
  "mcpServers": {
    "canton-mcp": {
      "type": "sse",
      "url": "http://:7284/mcp",
      "headers": {
        "Authorization": "Bearer "
      }
    }
  }
}

备注:替换 `` 使用上述身份验证流中的令牌。 JWT令牌将在1小时后过期,请重新进行身份验证以获取新令牌。

适用于克劳德桌面

增添 claude_desktop_config.json:

{
  "mcpServers": {
    "canton": {
      "command": "docker",
      "args": ["exec", "canton-mcp-server", "uv", "run", "canton-mcp-server", "serve"]
    }
  }
}

环境变量

创建 .env.canton:

# Server
MCP_SERVER_URL=http://localhost:7284

# Authentication (REQUIRED)
JWT_SECRET=$(openssl rand -hex 32)  # Generate with: openssl rand -hex 32

# x402 Payments (REQUIRED for production)
CANTON_ENABLED=true
CANTON_FACILITATOR_URL=http://46.224.109.63:3000
CANTON_PAYEE_PARTY=damlcopilot-receiver::1220...
CANTON_NETWORK=canton-devnet

# DCAP Performance Tracking (optional)
DCAP_ENABLED=true
DCAP_MULTICAST_IP=159.89.110.236
DCAP_PORT=10191

# Canonical docs path (optional, defaults to ../../canonical-daml-docs)
CANONICAL_DOCS_PATH=/path/to/canonical-daml-docs

重要: JWT_SECRET 需要进行身份验证。生成安全密钥:

echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env.canton

安装

Docker(推荐)

docker-compose up -d
docker-compose logs -f

本地开发

# Using uv (recommended)
uv sync
uv run canton-mcp-server

# Using pip
pip install -e .
canton-mcp-server

先决条件

标准DAML文档(必填)

服务器需要访问官方DAML存储库以获得模式建议:

# Create canonical docs directory (parallel to server)
mkdir -p ../canonical-daml-docs
cd ../canonical-daml-docs

# Clone official repos
git clone https://github.com/digital-asset/daml.git
git clone https://github.com/digital-asset/canton.git
git clone https://github.com/digital-asset/daml-finance.git

预期结构:

your-projects/
├── canonical-daml-docs/
│   ├── daml/
│   ├── canton/
│   └── daml-finance/
└── canton-mcp-server/

通过设置自定义路径 CANONICAL_DOCS_PATH 环境变量(如果需要)。

x402付款

重要: 当使用生产/公共服务器时, 始终包含您的派对ID:

# In headers
X-Canton-Party-ID: your-party::1220abc...

# Or in URL
http://server:7284/mcp?payerParty=your-party::1220abc...

如果没有参与方ID,请求将被拒绝 (防止自由访问的安全保护)。

付款流程:

  1. 工具调用需要付款(每次调用0.10美元)
  2. 服务器向协调人登记付款要求
  3. 钱包在广州区块链上执行支付
  4. 服务器验证付款并处理请求

canton-x402-协调员 用于支付基础设施设置。

测试

# List available tools
curl -X POST http://localhost:7284/mcp \
  -H "Content-Type: application/json" \
  -H "X-Canton-Party-ID: your-party::123" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# Call daml_reason
curl -X POST http://localhost:7284/mcp \
  -H "Content-Type: application/json" \
  -H "X-Canton-Party-ID: your-party::123" \
  -d '{
    "jsonrpc":"2.0",
    "id":2,
    "method":"tools/call",
    "params":{
      "name":"daml_reason",
      "arguments":{"businessIntent":"Create a simple IOU contract"}
    }
  }'

# Interactive testing
npx @modelcontextprotocol/inspector http://localhost:7284/mcp

文档

发展

# Install dev dependencies
uv sync --dev

# Run server
uv run python -m canton_mcp_server.server

# Run tests
pytest

建筑

简单堆栈:

  • 具有HTTP+SSE传输的FastAPI服务器
  • 两个MCP工具(daml_reason、daml_automater)
  • x402支付集成(广州币)
  • DCAP性能跟踪
  • 标准资源推荐

支付理念:

  • 无利率限制(付款是限制因素)
  • 无身份验证(设计无需许可)
  • 单一要求:付款证明

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

目录标签

目录标签

PythonClaude区块链开发DAML分析本地部署智能合约代码推荐自动化测试

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP