cc-sdd-mcp-server

densuke/cc-sdd-mcp-server

3.2

If you are the rightful owner of cc-sdd-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The cc-sdd-mcp-server is a server-side application utilizing the Model Context Protocol (MCP) to enhance collaboration with AI agents and support Spec-driven development.

cc-sdd-mcp-server

プロジェクト概要

cc-sdd-mcp-server は、Model Context Protocol (MCP) を利用した サーバーサイドアプリケーションです。AIエージェントとの連携を強化し、 Spec-driven developmentをサポートすることを目的としています。

主要機能

  • Model Context Protocol (MCP) のサーバーサイド実装
  • 自動インポート機能: cc-sddモジュールを自動的に検出し、ロードする機能。
  • TypeScriptによる堅牢な開発
  • server.ts をメインのエントリーポイントとするサーバーロジック
  • src/tools ディレクトリにAIエージェントが利用するツール関連のコードを配置
  • src/utils ディレクトリに共通のユーティリティコードを配置

ターゲットユースケース

MCPクライアントからのリクエストを処理し、定義された仕様に基づいて適切な応答を生成・返却します。これにより、AIエージェントがより正確かつ効率的にタスクを実行できる環境を提供します。

主要な価値提案

  • Spec-driven Developmentの推進: 仕様に基づいた開発をサポートし、開発プロセスの一貫性と品質を向上させます。
  • AIエージェント連携の強化: AIエージェントが利用可能なツールやプロトコルを提供することで、AIの能力を最大限に引き出します。
  • 高い保守性と拡張性: TypeScriptとモジュール化されたコードベースにより、長期的な保守性と機能拡張の容易さを実現します。

セットアップ

前提条件

  • Node.js (v18.0.0以上)
  • npm

依存関係のインストール

プロジェクトの依存関係をインストールするには、以下のコマンドを実行します。

npm install

ビルド

TypeScriptコードをJavaScriptにコンパイルするには、以下のコマンドを実行します。

npm run build

テスト

プロジェクトのテストを実行するには、以下のコマンドを実行します。

npm test

使用方法

プロジェクトを起動するには、ビルド後に以下のコマンドを実行します。

npm start

Model Context Protocol (MCP) の登録方法

Model Context Protocol (MCP) は、AIエージェントが外部システムと連携するための標準プロトコルです。ここでは、MCPサーバーの一般的な登録方法について説明します。

1. MCP SDKのインストール

MCPサーバーを構築するには、まず各言語に対応したMCP SDKをインストールします。

SDKのインストール (Node.js / TypeScript)
npm install @modelcontextprotocol/sdk
SDKのインストール (Python)
pip install "mcp[cli]"
SDKのインストール (.NET)
dotnet add package ModelContextProtocol --prerelease

2. MCPサーバーの初期化とツールの登録

MCPサーバーは、ポート、名前、バージョンなどのメタデータで初期化され、AIエージェントが利用できるツールやリソースを登録できます。

サーバー初期化の例 (Node.js / TypeScript)
import { Server } from "@modelcontextprotocol/sdk";

const server = new Server({
  port: 3000,
  name: "Example MCP Server",
  version: "1.0.0"
});

server.registerTool({
  name: "calculator",
  description: "Performs basic calculations",
  parameters: {
    expression: {
      type: "string",
      description: "The math expression to evaluate"
    }
  },
  handler: async (params) => {
    const result = eval(params.expression);
    return { result };
  }
});

server.start();

3. MCPサーバーの起動

MCPサーバーの起動コマンドは、使用する言語やフレームワークによって異なります。

サーバー起動 (Node.js / TypeScript)
npm run start
サーバー起動 (Python)
mcp run server.py
サーバー起動 (.NET)
dotnet run

4. 各種AIエージェントでの利用

MCPサーバーを起動した後、AIエージェントからMCPサーバーを利用する方法について説明します。

MCP Inspector

MCP Inspectorは、MCPサーバーの動作確認やデバッグに便利なツールです。

npx @modelcontextprotocol/inspector
# または特定のMCPサーバーコマンドを指定
npx @modelcontextprotocol/inspector node build/index.js
LLM Client

LLMクライアントは、MCPサーバーに接続し、登録されているツールをリストアップしたり、ツール呼び出しを行ったりすることができます。具体的な実装は、使用するLLMクライアントやSDKによって異なります。

5. VSCodeでのMCPサーバー登録

VSCodeでMCPサーバーを登録するには、.vscode/mcp.jsonファイルを作成し、以下の形式でサーバー設定を記述します。

// .vscode/mcp.json
{
    "inputs": [],
    "servers": {
       "hello-mcp": {
           "command": "cmd",
           "args": [
               "/c", "node", "<absolute path>\\build\\index.js"
           ]
       }
    }
}

または、Pythonのuvコマンドを使用する場合の例です。

// .vscode/mcp.json
{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
        "run",
        "weather.py"
      ]
    }
  }
}

<absolute path>の部分は、実際のサーバーのエントリーポイントへの絶対パスに置き換えてください。