php-sdk/examples
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-12-20 08:49:48 +01:00
..
cached-discovery refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
client-communication fix: use RequestContext in client-communication server example (#190) 2025-12-20 08:49:48 +01:00
client-logging Add RequestContext and logging (#176) 2025-12-16 00:12:02 +01:00
combined-registration refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
complex-tool-schema refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
custom-dependencies refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
custom-method-handlers refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
discovery-calculator [Server] Add support for icons on explicit builder registration and attributes (#142) 2025-11-13 22:39:18 +01:00
discovery-userprofile refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
env-variables refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
explicit-registration refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
schema-showcase Add support for icons and website url (#141) 2025-11-09 14:53:36 +01:00
bootstrap.php refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00
README.md refactor: transport agnostic examples (#131) 2025-11-02 18:07:43 +01:00

MCP SDK Examples

This directory contains various examples of how to use the PHP MCP SDK.

You can run the examples with the dependencies already installed in the root directory of the SDK. The bootstrapping of the example will choose the used transport based on the SAPI you use.

For running an example, you execute the server.php like this:

# For using the STDIO transport:
php examples/discovery-calculator/server.php

# For using the Streamable HTTP transport:
php -S localhost:8000 examples/discovery-userprofile/server.php

You will see debug outputs to help you understand what is happening.

Run with Inspector:

npx @modelcontextprotocol/inspector php examples/discovery-calculator/server.php

Debugging

You can enable debug output by setting the DEBUG environment variable to 1, and additionally log to a file by setting the FILE_LOG environment variable to 1 as well. A dev.log file gets written within the example's directory.

With the Inspector you can set the environment variables like this:

npx @modelcontextprotocol/inspector -e DEBUG=1 -e FILE_LOG=1 php examples/discovery-calculator/server.php