Skip to main content
Glama
tbessenreither

Symfony Debug MCP Server

README.md
# Symfony Debug MCP Server

This is a standalone Model Context Protocol (MCP) server built with TypeScript and Bun that allows you to debug Symfony applications by inspecting profiler data. It is designed to be compiled into a single executable binary for Linux, macOS, and Windows.

## Installation & Usage

Download the latest release for your platform from the [Releases](../../releases) page.

### Linux

1. Extract the archive:
   ```bash
   tar -xzf symfony-debug-mcp-linux.tar.gz
   ```
2. Make it executable:
   ```bash
   chmod +x symfony-debug-mcp-linux
   ```
3. Run the server:
   ```bash
   ./symfony-debug-mcp-linux --repository-directory=/path/to/your/repositories
   ```

### macOS

1. Extract the archive:
   ```bash
   unzip symfony-debug-mcp-mac.zip
   ```
2. Make it executable:
   ```bash
   chmod +x symfony-debug-mcp-mac
   ```
3. Run the server:
   ```bash
   ./symfony-debug-mcp-mac --repository-directory=/path/to/your/repositories
   ```
   *Note: You may need to go to **System Settings > Privacy & Security** to allow the application to run if it's blocked.*

### Windows

1. Extract `symfony-debug-mcp-windows.zip`.
2. Open a terminal (PowerShell or Command Prompt).
3. Run the server:
   ```powershell
   .\symfony-debug-mcp-windows.exe --repository-directory=C:\path\to\your\repositories
   ```

### Client Configuration

To use with Claude Desktop or other MCP clients, add this to your config:

```json
{
  "mcpServers": {
    "symfony-debug": {
      "command": "/absolute/path/to/symfony-debug-mcp-linux",
      "args": ["--repository-directory=/absolute/path/to/your/repositories"]
    }
  }
}
```

## Prerequisites

- [Bun](https://bun.sh) (v1.0.0 or higher)

## Setup

1. Install dependencies:
   ```bash
   bun install
   ```

2. Run in development mode:
   ```bash
   bun dev
   ```

## Compilation

You can compile the server into a standalone binary for different platforms.

- **Linux**: `bun run build:linux`
- **macOS (Apple Silicon)**: `bun run build:mac`
- **Windows (x64)**: `bun run build:windows`
- **Build All**: `bun run build:all`

The binaries will be output to the `dist/` directory.

## Testing with an MCP Client

You can configure your MCP client (like Claude Desktop or an IDE extension) to use this server.

**Raw Source (Development):**
```json
{
  "mcpServers": {
    "my-bun-server": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/src/index.ts"]
    }
  }
}
```

**Compiled Binary:**
```json
{
  "mcpServers": {
    "my-bun-server": {
      "command": "/absolute/path/to/dist/mcp-server-linux",
      "args": []
    }
  }
}
```

## Debugging

### VS Code Debugger

1. Go to the "Run and Debug" view in VS Code.
2. Select **"Debug MCP Server"** to start the server with the debugger attached.
   - This runs `bun run --inspect-wait src/index.ts`.
   - The debugger will pause at the entry point until execution resumes.

### MCP Inspector

To test the server protocol interactively:
1. Run the **"inspector"** task (Terminal -> Run Task -> inspector).
2. This will launch the `@modelcontextprotocol/inspector` which provides a web interface to interact with your tools and resources.
3. Open the URL shown in the terminal (usually `http://localhost:6274`).