modelcontextprotocol / modelcontextprotocol/php-sdk

Slicing the SDK into Multiple Packages

オープン
#489 コメント 3 件 リアクション 3 件 担当者 1 名 GitHub で見る

@chr-hertel がすでに取り組んでいます。

2026年8月29日 から。

needs confirmation needs maintainer action
主要言語
PHP
スター
1.6k
フォーク
173
平均マージ
2日 49分
マージ済み PR(30日)
23

説明

Package slicing

It was discussed already before and we should get this sorted before tagging v1.0: Slicing the monolithic mcp/sdk package into multiple packages.

At least the following packages make sense to me:

  • mcp/client
  • mcp/schema
  • mcp/server

Unclear to me right now: how to deal with extensions? But that's not blocking.

Namespaces

In my understanding this comes with some major shifts in namespaces:
everything that is under Mcp\* needs to go into one of those:

  • Mcp\Client\*
  • Mcp\Schema\*
  • Mcp\Server\*

Exceptions would get distributed into three namespaces below that - with one central interface each.

Monorepo + Subtree Splits

Development (incl. issues and PRs), docs, examples and releases would still happen via the main repository https://github.com/modelcontextprotocol/php-sdk, but the tree packages split into read-only subtrees:

=> meaning PRs only hit modelcontextprotocol/php-sdk and versioning across all packages is synced.

Cross Dependencies
Decoupling namespaces might be the annoying change here, but we should slice cleanly and enforce proper inter-dependencies:

  • Client can use Schema, but not Server
  • Server can use Schema, but not Client
  • Schema mustn't use Client nor Server

Maybe deptrac or similar to enforce.


This is a maintainer issue - community contributions won't be accepted but closed.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。