MCP Swift Example Server について
MCP Swift Example Serverは、Swift MCP SDKを使いstdioで通信するMCPサーバーの例です。サーバーの初期設定やツール登録を学ぶ開発者向けで、簡単なクライアント例も含みます。
主な機能
- 01stdioサーバーの設定
- 02カスタムswift_echoツールの登録
- 03ListToolsとCallToolの処理
- 04stderrへの詳細ログ出力
- 05Swiftクライアント例
活用シーン
- 01Swiftによる基本的なMCPサーバー実装の学習
- 02Claude Desktopへのエコーツール提供
- 03サンプルでのサーバー・クライアント通信の試行
MCP 対応
StdioTransportを使い、stdio経由でMCPクライアントにswift_echoツールを提供します。READMEにはClaude Desktopの設定方法とクライアント例が記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Swift Example Server
基本的な Stdio の例
この基本的な例では、Model Context Protocol Swift SDK を使用して、標準入出力(stdio)で通信するシンプルなサーバーの作成方法を紹介します。この構成は、Claude Desktop などのアプリケーションと互換性があります。
機能
このシンプルなサーバーでは、以下の方法を紹介します。
- 基本的な MCP サーバーのセットアップ
- カスタムツール(
swift_echo)の定義と登録 ListToolsおよびCallToolリクエストの処理- 通信に
StdioTransportを使用 - stderr への詳細なログ記録
はじめに
Echo サーバーの実行
- このリポジトリをクローンします。
git clone https://github.com/devyhan/mcp-swift-example-server.git
cd mcp-swift-example-server
- サーバーをビルドします。
swift build -c release
これにより、実行ファイルが .build/release/macros-mcp-example-server に作成されます。この実行ファイルのフルパスを控えておいてください。
Claude Desktop の設定
このサーバーを Claude Desktop のツールプロバイダーとして利用できるようにするには、Claude Desktop の設定ファイル(claude_desktop_config.json)に追加する必要があります。このファイルの場所は、オペレーティングシステムによって異なります。
claude_desktop_config.json の mcpServers オブジェクトに、次のようなエントリを追加します。/PATH/TO/YOUR/SERVER/ は、お使いのシステム上のリポジトリディレクトリの実際の絶対パスに置き換えてください。
{
"mcpServers": {
// ... other servers maybe ...
"swift_echo_example": {
"command": "/PATH/TO/YOUR/SERVER/mcp-swift-example-server/.build/release/macros-mcp-example-server"
}
// ... other servers maybe ...
}
}
swift_echo_example:Claude Desktop 内でサーバーを参照する際の名前です(変更できます)。command:前の手順でビルドした実行ファイルの絶対パスを必ず指定してください。
クライアントの例
Examples ディレクトリには、MCP サーバーとの通信方法を紹介するシンプルなクライアントの実装があります。
# First start the server in one terminal:
swift run
# Then in another terminal, run the client example:
cd Examples
swift SimpleClient.swift
要件
- macOS 13 以降
- Swift 5.9 以降
プロジェクト構成
main.swift:サーバーアプリケーションのエントリーポイントMCPServer:MCP プロトコルサーバーの実装EchoToolbox:基本的なエコーツールを提供するツールボックス
ライセンス
MIT
参考資料
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。