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