1- # MCP Bundle
1+ # MCP Bundle [ WIP ]
22
33Symfony integration bundle for [ Model Context Protocol] ( https://modelcontextprotocol.io/ ) using the unofficial
44PHP SDK [ php-llm/mcp-sdk] ( https://github.com/php-llm/mcp-sdk ) library.
55
6+ ** Currently only supports tools as server via Server-Sent Events (SSE) and STDIO.**
7+
68## Installation
79
810``` bash
@@ -14,30 +16,41 @@ composer require php-llm/mcp-bundle
1416At first, you need to decide whether your application should act as a MCP server or client. Both can be configured
1517in the ` mcp ` section of your ` config/packages/mcp.yaml ` file.
1618
19+ ### Act as Server
20+
21+ ** Currently only supports tools.**
22+
23+ To use your application as an MCP server, exposing tools to clients like [ Claude Desktop] ( https://claude.ai/download ) ,
24+ you need to configure in the ` client_transports ` section the transports you want to expose to clients.
25+ You can use either STDIO or SSE.
26+
1727### Act as Client
1828
19- To use your application as a MCP client, integrating other MCP servers, you need to configure the ` servers ` you want to
29+ ** Not implemented yet.**
30+
31+ To use your application as an MCP client, integrating other MCP servers, you need to configure the ` servers ` you want to
2032connect to. You can use either STDIO or Server-Sent Events (SSE) as transport methods.
2133
2234You can find a list of example Servers in the [ MCP Server List] ( https://modelcontextprotocol.io/examples ) .
2335
2436Tools of those servers are available in your [ LLM Chain Bundle] ( https://github.com/php-llm/llm-chain-bundle )
2537configuration and usable in your chains.
2638
27- ### Act as Server
28-
29- To use your application as an MCP server, exposing tools to clients like [ Claude Desktop] ( https://claude.ai/download ) ,
30- you need to configure in the ` client_transports ` section the transports you want to expose to clients.
31- You can use either STDIO or SSE.
32-
3339## Configuration
3440
3541``` yaml
3642mcp :
3743 app : ' app' # Application name to be exposed to clients
3844 version : ' 1.0.0' # Application version to be exposed to clients
45+
46+ # Configure this application to act as an MCP server
47+ # Currently exposes tools registered in LLM Chain
48+ client_transports :
49+ stdio : true # Enable STDIO via command
50+ sse : true # Enable Server-Sent Event via controller
3951
4052 # Configure MCP servers to be used by this application
53+ # Not implemented yet
4154 servers :
4255 name :
4356 transport : ' stdio' # Transport method to use, either 'stdio' or 'sse'
4659 arguments : [] # Arguments to pass to the command
4760 sse :
4861 url : ' http://localhost:8000/sse' # URL to SSE endpoint of MCP server
49-
50- # Configure this application to act as an MCP server
51- client_transports :
52- stdio : true # Enable STDIO via command
53- sse : true # Enable Server-Sent Event via controller
62+
5463```
0 commit comments