Token导航 LogoToken导航TokenDH.com
MCP Scrt logo
AI代理stdio官方级别未说明来源级核验

MCP Scrt

MCP Server

一个为Secret Network区块链集成准备的生产级模型上下文协议(MCP)服务器,使AI助手能够通过安全、经过良好测试的接口与Secret Network交互。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonSession认证AI代理

安装说明

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

作者 / 组织

alexh-scrt

提供方

alexh-scrt

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install -e ".[dev]"

详细介绍

秘密网络MCP服务器

用于Secret Network区块链集成的生产就绪模型上下文协议(MCP)服务器,使AI助手能够通过安全、经过良好测试的接口与Secret Network进行交互。

![Tests](<>) ![Coverage](<>) ![Python](<>) ![License](<>)

🎉 项目状态:已完成

所有阶段完成

  • 第一阶段:基础层(11个模块,372个测试)
  • 第2阶段:MCP工具(60个工具,601个测试)
  • 第三期:MCP提示和资源(2个提示,4个资源)
  • 阶段4:集成测试(5个测试套件,36个测试)

总计:637项测试通过,约22500行代码,生产就绪

🚀 快速开始

# Install dependencies
pip install -e ".[dev]"

# Configure environment
cp .env.example .env

# Run tests
pytest

# Start building!

查看综合 入门指南 详细说明。

✨ 特性

完整的MCP工具套件(60个工具)

网络工具 (4个工具)

  • 网络配置和切换
  • 网络信息和健康检查
  • 天然气价格查询

钱包工具 (6个工具)

  • HD钱包创建和导入
  • 多钱包管理
  • 安全钱包切换

银行工具 (5个工具)

  • 余额查询
  • 代币转移
  • 多发送操作
  • 供应和面额查询

区块链工具 (5个工具)

  • 块查询(最新、按高度、按哈希)
  • 节点信息
  • 同步状态监控

帐户工具 (3个工具)

  • 账户信息
  • 交易记录
  • 事务计数

交易工具 (5个工具)

  • 交易查询
  • 交易搜索
  • 天然气估算
  • 交易模拟
  • 状态跟踪

打桩工具 (8工具)

  • 验证器查询和选择
  • 委托管理
  • 取消授权和重新授权
  • 委托跟踪

奖励工具 (4个工具)

  • 奖励查询
  • 奖励提取
  • 撤回地址配置
  • 社区池查询

治理工具 (6个工具)

  • 提案清单和详细信息
  • 提案提交
  • 对提案进行投票
  • 存款管理
  • 投票跟踪

合同工具 (10个工具)

  • 合同上传和部署
  • 合同实例化
  • 合同执行(书面)
  • 合同查询(阅读)
  • 批量合同执行
  • 合同信息
  • 合同迁移
  • 代码信息

IBC工具 (4个工具)

  • 跨链代币转移
  • IBC频道查询
  • 频道信息
  • Denom跟踪

MCP提示(2个提示)

秘密网络指南

  • 全面使用指南
  • 特定主题的帮助(网络、钱包、代币、质押、合约、治理、IBC)
  • 安全说明和最佳做法
  • 错误处理指南

智能合约指南

  • 完整的合同生命周期文档
  • 操作特定指南(上传、实例化、执行、查询、迁移、批处理)
  • 隐私功能说明
  • 示例和故障排除

MCP资源(4个资源)

会话状态 (secret://session/state)

  • 当前网络和活动钱包
  • 会话元数据和状态

钱包列表 (secret://wallets/list)

  • 所有已加载的带有地址的钱包
  • 活动钱包指示

网络配置 (secret://network/config)

  • 网络类型和端点
  • 链ID和天然气价格

顶级验证器 (secret://validators/top)

  • 按投票权排名的顶级验证器
  • 缓存以提高性能

核心基础设施

类型系统

  • 全面的Pydantic v2型号
  • 对所有输入进行严格验证
  • 清除错误消息

配置管理

  • 基于环境的配置
  • 网络配置文件(测试网、主网)
  • 可自定义设置

错误处理

  • 分层异常系统(10种错误类型)
  • 带建议的结构化错误消息
  • 详细的错误上下文

结构化日志记录

  • 使用structlog进行两级调试日志记录
  • JSON和控制台输出格式
  • 请求/响应跟踪

缓存层

  • 基于TTL的缓存与LRU逐出
  • 自动缓存失效
  • 缓存统计和监控

会话管理

  • 安全会话生命周期
  • 多钱包支持
  • 线程安全操作

连接池

  • 线程安全的LCD客户端池
  • 自动连接管理
  • 池统计

输入验证

  • 地址验证(bech32)
  • 金额验证
  • 交易参数验证
  • 安全检查

安全模块

  • 钱包加密(Fernet+PBKDF2)
  • 支出限额
  • 速率限制
  • 密码要求

HD钱包

  • 全面实施BIP32/BIP44/SLIP10
  • 多账户支持
  • 记忆生成

📚 文档

🏗️ 建筑

高级概述

┌─────────────────────────────────────────────────────────────┐
│                     MCP Server Layer                         │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │  MCP Tools   │  │ MCP Prompts  │  │MCP Resources │      │
│  │  (60 tools)  │  │  (2 prompts) │  │ (4 resources)│      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────────┐
│                   Core Infrastructure                        │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐      │
│  │ Session  │ │  Cache   │ │Security  │ │Validation│      │
│  │ Manager  │ │  Layer   │ │ Module   │ │  Engine  │      │
│  └──────────┘ └──────────┘ └──────────┘ └──────────┘      │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────────┐
│                      SDK Layer                               │
│  ┌──────────────┐           ┌──────────────┐               │
│  │ Client Pool  │           │  HD Wallet   │               │
│  │ (Connection) │           │   (BIP44)    │               │
│  └──────────────┘           └──────────────┘               │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼
┌─────────────────────────────────────────────────────────────┐
│                  Secret Network Blockchain                   │
│              (Testnet: pulsar-3 / Mainnet: secret-4)        │
└─────────────────────────────────────────────────────────────┘

模块组织

mcp-scrt/
├── src/mcp_scrt/
│   ├── types.py              # Pydantic models and enums
│   ├── constants.py          # Network, gas, cache constants
│   ├── config.py             # Configuration management
│   ├── utils/
│   │   ├── errors.py         # Exception hierarchy
│   │   └── logging.py        # Structured logging
│   ├── core/
│   │   ├── cache.py          # Caching layer
│   │   ├── session.py        # Session management
│   │   ├── validation.py     # Input validation
│   │   └── security.py       # Security features
│   ├── sdk/
│   │   ├── client.py         # Connection pool
│   │   └── wallet.py         # HD wallet
│   ├── tools/                # 60 MCP tools (11 categories)
│   │   ├── base.py
│   │   ├── network.py
│   │   ├── wallet.py
│   │   ├── bank.py
│   │   ├── blockchain.py
│   │   ├── account.py
│   │   ├── transaction.py
│   │   ├── staking.py
│   │   ├── rewards.py
│   │   ├── governance.py
│   │   ├── contract.py
│   │   └── ibc.py
│   ├── prompts/              # MCP prompts
│   │   ├── guide.py
│   │   └── contracts.py
│   └── resources/            # MCP resources
│       ├── session.py
│       ├── wallets.py
│       ├── network.py
│       └── validators.py
└── tests/
    ├── unit/                 # 601 unit tests (29 modules)
    └── integration/          # 36 integration tests (5 suites)

🧪 测试

测试覆盖率

Total Tests: 637
├── Unit Tests: 601 (29 modules)
│   ├── Foundation: 372 tests
│   └── Tools: 229 tests
└── Integration Tests: 36 (5 suites)
    ├── Transfer workflow: 5 tests
    ├── Staking workflow: 4 tests
    ├── Contract workflow: 6 tests
    ├── Error scenarios: 11 tests
    └── Caching behavior: 10 tests

Pass Rate: 100% ✅
Coverage: Comprehensive (all modules)

运行测试

# All tests
pytest

# Unit tests only
pytest tests/unit/

# Integration tests only
pytest tests/integration/

# Specific module
pytest tests/unit/test_wallet.py

# With coverage
pytest --cov=mcp_scrt --cov-report=html

# Verbose output
pytest -v

# Show print statements
pytest -s

测试质量

  • 测试驱动开发(TDD) -所有代码开发测试优先
  • 综合模拟 -独立单元测试
  • 集成测试 -真实工作流验证
  • 错误场景覆盖率 -测试所有错误路径
  • 边缘案例测试 -边界条件已验证

🔒 安全

钱包安全

  • 加密:Fernet对称加密
  • 导出密钥:PBKDF2有600000次迭代
  • 密码要求:强密码强制
  • 存储:仅在内存中,从不持久化到磁盘

交易安全

  • 支出限额:可配置每笔交易限额
  • 确认:大型交易需要
  • 验证:执行前验证所有输入
  • 速率限制:防止虐待

网络安全

  • 超文本传输安全协议:所有RPC通信都已加密
  • 输入消毒:防止注射攻击
  • 地址验证:严格的bech32验证
  • 错误消息:未暴露敏感数据

🛠️ 配置

环境变量

创建一个 .env 文件:

# Network
SECRET_NETWORK=testnet  # testnet, mainnet, or custom

# Testnet Configuration
SECRET_TESTNET_URL=https://lcd.testnet.secretsaturn.net
SECRET_TESTNET_CHAIN_ID=pulsar-3

# Mainnet Configuration
SECRET_MAINNET_URL=https://lcd.mainnet.secretsaturn.net
SECRET_MAINNET_CHAIN_ID=secret-4

# Security
SPENDING_LIMIT=10000000         # 10 SCRT in uscrt
CONFIRMATION_THRESHOLD=1000000  # 1 SCRT in uscrt

# Performance
MAX_CONNECTIONS=10
CACHE_TTL_DEFAULT=60

# Logging
LOG_LEVEL=INFO  # DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_FORMAT=json # json or console
DEBUG=false     # Extra verbose logging

网络交换

from mcp_scrt.core.session import Session
from mcp_scrt.types import NetworkType

# Use testnet (for development)
session = Session(network=NetworkType.TESTNET)

# Use mainnet (for production)
session = Session(network=NetworkType.MAINNET)

📦 安装

先决条件

  • Python 3.13+
  • pip或uv包管理器

安装

# Clone repository
git clone https://github.com/yourusername/mcp-scrt.git
cd mcp-scrt

# Install dependencies (choose one)
pip install -e ".[dev]"  # Using pip
uv pip install -e ".[dev]"  # Using uv (faster)

# Configure environment
cp .env.example .env
# Edit .env with your settings

# Verify installation
pytest

💡 用法示例

基本代币转移

from mcp_scrt.core.session import Session
from mcp_scrt.sdk.client import ClientPool
from mcp_scrt.tools.base import ToolExecutionContext
from mcp_scrt.tools.wallet import ImportWalletTool
from mcp_scrt.tools.bank import SendTokensTool
from mcp_scrt.types import NetworkType

# Setup
session = Session(network=NetworkType.TESTNET)
session.start()

pool = ClientPool(network=NetworkType.TESTNET)
context = ToolExecutionContext(session=session, client_pool=pool, network=NetworkType.TESTNET)

# Import wallet
import_tool = ImportWalletTool(context)
await import_tool.run({
    "name": "my_wallet",
    "mnemonic": "your 24 word mnemonic here..."
})

# Send tokens
send_tool = SendTokensTool(context)
result = await send_tool.run({
    "recipient": "secret1recipientaddress...",
    "amount": "1000000",  # 1 SCRT
    "denom": "uscrt",
    "memo": "Payment"
})

print(f"Transaction: {result['data']['txhash']}")

质押和奖励

from mcp_scrt.tools.staking import GetValidatorsTool, DelegateTool
from mcp_scrt.tools.rewards import GetRewardsTool, WithdrawRewardsTool

# Get validators
validators_tool = GetValidatorsTool(context)
validators = await validators_tool.run({"limit": 10})

# Delegate
delegate_tool = DelegateTool(context)
await delegate_tool.run({
    "validator_address": validators['data']['validators'][0]['operator_address'],
    "amount": "5000000"  # 5 SCRT
})

# Check rewards
rewards_tool = GetRewardsTool(context)
rewards = await rewards_tool.run({})

# Withdraw rewards
withdraw_tool = WithdrawRewardsTool(context)
await withdraw_tool.run({})

智能合约

from mcp_scrt.tools.contract import (
    UploadContractTool,
    InstantiateContractTool,
    ExecuteContractTool,
    QueryContractTool
)

# Upload contract
upload_tool = UploadContractTool(context)
upload_result = await upload_tool.run({"wasm_byte_code": wasm_base64})
code_id = upload_result['data']['code_id']

# Instantiate
instantiate_tool = InstantiateContractTool(context)
instantiate_result = await instantiate_tool.run({
    "code_id": code_id,
    "init_msg": {"count": 0},
    "label": "my_counter"
})
contract_address = instantiate_result['data']['contract_address']

# Execute
execute_tool = ExecuteContractTool(context)
await execute_tool.run({
    "contract_address": contract_address,
    "execute_msg": {"increment": {}}
})

# Query
query_tool = QueryContractTool(context)
result = await query_tool.run({
    "contract_address": contract_address,
    "query_msg": {"get_count": {}}
})

更多示例请参见 Get-Started.md.

🤝 贡献

该项目遵循严格的开发标准:

开发工作流程

  1. 测试驱动开发(TDD) -先写测试
  2. 代码审查 -所有更改均已审核
  3. 文档 -用代码更改更新文档
  4. 类型安全 -在任何地方使用类型提示
  5. 错误处理 -全面的错误处理

代码规范

  • 风格:黑色格式的PEP 8
  • 代码检查:用于快速、全面脱毛的褶边
  • 类型检查:mypy用于静态类型检查
  • 测试:pytest,覆盖率目标为100%
  • 文档:带示例的文档字符串

运行质量检查

# Format code
black src/ tests/

# Lint code
ruff check src/ tests/

# Type check
mypy src/

# Run tests
pytest --cov=mcp_scrt

📊 项目统计

Lines of Code:        ~22,500
├── Source Code:      ~10,500
└── Test Code:        ~12,000

Test Coverage:        637 tests (100% pass)
├── Unit Tests:       601
└── Integration:      36

Modules:             40+
├── Core:            11
├── Tools:           11
├── Prompts:         2
└── Resources:       4

Features:            66+
├── Tools:           60
├── Prompts:         2
└── Resources:       4

🗺️ 路线图

✅ 完成

  • \[x\] 第一阶段:基础层(100%)
  • \[x\] 第2阶段:MCP工具(100%)
  • \[x\] 第三期:提示和资源(100%)
  • \[x\] 阶段4:集成测试(100%)

🔮 未来的增强功能

  • \[\]WebSocket支持实时更新
  • \[\]用于复杂查询的GraphQL端点
  • \[\]支持多签名钱包
  • \[\]硬件钱包集成(Ledger、Trezor)
  • \[\]高级缓存策略
  • \[\]监控和指标仪表板
  • \[\]性能优化
  • \[\]MCP服务器的其他功能

📄 许可证

MIT许可证-请参阅 许可证 详细信息文件

🔗 链接

🙏 致谢

  • 区块链和SDK的秘密网络团队
  • MCP协议的拟人化
  • 优秀图书馆的开源社区

💬 支持

  • 问题:
  • 讨论:
  • Discord 的中文翻译是“不和谐”或“纷争”。: 秘密网络不和

______________________________________________________________________

采用测试驱动开发构建 | 生产就绪安全 | 综合文档

由以下材料制成❤️ 秘密网络生态系统

目录标签

目录标签

PythonSession认证AI代理区块链集成本地部署AI助手安全接口模型上下文协议SecretNetwork

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP