# diff MCP server

> Compares the public interfaces of MCP servers between versions to detect changes in tools, resources, prompts, and capabilities.

- Repository: https://github.com/SamMorrowDrums/mcp-server-diff
- Page: https://hostedmcp.org/servers/sammorrowdrums/mcp-server-diff
- Transport: stdio
- Stars: 9
- License: MIT

## Install

### Claude Code

```sh
claude mcp add mcp-server-diff -- npx -y mcp-server-diff
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "mcp-server-diff": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-diff"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "mcp-server-diff": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-diff"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"mcp-server-diff","type":"stdio","command":"npx","args":["-y","mcp-server-diff"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "mcp-server-diff": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-diff"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add mcp-server-diff -- npx -y mcp-server-diff
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.mcp-server-diff]
command = "npx"
args = ["-y", "mcp-server-diff"]
```

### Gemini CLI

```sh
gemini mcp add -s user mcp-server-diff npx -- -y mcp-server-diff
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "mcp-server-diff": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-diff"
      ]
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `MCP_TOKEN` | no | no |  |

## FAQ

### What does this tool actually compare?

It compares the public interface of an MCP server, specifically its exposed tools (including input schemas), resources, prompts, and server capabilities.

### Does this test the internal logic of my server?

No, the tool is designed for visibility into the advertised interface rather than testing internal correctness or logic.

### Can I use this to compare a local server against a Docker image?

Yes, you can use the base_start_command input to specify a different command for the baseline, such as running a specific Docker image version.

### Can I test HTTP transports?

Yes, the tool supports both stdio and streamable-http transports.
