|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to `php-mcp/server` will be documented in this file. |
| 4 | + |
| 5 | +## Release v1.0.0 - Initial Release |
| 6 | + |
| 7 | +🚀 **Initial release of PHP MCP SERVER!** |
| 8 | + |
| 9 | +This release introduces the core implementation of the Model Context Protocol (MCP) server for PHP applications. The goal is to provide a robust, flexible, and developer-friendly way to expose parts of your PHP application as MCP Tools, Resources, and Prompts, enabling standardized communication with AI assistants like Claude, Cursor, and others. |
| 10 | + |
| 11 | +### ✨ Key Features: |
| 12 | + |
| 13 | +* **Attribute-Based Definitions:** Easily define MCP Tools (`#[McpTool]`), Resources (`#[McpResource]`, `#[McpResourceTemplate]`), and Prompts (`#[McpPrompt]`) using PHP 8 attributes directly on your methods. |
| 14 | +* **Automatic Metadata Inference:** Leverages method signatures (parameters, type hints) and DocBlocks (`@param`, `@return`, summaries) to automatically generate MCP schemas and descriptions, minimizing boilerplate. |
| 15 | +* **PSR Compliance:** Integrates seamlessly with standard PHP interfaces: |
| 16 | + * `PSR-3` (LoggerInterface) for flexible logging. |
| 17 | + * `PSR-11` (ContainerInterface) for dependency injection and class resolution. |
| 18 | + * `PSR-16` (SimpleCacheInterface) for caching discovered elements and transport state. |
| 19 | +* **Automatic Discovery:** Scans configured directories to find and register your annotated MCP elements. |
| 20 | +* **Flexible Configuration:** Uses a configuration repository (`ConfigurationRepositoryInterface`) for fine-grained control over server behaviour, capabilities, and caching. |
| 21 | +* **Multiple Transports:** |
| 22 | + * Built-in support for the `stdio` transport, ideal for command-line driven clients. |
| 23 | + * Includes `HttpTransportHandler` components for building standard `http` (HTTP+SSE) transports (requires integration into an HTTP server). |
| 24 | + * Provides `ReactPhpHttpTransportHandler` for seamless integration with asynchronous ReactPHP applications. |
| 25 | +* **Protocol Support:** Implements the `2024-11-05` version of the Model Context Protocol. |
| 26 | +* **Framework Agnostic:** Designed to work in vanilla PHP projects or integrated into any framework. |
| 27 | + |
| 28 | +### 🚀 Getting Started |
| 29 | + |
| 30 | +Please refer to the [README.md](README.md) for detailed installation instructions, usage examples, and core concepts. Sample implementations for `stdio` and `reactphp` are available in the `samples/` directory. |
| 31 | + |
| 32 | +### ⚠️ Important Notes |
| 33 | + |
| 34 | +* When implementing the `http` transport using `HttpTransportHandler`, be aware of the critical server environment requirements detailed in the README regarding concurrent request handling for SSE. Standard synchronous PHP servers (like `php artisan serve` or basic Apache/Nginx setups) are generally **not suitable** without proper configuration for concurrency (e.g., PHP-FPM with multiple workers, Octane, Swoole, ReactPHP, RoadRunner, FrankenPHP). |
| 35 | + |
| 36 | +### Future Plans |
| 37 | + |
| 38 | +While this package focuses on the server implementation, future projects within the `php-mcp` organization may include client libraries and other utilities related to MCP in PHP. |
0 commit comments