modelcontextprotocol/php-sdk

The official PHP SDK for Model Context Protocol servers and clients. Maintained in collaboration with The PHP Foundation.

MCP PHP SDK – クイック概要

概要 – Model Context Protocol(MCP)サーバーとクライアントを記述できるファーストパーティPHPライブラリです。MCPは、ツール、リソース、プロンプトなどのAI関連機能をLLMに公開するためのプロトコルです(「関数呼び出し」を思い浮かべてください。ただし、フレームワークに依存しません)。SDKは、SymfonyやLaravelなどのフレームワークを問わず、あらゆるPHPコードベースで動作します。

主なコンポーネント

  • サーバービルダー – #[McpTool]属性と#[McpResource]属性を持つプレーンなPHPクラスを、MCP準拠のサーバーに変換します。
  • トランスポート – STDIO(ローカルプロセス用)またはHTTPで通信します。トランスポート層はプラグイン可能です。
  • クライアントAPI – ツールの検出、呼び出し、サーバー開始要求の処理、セッション/認証の管理を行います。
  • プロトコル世代 – 従来のinitializeハンドシェイクと、新しいステートレスリビジョン2026-07-28の両方をサポートします。
  • 適合性テスト – 公式のMCP適合性テストフレームワークに対する毎週のCI実行を行い、バッジで現在の合格率を表示します。

インストール

composer require mcp/sdk

自動検出機能を使用する場合は、symfony/finderも必要です。

始め方

  • サーバー – クラスを記述し、メソッドに#[McpTool](関数)または#[McpResource](データ)を注釈してから、ビルダーを実行します:
    exit(Server::builder()
        ->setServerInfo('Calculator', '1.0.0')
        ->setDiscovery(__DIR__, ['.'], excludeDirs: ['vendor'])
        ->build()
        ->run(new StdioTransport()));
    
  • クライアント – クライアントを構築し、STDIOまたはHTTPで接続し、ツールを一覧表示し、ツールを呼び出してから切断します:
    $client = Client::builder()
        ->setClientInfo('My App', '1.0.0')
        ->build();
    $client->connect(new StdioTransport(command: 'php', args: ['/path/to/server.php']));
    $result = $client->callTool('add', ['a'=>5,'b'=>3]);
    $client->disconnect();
    

ドキュメントと例 – 完全なドキュメントはhttps://php.sdk.modelcontextprotocol.ioにあります。入門、サーバー内部、トランスポート、プロトコルバージョン、高度な拡張機能、APIリファレンスのセクションがあります。サンプルプロジェクトはリポジトリの*Examples*ページに一覧表示されています。

エコシステム – このSDKに基づくMCP統合を既に提供しているPHPフレームワークがいくつかあります:

  • API Platform(api-platform/mcp)
  • Kirby CMS(bnomei/kirby-mcp)
  • Drupal(drupal/mcp_server)
  • CakePHP(josbeir/cakephp-synapse)
  • Symfony(symfony/mcp-bundle、symfony/ai-mate)

コントリビューション – 通常のGitHubワークフローに従ってください:問題を開き、PRを送信し、CIチェックを実行します。このプロジェクトはSymfonyのコーディング標準と後方互換性の約束に従います。

ライセンス – 新しいコントリビューションはApache-2.0、レガシーコードはMITのままです。詳細はLICENSEファイルを参照してください。


結論 – Model Context Protocolを介してLLMにPHPベースの機能(ツール、設定、プロンプトなど)を公開する必要がある場合、MCP PHP SDKは、サーバー側とクライアント側の両方、複数のトランスポート、および活発な適合性テストを備えた、既製の標準準拠の方法を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト