DAO治理健康分析服务器

一个用于全面分析DAO治理健康状况的MCP服务器,提供实时评估、风险识别和详细报告功能。

  • by Sarvajeet2003
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Sarvajeet2003/Tally_MCP_Server

使用说明

治理健康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工具请求并协调分析流程。

工作流程:

  1. 验证DAO标识符
  2. 检查缓存中的现有数据
  3. 如果缓存未命中,则从API获取
  4. 通过评分算法进行处理
  5. 返回格式化响应

数据流

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:类型安全的JavaScript
  • tsx:TypeScript执行引擎
  • @types/node:Node.js类型定义