Skip to content

JerrettDavis/McpManager

Repository files navigation

MCP Manager

CI CodeQL codecov .NET 10.0 Blazor License Release Docker

Manage your Model Context Protocol servers across all AI agents in one place!

MCP Manager is a modern, extensible dashboard application for discovering, installing, and managing MCP (Model Context Protocol) servers across multiple AI agents like Claude Desktop, GitHub Copilot, and more.

✨ Features

  • 🔍 Browse & Search - Discover MCP servers from registries
  • 📦 Install & Manage - One-click installation and management
  • 🤖 Multi-Agent Support - Works with Claude, Copilot, and more
  • 🎛️ Unified Dashboard - Manage all servers and agents from one place
  • Simple UI - Intuitive checkboxes, buttons, and actions
  • 🔧 Extensible - Plugin-based architecture for new agents
  • 🐳 Containerizable - Docker support for flexible deployment
  • Well-Tested - Comprehensive unit test coverage

🏗️ Architecture

MCP Manager follows SOLID principles and Clean Architecture:

Project Structure

McpManager/
├── src/
│   ├── McpManager.Core/           # Domain models and interfaces
│   ├── McpManager.Application/    # Business logic and services
│   ├── McpManager.Infrastructure/ # Agent connectors and registries
│   ├── McpManager.Web/            # Blazor Server web application
│   └── McpManager.Desktop/        # Desktop app using Photino.Blazor
├── tests/
│   └── McpManager.Tests/          # Unit and integration tests
└── docs/                          # Documentation

Key Design Patterns

  • Dependency Inversion: All dependencies flow inward through interfaces
  • Single Responsibility: Each service handles one concern
  • Open/Closed: Extensible via IAgentConnector interface
  • DRY (Don't Repeat Yourself): Shared logic in base classes and services

🚀 Quick Start

Prerequisites

  • .NET 10.0 SDK (for building from source)
  • One or more AI agents installed (Claude Desktop, GitHub Copilot, etc.)

Installation Options

⚠️ Windows SmartScreen Warning

If you're on Windows, you may see a security warning when running the desktop app for the first time:

"Windows protected your PC - Microsoft Defender SmartScreen prevented an unrecognized app from starting"

This is normal! Code signing certificates cost $300-500/year. As an open source project, we provide full source code transparency instead.

To run the app safely:

  1. Click "More info"
  2. Click "Run anyway"
  3. Verify the SHA256 hash matches the release notes (optional)

Why you can trust it:

  • 100% open source - audit the code yourself
  • Built by GitHub Actions - reproducible builds
  • SHA256 verified - ensure download integrity
  • No telemetry or tracking - everything stays local

📖 Full details: See SmartScreen Warning Guide

🔐 Code signing status: We've applied for free signing via SignPath.io (2-4 weeks)


Option 1: Desktop App (Recommended)

The desktop app runs as a standalone application with no browser required!

Windows:

  1. Download the latest mcpmanager-desktop-win-x64.zip from Releases
  2. Extract the archive
  3. Run McpManager.Desktop.exe
  4. The app opens in its own window!

Linux:

  1. Download the latest mcpmanager-desktop-linux-x64.tar.gz from Releases
  2. Extract: tar -xzf mcpmanager-desktop-linux-x64.tar.gz
  3. Make executable: chmod +x McpManager.Desktop
  4. Run: ./McpManager.Desktop
  5. The app opens in its own window!

Option 2: Server-Hosted

If you prefer the traditional server model where you open a browser:

Windows:

  1. Download the latest mcpmanager-server-win-x64.zip from Releases
  2. Extract the archive
  3. Run McpManager.Web.exe
  4. Navigate to http://localhost:5000

Linux:

  1. Download the latest mcpmanager-server-linux-x64.tar.gz from Releases
  2. Extract: tar -xzf mcpmanager-server-linux-x64.tar.gz
  3. Make executable: chmod +x McpManager.Web
  4. Run: ./McpManager.Web
  5. Navigate to http://localhost:5000

Option 3: Docker

# Pull and run the latest image
docker pull ghcr.io/jerrettdavis/mcpmanager:latest
docker run -p 8080:8080 ghcr.io/jerrettdavis/mcpmanager:latest

# Navigate to http://localhost:8080

Option 4: Build from Source

# Clone the repository
git clone https://github.com/JerrettDavis/McpManager.git
cd McpManager

# Restore dependencies
dotnet restore

# Run the application
dotnet run --project src/McpManager.Web

# Navigate to https://localhost:5001

Run with Docker

# Clone the repository
git clone https://github.com/JerrettDavis/McpManager.git
cd McpManager

# Restore dependencies
dotnet restore

# Run the application
dotnet run --project src/McpManager.Web

# Navigate to https://localhost:5001

📖 Usage

Dashboard

The main dashboard provides an overview of:

  • Number of installed MCP servers
  • Detected AI agents on your system
  • Active server installations across agents

Browse Servers

  1. Navigate to Browse Servers
  2. Search for servers by name, description, or tags
  3. Click Install on any server you want to add

Manage Agents

  1. Navigate to Agents
  2. Select an agent to view its configured servers
  3. Use checkboxes to Enable/Disable servers
  4. Click Remove to uninstall a server from an agent
  5. Click Add to Agent to configure a new server

Agent-Specific Configuration

Each agent page shows:

  • All installed MCP servers
  • Current enable/disable status
  • Quick actions for configuration

Simply toggle checkboxes to enable or disable servers, or click remove buttons to uninstall.

🧪 Testing

# Run all tests
dotnet test

# Run with coverage
dotnet test /p:CollectCoverage=true

Current test coverage: 22 passing tests covering core services.

🔌 Supported Agents

Currently supported AI agents:

  • Claude Desktop - Full support for configuration management
  • GitHub Copilot - VS Code integration support
  • 🔜 OpenAI Codex - Coming soon
  • 🔜 Custom Agents - Extensible via IAgentConnector interface

🛠️ Development

Adding a New Agent Connector

  1. Create a new class implementing IAgentConnector:
public class MyAgentConnector : IAgentConnector
{
    public AgentType AgentType => AgentType.Other;
    
    public Task<bool> IsAgentInstalledAsync() { /* ... */ }
    public Task<string> GetConfigurationPathAsync() { /* ... */ }
    // Implement other interface methods
}
  1. Register in Program.cs:
builder.Services.AddSingleton<IAgentConnector, MyAgentConnector>();

Adding a New Registry

Implement IServerRegistry to connect to npm, GitHub, or custom registries:

public class NpmRegistry : IServerRegistry
{
    public string Name => "npm MCP Registry";
    public Task<IEnumerable<ServerSearchResult>> SearchAsync(string query) { /* ... */ }
    // Implement other interface methods
}

📦 Building for Production

Build Executable

# Windows
dotnet publish -c Release -r win-x64 --self-contained

# macOS
dotnet publish -c Release -r osx-x64 --self-contained

# Linux
dotnet publish -c Release -r linux-x64 --self-contained

Build Docker Image

docker build -t mcp-manager:latest .
docker tag mcp-manager:latest your-registry/mcp-manager:latest
docker push your-registry/mcp-manager:latest

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments


Made with ❤️ for the AI development community

About

Manage your MCP Servers for all your agents in one place!

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •