关于 Chain of Draft (CoD) MCP Server
Chain of Draft (CoD) MCP Server 将简短推理步骤用于问题求解,适合希望减少推理文本并查看性能指标的开发者。它提供自适应字数限制,并可在 CoD 与 CoT 之间选择。
主要功能
- 01简短推理步骤与答案提取
- 02按问题复杂度调整字数限制
- 03检索领域示例
- 04跟踪令牌、准确率与耗时
- 05在 CoD 与 CoT 间选择
适用场景
- 01用精简步骤求解数学问题
- 02处理代码与逻辑问题
- 03比较 CoD 与 CoT 的表现
MCP 相关
它通过 MCP 向客户端提供问题求解、复杂度分析和性能统计工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Chain of Draft(CoD)MCP 服务
概述
此 MCP 服务实现了研究论文《Chain of Draft:少写一点,思考更快》中介绍的 Chain of Draft(CoD)推理方法。CoD 是一种新颖的范式,支持大模型在解决任务时生成简洁而有用的中间推理结果,大幅减少令牌用量,同时保持准确性。
主要优势
- 高效:大幅减少令牌用量(最低仅为标准 CoT 的 7.6%)
- 快速:生成时间更短,响应速度更快
- 节省成本:降低大模型调用的 API 成本
- 保持准确性:与 CoT 相比,准确性相近甚至更高
- 灵活:适用于各种推理任务和领域
功能
-
Chain of Draft 核心实现
- 简洁的推理步骤(通常不超过 5 个词)
- 格式强制规范
- 答案提取
-
性能分析
- 令牌用量跟踪
- 解答准确性监控
- 执行时间测量
- 特定领域的性能指标
-
自适应词数限制
- 自动估算复杂度
- 动态调整词数限制
- 特定领域的校准
-
全面的示例数据库
- CoT 到 CoD 的转换
- 特定领域的示例(数学、代码、生物学、物理学、化学、谜题)
- 根据问题相似度检索示例
-
格式强制规范
- 后处理,确保遵守词数限制
- 保留步骤结构
- 遵守情况分析
-
混合推理方法
- 自动在 CoD 和 CoT 之间进行选择
- 特定领域的优化
- 基于历史性能进行选择
-
兼容 OpenAI API
- 可直接替换标准 OpenAI 客户端
- 支持 completions 和 chat 接口
- 轻松集成到现有工作流中
设置与安装
前置条件
- Python 3.10+(用于 Python 实现)
- Node.js 18+(用于 JavaScript 实现)
- Anthropic API 密钥
Python 安装
- 克隆代码仓库
- 安装依赖项:
pip install -r requirements.txt - 在
.env文件中配置 API 密钥:ANTHROPIC_API_KEY=your_api_key_here - 运行服务:
python server.py
JavaScript 安装
- 克隆代码仓库
- 安装依赖项:
npm install - 在
.env文件中配置 API 密钥:ANTHROPIC_API_KEY=your_api_key_here - 运行服务:
node index.js
集成 Claude Desktop
要集成 Claude Desktop:
-
从 claude.ai/download 安装 Claude Desktop
-
创建或编辑 Claude Desktop 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json -
添加服务配置(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" } } } } -
重启 Claude Desktop
你也可以使用 Claude CLI 添加服务:
# For Python implementation
claude mcp add chain-of-draft -e ANTHROPIC_API_KEY="your_api_key_here" "python3 /absolute/path/to/cod/server.py"
# For JavaScript implementation
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 | 获取令牌减少情况的统计数据 |
analyze_problem_complexity | 分析问题复杂度 |
开发者用法
Python 客户端
如果你想在 Python 代码中直接使用 Chain of Draft 客户端:
from client import ChainOfDraftClient
# Create client
cod_client = ChainOfDraftClient()
# Use directly
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";
// Load environment variables
dotenv.config();
// Create the Anthropic client
const anthropic = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
// Import the Chain of Draft client
import chainOfDraftClient from './lib/chain-of-draft-client.js';
// Use the client
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 实现
- AnalyticsService:跟踪不同问题领域和推理方法的性能指标
- ComplexityEstimator:分析问题,以确定合适的字数限制
- ExampleDatabase:管理和检索示例,并将 CoT 示例转换为 CoD 格式
- FormatEnforcer:确保推理步骤符合字数限制
- ReasoningSelector:根据问题特征智能选择 CoD 或 CoT
JavaScript 实现
- analyticsDb:用于跟踪性能指标的内存数据库
- complexityEstimator:分析问题,以确定复杂度和合适的字数限制
- formatEnforcer:确保推理步骤符合字数限制
- reasoningSelector:根据问题特征和历史性能自动选择 CoD 或 CoT
两种实现都遵循相同的核心原则,并提供相同的 MCP 工具,因此在大多数使用场景中可以互换。
许可证
本项目采用 MIT 许可证开源。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。