mcpField
C
Chain of Draft (CoD) MCP Server

Chain of Draft (CoD) MCP Server

ローカル
github.com/stat-guyAI・エージェント1286 週間前に更新

Chain of Draft (CoD) MCP Server について

Chain of Draft (CoD) MCP Serverは、短い推論出力と性能指標を求める開発者向けに、簡潔な推論で問題を解決します。問題の複雑さに応じて語数制限を調整し、CoDとCoTを選択できます。

主な機能

  1. 01簡潔な推論と回答抽出
  2. 02複雑さに応じた語数制限
  3. 03分野別の例の検索
  4. 04トークン・精度・時間の記録
  5. 05CoDとCoTの選択

活用シーン

  1. 01簡潔な手順で数学問題を解く
  2. 02コードや論理の問題に対応
  3. 03CoDとCoTの性能を比較

MCP 対応

問題解決、複雑さの分析、性能統計のツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Chain of Draft(CoD)MCP サーバー

概要

この MCP サーバーは、研究論文「Chain of Draft: Thinking Faster by Writing Less」で説明されている Chain of Draft(CoD)推論アプローチを実装しています。CoD は、タスクの解決中に LLM が最小限ながら有益な中間推論出力を生成できる新しいパラダイムです。精度を維持しながら、トークン使用量を大幅に削減します。

主なメリット

  • 効率性:トークン使用量を大幅に削減します(標準的な CoT のわずか 7.6% に抑えられる場合もあります)。
  • 速度:生成時間が短いため、応答が速くなります。
  • コスト削減:LLM の呼び出しにかかる API コストを抑えられます。
  • 精度の維持:CoT と同等、またはそれ以上の精度を実現します。
  • 柔軟性:さまざまな推論タスクや分野に適用できます。

機能

  1. Chain of Draft のコア実装

    • 簡潔な推論ステップ(通常は 5 語以下)
    • フォーマットの適用
    • 回答の抽出
  2. パフォーマンス分析

    • トークン使用量の追跡
    • 解答精度の監視
    • 実行時間の測定
    • 分野別のパフォーマンス指標
  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 を使ってサーバーを追加することもできます:

# 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_solveChain of Draft 推論を使って問題を解きます
math_solveCoD を使って数学の問題を解きます
code_solveCoD を使ってコーディングの問題を解きます
logic_solveCoD を使って論理問題を解きます
get_performance_statsCoD と 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 実装
  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 ライセンスの下で公開されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。