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 相比,准确性相似甚至更高
- 灵活性:适用于各种推理任务和领域
功能
-
核心 Chain of Draft 实现
- 简洁的推理步骤(通常为 5 个字或更少)
- 格式强制执行
- 答案提取
-
性能分析
- Token 使用量跟踪
- 解决方案准确性监控
- 执行时间测量
- 领域特定的性能指标
-
自适应字数限制
- 自动复杂度估计
- 动态调整字数限制
- 领域特定的校准
-
综合示例数据库
- 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 添加服务器:
# 对于 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 实现
- AnalyticsService: 跟踪不同问题领域和推理方法的性能指标
- ComplexityEstimator: 分析问题以确定适当的字数限制
- ExampleDatabase: 管理和检索示例,将 CoT 示例转换为 CoD 格式
- FormatEnforcer: 确保推理步骤符合字数限制
- ReasoningSelector: 根据问题特征智能地选择 CoD 和 CoT
JavaScript 实现
- analyticsDb: 用于跟踪性能指标的内存数据库
- complexityEstimator: 分析问题以确定复杂性和适当的字数限制
- formatEnforcer: 确保推理步骤符合字数限制
- reasoningSelector: 根据问题特征和历史性能自动选择 CoD 和 CoT
两种实现都遵循相同的核心原则并提供相同的 MCP 工具,使其在大多数用例中可以互换。
许可证
本项目是开源的,并根据 MIT 许可证提供。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的。
mixpanel
连接到您的 Mixpanel 数据。从 Mixpanel 分析查询事件、留存和漏斗数据。