MCP Server for Windsurf について
MCP Server for Windsurfは、FastAPIサービスを通じてWindsurfのエージェント型IDEにカスタムツールを追加します。ファイル検索、コード分析、Webリクエストを備え、RESTとWebSocketのインターフェースを提供します。
主な機能
- 01FastAPIバックエンド
- 02リアルタイム双方向WebSocket通信
- 03拡張可能なカスタムツール登録
- 04ツール実行用RESTエンドポイント
- 05ファイル検索、コード分析、Webリクエスト
活用シーン
- 01ディレクトリ内のパターン検索
- 02コードの構文、複雑度、依存関係の分析
- 03外部APIへのHTTPリクエスト実行
MCP 対応
MCPサーバーとして、Windsurfに追加ツールを提供します。WindsurfはWebSocketエンドポイントで接続でき、ツールはRESTエンドポイントからも実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Windsurf 用 MCP サーバー
Windsurf のエージェント型 IDE に追加ツールを提供する Master Control Program(MCP)サーバーです。
概要
この MCP サーバーは、Windsurf に組み込まれていない追加ツールを提供し、Windsurf の機能を拡張するために設計されています。FastAPI を使用して、Windsurf とリアルタイムに通信するための WebSocket サポートを備えた堅牢な API サーバーを構築します。
機能
- FastAPI バックエンド:高性能で使いやすいフレームワーク
- WebSocket サポート:リアルタイムの双方向通信
- 拡張可能なツールシステム:新しいツールを簡単に追加して Windsurf を拡張できます
- RESTful API:ツール実行用の HTTP エンドポイント
- Windsurf 連携:Windsurf IDE とのシームレスな連携
プロジェクト構成
MCP_servers/
├── main.py # Main FastAPI application
├── tools.py # Custom tool implementations
├── windsurf_integration.py # Windsurf integration module
├── requirements.txt # Project dependencies
└── README.md # Documentation
組み込みツール
MCP サーバーには、いくつかの組み込みツールが含まれています。
- ファイル検索:パターンマッチングを使ってディレクトリ内のファイルを検索します
- コード分析:コードファイルの構文、複雑さ、依存関係を分析します
- Web リクエスト:外部 API に HTTP リクエストを送信します
インストール
- リポジトリをクローンします
- 仮想環境を作成します:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate - 依存関係をインストールします:
pip install -r requirements.txt
使用方法
-
MCP サーバーを起動します:
python main.pyこれにより、http://localhost:8089 でサーバーが起動します
-
WebSocket 接続を次のように設定して、Windsurf を MCP サーバーに接続します:
ws://localhost:8089/ws -
http://localhost:8089/docs で API ドキュメントにアクセスします
カスタムツールの追加
MCP サーバーに新しいツールを追加するには:
tools.pyを開きます@register_toolデコレーターを使ってツールを登録します:
@register_tool(
name="my_custom_tool",
description="Description of what the tool does",
parameters={
"param1": {"type": "string", "description": "Description of parameter 1"},
"param2": {"type": "integer", "description": "Description of parameter 2"}
}
)
async def my_custom_tool_handler(params: Dict[str, Any]) -> Any:
# Tool implementation
param1 = params.get("param1", "")
param2 = params.get("param2", 0)
# Do something with the parameters
result = f"Processed {param1} with value {param2}"
return {"output": result}
API エンドポイント
GET /:サーバー情報GET /tools:利用可能なすべてのツールを一覧表示POST /tools/{tool_name}:指定したツールを実行WebSocket /ws:リアルタイム通信のための WebSocket エンドポイント
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。