Chain of Draft (CoD) MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides compatibility with OpenAI API clients, serving as a drop-in replacement for standard OpenAI interfaces while implementing the Chain of Draft approach.

Servidor MCP de Cadena de Borrador (CoD)

Descripción general

Este servidor MCP implementa el enfoque de razonamiento Cadena de Borrador (CoD), como se describe en el artículo de investigación "Cadena de Borrador: Pensar más rápido escribiendo menos". CoD es un paradigma novedoso que permite a los LLM generar resultados de razonamiento intermedios minimalistas pero informativos al resolver tareas, lo que reduce significativamente el uso de tokens y mantiene la precisión.

Beneficios clave

  • Eficiencia : uso de tokens significativamente reducido (tan solo el 7,6 % del CoT estándar)
  • Velocidad : Respuestas más rápidas debido a un tiempo de generación más corto
  • Ahorro de costes : menores costes de API para llamadas LLM
  • Precisión mantenida : Precisión similar o incluso mejorada en comparación con CoT
  • Flexibilidad : aplicable a diversas tareas y dominios de razonamiento.

Características

  1. Cadena central de implementación del borrador
    • Pasos de razonamiento concisos (normalmente 5 palabras o menos)
    • Cumplimiento de formato
    • Extracción de respuestas
  2. Análisis de rendimiento
    • Seguimiento del uso de tokens
    • Monitoreo de la precisión de la solución
    • Medición del tiempo de ejecución
    • Métricas de rendimiento específicas del dominio
  3. Límites de palabras adaptables
    • Estimación automática de la complejidad
    • Ajuste dinámico de los límites de palabras
    • Calibración específica del dominio
  4. Base de datos de ejemplos completa
    • Transformación de CoT a CoD
    • Ejemplos específicos de dominio (matemáticas, código, biología, física, química, rompecabezas)
    • Recuperación de ejemplos basada en la similitud de problemas
  5. Aplicación del formato
    • Posprocesamiento para garantizar el cumplimiento de los límites de palabras
    • Preservación de la estructura escalonada
    • Análisis de adherencia
  6. Enfoques de razonamiento híbrido
    • Selección automática entre CoD y CoT
    • Optimización específica del dominio
    • Selección basada en el rendimiento histórico
  7. Compatibilidad de la API de OpenAI
    • Reemplazo directo para los clientes estándar de OpenAI
    • Soporte tanto para finalizaciones como para interfaces de chat
    • Fácil integración en flujos de trabajo existentes

Configuración e instalación

Prerrequisitos

  • Python 3.10+ (para la implementación de Python)
  • Node.js 18+ (para implementación de JavaScript)
  • Clave API antrópica

Instalación de Python

  1. Clonar el repositorio
  2. Instalar dependencias:
    pip install -r requirements.txt
  3. Configurar claves API en el archivo .env :
    ANTHROPIC_API_KEY=your_api_key_here
  4. Ejecutar el servidor:
    python server.py

Instalación de JavaScript

  1. Clonar el repositorio
  2. Instalar dependencias:
    npm install
  3. Configurar claves API en el archivo .env :
    ANTHROPIC_API_KEY=your_api_key_here
  4. Ejecutar el servidor:
    node index.js

Integración de escritorio de Claude

Para integrar con Claude Desktop:

  1. Instalar Claude Desktop desde claude.ai/download
  2. Cree o edite el archivo de configuración de Claude Desktop:
    ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Agregue la configuración del servidor (versión de Python):
    { "mcpServers": { "chain-of-draft": { "command": "python3", "args": ["/absolute/path/to/cod/server.py"], "env": { "ANTHROPIC_API_KEY": "your_api_key_here" } } } }
    O para la versión JavaScript:
    { "mcpServers": { "chain-of-draft": { "command": "node", "args": ["/absolute/path/to/cod/index.js"], "env": { "ANTHROPIC_API_KEY": "your_api_key_here" } } } }
  4. Reiniciar Claude Desktop

También puedes usar la CLI de Claude para agregar el servidor:

# 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"

Herramientas disponibles

El servidor Chain of Draft proporciona las siguientes herramientas:

HerramientaDescripción
chain_of_draft_solveResolver un problema utilizando el razonamiento de cadena de borrador
math_solveResolver un problema de matemáticas con CoD
code_solveResolver un problema de codificación con CoD
logic_solveResolver un problema de lógica con CoD
get_performance_statsObtén estadísticas de rendimiento de CoD vs. CoT
get_token_reductionObtener estadísticas de reducción de tokens
analyze_problem_complexityAnalizar la complejidad del problema

Uso del desarrollador

Cliente Python

Si desea utilizar el cliente Chain of Draft directamente en su código Python:

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']}")

Cliente JavaScript

Para aplicaciones 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();

Detalles de implementación

El servidor está disponible en implementaciones de Python y JavaScript, ambas constan de varios componentes integrados:

Implementación de Python

  1. AnalyticsService : realiza un seguimiento de las métricas de rendimiento en diferentes dominios de problemas y enfoques de razonamiento.
  2. ComplexityEstimator : analiza problemas para determinar límites de palabras apropiados
  3. ExampleDatabase : administra y recupera ejemplos, transformando ejemplos de CoT al formato CoD
  4. FormatEnforcer : garantiza que los pasos de razonamiento se ajusten a los límites de palabras
  5. ReasoningSelector : elige inteligentemente entre CoD y CoT según las características del problema

Implementación de JavaScript

  1. analyticsDb : Base de datos en memoria para el seguimiento de métricas de rendimiento
  2. complexityEstimator : Analiza problemas para determinar la complejidad y los límites de palabras apropiados
  3. formatEnforcer : garantiza que los pasos de razonamiento se ajusten a los límites de palabras
  4. reasoningSelector : elige automáticamente entre CoD y CoT según las características del problema y el rendimiento histórico

Ambas implementaciones siguen los mismos principios básicos y proporcionan herramientas MCP idénticas, lo que las hace intercambiables para la mayoría de los casos de uso.

Licencia

Este proyecto es de código abierto y está disponible bajo la licencia MIT.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Implementa el enfoque de razonamiento de cadena de borrador para generar resultados de razonamiento intermedios minimalistas al resolver tareas, lo que reduce significativamente el uso de tokens y mantiene la precisión.

  1. Overview
    1. Key Benefits
      1. Features
        1. Setup and Installation
          1. Prerequisites
          2. Python Installation
          3. JavaScript Installation
        2. Claude Desktop Integration
          1. Available Tools
            1. Developer Usage
              1. Python Client
              2. JavaScript Client
            2. Implementation Details
              1. Python Implementation
              2. JavaScript Implementation
            3. License
              ID: 2fynikwmy3