|
| 1 | +# Symfony MCP Server Documentation |
| 2 | + |
| 3 | +Welcome to the Symfony MCP Server documentation. This bundle enables developers to seamlessly add a Model Context Protocol (MCP) server to their Symfony applications with support for both SSE and StreamableHTTP transports. |
| 4 | + |
| 5 | +## Quick Start |
| 6 | + |
| 7 | +- [Installation & Configuration](../README.md#installation) - Get started with the bundle |
| 8 | +- [Basic Usage](../README.md#basic-usage) - Learn the fundamentals |
| 9 | + |
| 10 | +## Development Guides |
| 11 | + |
| 12 | +### Tools |
| 13 | +- [Building Tools](building_tools.md) - Create custom MCP tools that LLMs can invoke |
| 14 | +- [Tool Examples & Patterns](building_tools.md#examples) - Common tool implementation patterns |
| 15 | + |
| 16 | +### Prompts |
| 17 | +- [Building Prompts](building_prompts.md) - Create conversation starters and templates for LLM interactions |
| 18 | +- [Prompt Message Types](building_prompts.md#message-types) - Text, Image, Audio, and Resource messages |
| 19 | + |
| 20 | +### Resources |
| 21 | +- [Building Resources](building_resources.md) - Manage and expose resources to LLM clients |
| 22 | +- [Resource Templates](building_resources.md#templates) - Dynamic resource generation |
| 23 | + |
| 24 | +## Development & Testing |
| 25 | + |
| 26 | +- [Development Guidelines](development_guidelines.md) - Setup, coding standards, and best practices |
| 27 | +- [Testing Commands](../README.md#testing-mcp-tools) - Test tools and prompts without MCP clients |
| 28 | +- [Docker Setup](development_guidelines.md#docker-setup) - Development environment configuration |
| 29 | + |
| 30 | +## Architecture & Advanced Topics |
| 31 | + |
| 32 | +### Core Concepts |
| 33 | +- [Transport Layer](../README.md#why-not-stdio) - SSE vs StreamableHTTP vs STDIO |
| 34 | +- [Pub/Sub Architecture](../README.md#pubsub-architecture-with-adapters) - Message broker and adapter system |
| 35 | +- [Progress Notifications](building_tools.md#progress-notifications) - Real-time updates for long-running operations |
| 36 | + |
| 37 | +### Configuration |
| 38 | +- [Configuration Reference](../src/Resources/config/packages/klp_mcp_server.yaml) - Complete configuration options |
| 39 | +- [Redis Adapter](../README.md#redis-adapter-configuration-optional) - Alternative to cache adapter |
| 40 | + |
| 41 | +## Testing & Debugging |
| 42 | + |
| 43 | +- [MCP Inspector](../README.md#visualizing-with-inspector) - Visual testing interface |
| 44 | +- [Console Commands](../README.md#testing-mcp-tools) - Command-line testing tools |
| 45 | +- [PHPUnit Testing](development_guidelines.md#testing) - Unit and integration tests |
| 46 | + |
| 47 | +## API Reference |
| 48 | + |
| 49 | +### Interfaces |
| 50 | +- **Tools**: `StreamableToolInterface`, `BaseToolInterface` (deprecated) |
| 51 | +- **Prompts**: `PromptInterface`, `PromptMessageInterface` |
| 52 | +- **Resources**: `ResourceInterface`, `ResourceTemplateInterface` |
| 53 | +- **Results**: `ToolResultInterface` with Text, Image, Audio, Resource types |
| 54 | + |
| 55 | +### Services |
| 56 | +- **ProgressNotifier**: Real-time progress updates |
| 57 | +- **PromptRepository**: Prompt management and retrieval |
| 58 | +- **MCPProtocol**: Core protocol implementation |
| 59 | + |
| 60 | +## Requirements & Compatibility |
| 61 | + |
| 62 | +- **PHP**: >=8.2 |
| 63 | +- **Symfony**: >=7 |
| 64 | +- **Transport**: SSE requires proper web server (not `symfony server:start`) |
| 65 | + |
| 66 | +## Contributing |
| 67 | + |
| 68 | +- [Development Guidelines](development_guidelines.md) - Setup and contribution standards |
| 69 | +- [Issue Tracker](https://github.com/klapaudius/symfony-mcp-server/issues) - Report bugs and request features |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +**Need Help?** Check the [troubleshooting section](development_guidelines.md#troubleshooting) or create an issue on GitHub. |
0 commit comments