Chain of Draft (CoD) MCP Server

Chain of Draft (CoD) MCP Server

实现了草稿链式推理方法,在解决任务时生成极简的中间推理输出,在保持准确性的同时显著减少了token使用量。

研究与数据
开发者工具
访问服务器

Tools

chain_of_draft_solve

Solve a reasoning problem using Chain of Draft approach

math_solve

Solve a math problem using Chain of Draft reasoning

code_solve

Solve a coding problem using Chain of Draft reasoning

logic_solve

Solve a logic problem using Chain of Draft reasoning

get_performance_stats

Get performance statistics for CoD vs CoT approaches

get_token_reduction

Get token reduction statistics for CoD vs CoT

analyze_problem_complexity

Analyze the complexity of a problem

README

Chain of Draft (CoD) MCP 服务器

概述

此 MCP 服务器实现了“Chain of Draft (CoD)”推理方法,如研究论文“Chain of Draft: Thinking Faster by Writing Less”中所述。 CoD 是一种新颖的范例,允许 LLM 生成简约但信息丰富的中间推理输出,同时解决任务,从而在保持准确性的同时显着减少 token 使用量。

主要优势

  • 效率:显着减少 token 使用量(仅为标准 CoT 的 7.6%)
  • 速度:由于生成时间更短,响应速度更快
  • 成本节约:降低 LLM 调用的 API 成本
  • 保持准确性:与 CoT 相比,准确性相似甚至更高
  • 灵活性:适用于各种推理任务和领域

功能

  1. 核心 Chain of Draft 实现

    • 简洁的推理步骤(通常为 5 个字或更少)
    • 格式强制执行
    • 答案提取
  2. 性能分析

    • Token 使用量跟踪
    • 解决方案准确性监控
    • 执行时间测量
    • 领域特定的性能指标
  3. 自适应字数限制

    • 自动复杂度估计
    • 动态调整字数限制
    • 领域特定的校准
  4. 综合示例数据库

    • CoT 到 CoD 的转换
    • 领域特定的示例(数学、代码、生物学、物理学、化学、谜题)
    • 基于问题相似性的示例检索
  5. 格式强制执行

    • 后处理以确保符合字数限制
    • 步骤结构保留
    • 遵守情况分析
  6. 混合推理方法

    • CoD 和 CoT 之间的自动选择
    • 领域特定的优化
    • 基于历史性能的选择
  7. OpenAI API 兼容性

    • 标准 OpenAI 客户端的直接替代品
    • 支持 completions 和 chat 接口
    • 易于集成到现有工作流程中

设置和安装

前提条件

  • Python 3.10+(对于 Python 实现)
  • Node.js 18+(对于 JavaScript 实现)
  • Anthropic API 密钥

Python 安装

  1. 克隆存储库
  2. 安装依赖项:
    pip install -r requirements.txt
    
  3. .env 文件中配置 API 密钥:
    ANTHROPIC_API_KEY=your_api_key_here
    
  4. 运行服务器:
    python server.py
    

JavaScript 安装

  1. 克隆存储库
  2. 安装依赖项:
    npm install
    
  3. .env 文件中配置 API 密钥:
    ANTHROPIC_API_KEY=your_api_key_here
    
  4. 运行服务器:
    node index.js
    

Claude Desktop 集成

要与 Claude Desktop 集成:

  1. claude.ai/download 安装 Claude Desktop

  2. 创建或编辑 Claude Desktop 配置文件:

    ~/Library/Application Support/Claude/claude_desktop_config.json
    
  3. 添加服务器配置(Python 版本):

    {
        "mcpServers": {
            "chain-of-draft": {
                "command": "python3",
                "args": ["/absolute/path/to/cod/server.py"],
                "env": {
                    "ANTHROPIC_API_KEY": "your_api_key_here"
                }
            }
        }
    }
    

    或者对于 JavaScript 版本:

    {
        "mcpServers": {
            "chain-of-draft": {
                "command": "node",
                "args": ["/absolute/path/to/cod/index.js"],
                "env": {
                    "ANTHROPIC_API_KEY": "your_api_key_here"
                }
            }
        }
    }
    
  4. 重启 Claude Desktop

您还可以使用 Claude CLI 添加服务器:

# 对于 Python 实现
claude mcp add chain-of-draft -e ANTHROPIC_API_KEY="your_api_key_here" "python3 /absolute/path/to/cod/server.py"

# 对于 JavaScript 实现
claude mcp add chain-of-draft -e ANTHROPIC_API_KEY="your_api_key_here" "node /absolute/path/to/cod/index.js"

可用工具

Chain of Draft 服务器提供以下工具:

工具 描述
chain_of_draft_solve 使用 Chain of Draft 推理解决问题
math_solve 使用 CoD 解决数学问题
code_solve 使用 CoD 解决编码问题
logic_solve 使用 CoD 解决逻辑问题
get_performance_stats 获取 CoD 与 CoT 的性能统计信息
get_token_reduction 获取 token 减少统计信息
analyze_problem_complexity 分析问题复杂度

开发者使用

Python 客户端

如果您想在 Python 代码中直接使用 Chain of Draft 客户端:

from client import ChainOfDraftClient

# 创建客户端
cod_client = ChainOfDraftClient()

# 直接使用
result = await cod_client.solve_with_reasoning(
    problem="Solve: 247 + 394 = ?",
    domain="math"
)

print(f"Answer: {result['final_answer']}")
print(f"Reasoning: {result['reasoning_steps']}")
print(f"Tokens used: {result['token_count']}")

JavaScript 客户端

对于 JavaScript/Node.js 应用程序:

import { Anthropic } from "@anthropic-ai/sdk";
import dotenv from "dotenv";

// 加载环境变量
dotenv.config();

// 创建 Anthropic 客户端
const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

// 导入 Chain of Draft 客户端
import chainOfDraftClient from './lib/chain-of-draft-client.js';

// 使用客户端
async function solveMathProblem() {
  const result = await chainOfDraftClient.solveWithReasoning({
    problem: "Solve: 247 + 394 = ?",
    domain: "math",
    max_words_per_step: 5
  });
  
  console.log(`Answer: ${result.final_answer}`);
  console.log(`Reasoning: ${result.reasoning_steps}`);
  console.log(`Tokens used: ${result.token_count}`);
}

solveMathProblem();

实现细节

该服务器提供 Python 和 JavaScript 两种实现,两者都包含几个集成的组件:

Python 实现

  1. AnalyticsService: 跟踪不同问题领域和推理方法的性能指标
  2. ComplexityEstimator: 分析问题以确定适当的字数限制
  3. ExampleDatabase: 管理和检索示例,将 CoT 示例转换为 CoD 格式
  4. FormatEnforcer: 确保推理步骤符合字数限制
  5. ReasoningSelector: 根据问题特征智能地选择 CoD 和 CoT

JavaScript 实现

  1. analyticsDb: 用于跟踪性能指标的内存数据库
  2. complexityEstimator: 分析问题以确定复杂性和适当的字数限制
  3. formatEnforcer: 确保推理步骤符合字数限制
  4. reasoningSelector: 根据问题特征和历史性能自动选择 CoD 和 CoT

两种实现都遵循相同的核心原则并提供相同的 MCP 工具,使其在大多数用例中可以互换。

许可证

本项目是开源的,并根据 MIT 许可证提供。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript