使用说明
治理健康MCP服务器
用于全面DAO治理健康分析的模型上下文协议(MCP)服务器。该服务器为主要的DeFi治理协议提供实时评估、风险识别和详细报告。
🔍 概述
治理健康MCP服务器跨多个维度分析去中心化自治组织(DAO),以提供全面的治理健康见解。它与治理API集成以获取实时数据,并应用复杂的评分算法来评估DAO性能。
特性
- 🎯 多维健康评分:5类评估框架
- ⚠️ 风险识别:自动检测治理漏洞
- 📊 详细报告:综合治理分析报告
- ⚡ 性能优化:内置缓存,响应时间快
- 🔌 MCP兼容:与人工智能助手和应用程序无缝集成
建筑
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │ │ MCP Server │ │ Data Sources │
│ (Claude/AI) │◄──►│ (This Project) │◄──►│ (Tally API) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Cache Manager │
│ (Node Cache) │
└─────────────────┘
可用工具
1. identify_risks
分析DAO中的治理风险和漏洞。
参数:
dao_identifier(string):DAO名称/标识符
输出: JSON对象包含:
- 风险类别和级别
- 特定漏洞详细信息
- 建议的缓解策略
2. get_detailed_report
生成全面的治理健康报告。
参数:
dao_identifier(string):DAO名称/标识符
输出: JSON对象包含:
- 完成健康评估
- 特定类别分析
- 历史趋势
- 可采取行动的建议
健康评分框架
评分类别
| 类别 | 重量 | 描述 |
|---|---|---|
| 参与 | 25% | 选民投票率、代表活动、社区参与 |
| 去中心化 | 25% | 代币分配、权力集中分析 |
| 活动 | 20% | 提案频率、成功率、积极治理 |
| 透明度 | 15% | 信息可用性、提案清晰度 |
| 稳定性 | 15% | 业绩稳定,财务状况良好 |
健康评估等级
| 评分范围 | 评估 | 描述 |
|---|---|---|
| 80-100 | 🟢 优秀 | 强有力的治理和强有力的参与 |
| 60-79 。🟡 好 | 健康治理,但仍有一些需要改进的地方 | |
| 40-59 | 🟠 公平的 | 适度治理,值得关注 |
| 0-39 | 🔴 贫穷的 | 需要关注的重大治理挑战 |
支持的DAO
服务器目前支持对以下主要DeFi协议的分析:
- Uniswap 的 (
uniswap) - 复合物 (
compound) - 阿夫 (
aave) - MakerDAO (
makerdao) - 曲线 (
curve) - 渴望 (
yearn) - SushiSwap 的 (
sushi) - 仲裁 (
arbitrum) - 乐观主义 (
optimism) - ENS (
ens) - 平衡器 (
balancer)
安装和设置
先决条件
- Node.js 18+
- npm或纱线
安装
# Clone the repository
git clone <repository-url>
cd governance-health-mcp
# Install dependencies
npm install
# Build the project
npm run build
发展
# Run in development mode
npm run dev
# Build for production
npm run build
# Start production server
npm start
配置
服务器使用以下默认配置:
缓存设置
- 生存时间:1小时(3600秒)
- 检查周期:12分钟(TTL的20%)
- 克隆模式:禁用以获得更好的性能
评分权重
const weights = {
participation: 0.25,
decentralization: 0.25,
activity: 0.20,
transparency: 0.15,
stability: 0.15
};
🔧 技术细节
核心组件
1.健康评分器(health-scorer.ts)
实施治理健康评估的评分算法。
关键方法:
calculateCategoryScores():计算单个类别的分数calculateOverallScore():所有类别的加权平均值- 每个维度的单独类别计算器
2. 缓存管理器(cache.ts)
为API响应提供高效的缓存层。
特征:
- 可配置TTL(生存时间)
- 自动缓存清理
- 类型安全获取/设置操作
- 性能统计
3.服务器处理程序(server.ts)
处理MCP工具请求并协调分析流程。
工作流程:
- 验证DAO标识符
- 检查缓存中的现有数据
- 如果缓存未命中,则从API获取
- 通过评分算法进行处理
- 返回格式化响应
数据流
Request → Validation → Cache Check → API Fetch → Scoring → Response
↓ ↓ ↓ ↓ ↓ ↓
Tool DAO ID Hit/Miss Tally API Health JSON
Handler Verify Decision GraphQL Scorer Output
示例用法
风险分析
# Identify risks for Uniswap governance
Tool: identify_risks
Args: { "dao_identifier": "uniswap" }
详细报告
# Get comprehensive report for Compound
Tool: get_detailed_report
Args: { "dao_identifier": "compound" }
MCP集成
此服务器实现了模型上下文协议,使其与以下协议兼容:
- 克劳德桌面/网络:与Anthropic的AI助手直接集成
- 其他MCP客户端:任何支持MCP协议的应用程序
- 自定义集成:构建自己的MCP兼容应用程序
连接设置
服务器在stdio传输上运行:
const transport = new StdioServerTransport();
await this.server.connect(transport);
分析指标
该系统通过以下关键指标评估DAO:
参与度指标
- 平均选民投票率
- 代表活动级别
- 社区参与度得分
去中心化指标
- 代币集中度(基尼系数)
- 投票权分配
- 活跃代表人数
活动指标
- 提交的提案总数
- 目前正在进行的提案
- 提案成功/失败率
透明度指标
- 建议书文件质量
- 平均提案持续时间
- 公众讨论活动
稳定性指标
- 随时间推移的治理一致性
- 财政部健康指标
- 决策效率
错误处理
服务器包括全面的错误处理:
- DAO标识符无效:清除支持的DAO列表错误
- API故障:缓存数据性能下降
- 网络问题:使用指数回退重试逻辑
- 缓存故障:回退到直接API调用
依赖项
生产依赖性
@modelcontextprotocol/sdk:MCP协议实施axios:API请求的HTTP客户端graphql-request:GraphQL查询客户端node-cache:内存缓存解决方案zod:运行时类型验证
发展依赖性
typescript:类型安全的JavaScripttsx:TypeScript执行引擎@types/node:Node.js类型定义