Kostenloses Tool

REST-API zu MCP-Server in PHP

Was wirklich dazugehört, eine REST-API als MCP-Server in PHP bereitzustellen — das SDK, ein funktionierendes Tool und der Teil, der entscheidet, ob ein Agent es richtig nutzt.

Community-SDK community SDKs
Installation
composer require ...
Ein funktionierendes MCP-Tool in PHP
// Community SDK. Note this process stays alive across requests, unlike typical PHP.
$server = new McpServer('my-server');

$server->tool(
    'get_order',
    'Look up one order by its id and return its current status.',
    ['orderId' => ['type' => 'string', 'description' => 'The order id to look up']],
    fn(array $args) => fetch_order($args['orderId'])
);

$server->run();

Er läuft. Nur sehen kann das sonst niemand.

Ein funktionierender Server ist der Punkt, an dem die Arbeit endet und das Verkaufen beginnt. Richte MCP Showcase darauf und erhalte ein Live-Playground, das deine Kunden ausprobieren können — mit generierter Doku für jedes Tool.

So funktioniert es

link
SDK installieren

Steht oben, zusammen mit der Info, ob es offiziell gepflegt wird oder ein Community-Projekt ist — was in manchen Sprachen mehr zählt als in anderen.

play_circle
Einen Endpunkt kapseln

Fang mit einem einzigen Tool an, nicht mit deiner ganzen API. Tool-Definitionen gehen bei jeder Anfrage ans Modell, und die Treffsicherheit bei der Auswahl sinkt, je länger die Liste wird.

checklist
Testen, bevor du einen Agenten anschließt

Lass die deployte URL durch den MCP Inspector laufen, um zu bestätigen, dass der Handshake klappt und die Tools so erscheinen, wie du es wolltest.

Das SDK für PHP

composer require ...community SDKs, ein Community-Projekt: Für PHP gibt es kein SDK unter modelcontextprotocol.

Das wiegt schwerer, als es klingt. Das Protokoll hat sich schnell bewegt, gerade bei Transporten, und eine Portierung, die aufgehört hat, Spezifikationsrevisionen zu folgen, funktioniert mit manchen Clients und scheitert bei anderen still. Prüfe die zuletzt unterstützte Revision, bevor du darauf aufbaust.

Langlebige Prozesse sind der unbequeme Teil

MCP-Server halten eine Session; das übliche PHP-Modell mit einem Prozess pro Request tut das nicht. Ein PHP-MCP-Server läuft deshalb als langlebiger Prozess (oder über ein Framework, das dafür gebaut ist), und das ist eine größere Abweichung vom normalen PHP-Deployment als das Protokoll selbst.

Einen REST-Endpunkt kapseln

Ein MCP-Server ist eine dünne Schicht über Code, den du schon hast. Jedes Tool braucht drei Dinge: einen Namen, eine Beschreibung, die sagt, was es tut und wann man es wählt, und ein Input-Schema. Das SDK für PHP kümmert sich um das Protokoll; was du schreibst, ist die Abbildung dieser Argumente auf deinen bestehenden HTTP-Aufruf.

Fang mit einem Endpunkt an statt mit deiner ganzen API. Tool-Definitionen werden bei jeder einzelnen Anfrage erneut ans Modell geschickt, jede ist also dauerhafte Kontextkosten — und die Fähigkeit des Modells, richtig zu wählen, sinkt mit wachsender Liste. Acht gut beschriebene Tools schlagen achtzig.

Der Teil, bei dem es nicht um PHP geht

Egal welche Sprache du nutzt: Die Beschreibungen entscheiden, ob sich der Agent vernünftig verhält. Sie werden vom Modell gelesen, nicht von deinen Kollegen, und ein Tool, das in drei Worten beschrieben ist, wird auf Verdacht aufgerufen. Prüfen kannst du deine mit dem MCP-Schema-Linter, und was die Liste pro Anfrage kostet, zeigt dir der Token-Rechner.

Verwandte Tools und Anleitungen

Ein funktionierender Server ist die halbe Miete

Wenn er läuft, bleibt das Problem, dass niemand erkennen kann, was er tut. Ein Interessent kann deinen PHP-Quellcode nicht lesen und wird keinen Client installieren, um es herauszufinden. MCP Showcase richtet sich auf dieselbe URL und erzeugt ein Live-Playground mit generierter Doku für jedes Tool — damit die Bewertung deines Servers einen Klick kostet.

Häufig gestellte Fragen

Kapsle jeden Endpunkt, den ein Agent erreichen soll, in ein Tool: ein Name, ein Satz dazu, was es tut und wann man es nutzt, und ein Input-Schema. Das SDK für PHP kümmert sich um das Protokoll; was du schreibst, ist die Abbildung von Tool-Argumenten auf deinen bestehenden HTTP-Aufruf.

Nein, und das ist der häufigste Fehler. Tool-Definitionen werden bei jeder einzelnen Anfrage erneut gesendet — achtzig Endpunkte sind also achtzig Beschreibungen im Kontextfenster jeder Runde, und die Fähigkeit des Modells, das richtige zu wählen, fällt mit wachsender Liste deutlich ab. Fang mit den wenigen an, die ein Agent wirklich braucht.

Das Badge über dem Code sagt es dir. Wo es kein offizielles SDK gibt, unterscheiden sich Community-Lösungen darin, wie eng sie der Spezifikation folgen — prüfe, wann die Bibliothek zuletzt einer Protokollrevision gefolgt ist, gerade bei Transporten, bevor du darauf aufbaust.

Streamable HTTP für alles, was deployt ist. Clients versuchen es zunehmend zuerst, und manche fallen nicht mehr auf das ältere HTTP+SSE zurück — was sich nicht als Fehler zeigt, sondern als Client, der deinen Server schlicht nicht sieht.

Beim Lesen des eigenen Codes merkst du es nicht, weil du längst weißt, was die Tools tun. Lass den Server durch den Schema-Linter laufen: Er prüft Beschreibungen und Input-Schemas so, wie ein Modell sie liest, und markiert die, bei denen ein Agent raten müsste.

Weitere kostenlose MCP-Tools