
Chain of Draft (CoD) MCP Server

2025.03.04
5
PythonLLM 推理优化开发效率工具开发效率
Chain of Draft (CoD) MCP Server 是一个实现 Chain of Draft (CoD) 推理方法的 MCP 服务器。CoD 是一种新颖的范式,允许 LLMs 在解决任务时生成简洁但信息丰富的中间推理输出,显著减少 token 使用,同时保持准确性。该服务器具有高效性、速度快、成本节约、保持准确性和灵活性等关键优势。
View on GitHub
Overview
基本能力
产品定位
Chain of Draft (CoD) MCP Server 是一个用于优化 LLM 推理过程的工具,旨在通过减少 token 使用和提高推理效率来提升开发效率。
核心功能
- 核心 Chain of Draft 实现:生成简洁的推理步骤(通常 5 个词或更少),强制执行格式,提取答案。
- 性能分析:跟踪 token 使用、解决方案准确性、执行时间和特定领域的性能指标。
- 自适应词限制:自动估计复杂性,动态调整词限制,特定领域校准。
- 综合示例数据库:支持 CoT 到 CoD 的转换,提供特定领域的示例(数学、代码、生物学、物理、化学、谜题)。
- 格式强制执行:后处理以确保遵守词限制,保持步骤结构,遵守分析。
- 混合推理方法:自动选择 CoD 和 CoT,特定领域优化,基于历史性能的选择。
- OpenAI API 兼容性:作为标准 OpenAI 客户端的替代品,支持完成和聊天接口,易于集成到现有工作流。
适用场景
- 数学问题解决
- 代码问题解决
- 逻辑问题解决
- 性能分析和优化
- 复杂问题推理
工具列表
工具 | 描述 |
---|---|
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 和 JavaScript 两种安装方式,具体步骤见安装教程。
- 如何集成到 Claude Desktop?:通过编辑配置文件或使用 CLI 命令添加服务器。
- 如何获取性能统计?:使用
get_performance_stats
工具。
使用教程
使用依赖
- Python 3.10+(Python 实现)
- Node.js 18+(JavaScript 实现)
- Anthropic API key
安装教程
Python 安装
- 克隆仓库
- 安装依赖:
bash pip install -r requirements.txt
- 在
.env
文件中配置 API 密钥:ANTHROPIC_API_KEY=your_api_key_here
- 运行服务器:
bash python server.py
JavaScript 安装
- 克隆仓库
- 安装依赖:
bash npm install
- 在
.env
文件中配置 API 密钥:ANTHROPIC_API_KEY=your_api_key_here
- 运行服务器:
bash node index.js
调试方式
Python 客户端
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 客户端
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();