Metadata-Version: 2.1
Name: mcp-manager
Version: 0.1.1
Summary: A CLI tool for managing Model Context Protocol (MCP) servers
Home-page: https://github.com/nstebbins/mcp-manager
License: GPL-3.0-or-later
Keywords: mcp,cli,server-management,ai-tools,claude
Author: Your Name
Author-email: your.email@example.com
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Installation/Setup
Classifier: Topic :: Utilities
Requires-Dist: click (>=8.1.8,<9.0.0)
Requires-Dist: pydantic (>=2.6.1,<3.0.0)
Requires-Dist: rich (>=13.7.0,<14.0.0)
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
Requires-Dist: typer (>=0.15.2,<0.16.0)
Project-URL: Repository, https://github.com/nstebbins/mcp-manager
Description-Content-Type: text/markdown

<div align="center">

# MCP Manager

[![Version](https://img.shields.io/badge/version-0.1.1-blue.svg)](https://pypi.org/project/mcp-manager/)
[![Python](https://img.shields.io/badge/python-^3.12-blue.svg)](https://www.python.org/downloads/)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Tests](https://github.com/nstebbins/mcp-manager/actions/workflows/test.yml/badge.svg)](https://github.com/nstebbins/mcp-manager/actions/workflows/test.yml)

A powerful CLI tool for managing Model Context Protocol (MCP) servers. Seamlessly install, configure, and manage MCP servers for AI tools and services.

[Installation](#-installation) • [Quick Start](#-quick-start) • [Available Servers](#-available-servers) • [Supported MCP Clients](#-supported-mcp-clients)

</div>

## 🚀 Quick Start

```bash
# Install the package
pip install mcp-manager

# Search for available servers
mcp-manager search browser
# ┌───────────┬──────────────────────────────────────────────┬────────────┐
# │ Server    │ Description                                  │ Maintainer │
# ├───────────┼──────────────────────────────────────────────┼────────────┤
# │ playwright│ MCP server for browser automation            │ Anthropic  │
# └───────────┴──────────────────────────────────────────────┴────────────┘

# Get detailed server information
mcp-manager info playwright
# ╭────────────────────── Server Information ──────────────────────╮
# │ Server: playwright                                             │
# │ Description: MCP server for browser automation with Playwright │
# │ Maintainer: Anthropic                                          │
# ╰────────────────────────────────────────────────────────────────╯
# Dependencies
#  •  Node.js
#  •  npm

# Install a server (for Claude Desktop)
mcp-manager install playwright --client=claude-desktop

# Install a server (for Cursor)
mcp-manager install playwright --client=cursor

# Install a server (for Claude Code)
mcp-manager install playwright --client=claude-code
```

## 🛠️ Available Commands

| Command | Description |
|---------|-------------|
| `search <keyword>` | Search for available MCP servers matching the keyword |
| `info <server-name>` | Display detailed information about a specific server |
| `install <server-name> [--client=claude-desktop\|cursor\|claude-code]` | Install an MCP server for a specific client |
| `uninstall <server-name> [--client=claude-desktop\|cursor\|claude-code]` | Remove an installed server |
| `list` | List all installed MCP servers |
| `config path [--client=claude-desktop\|cursor\|claude-code]` | Show current client config file path |
| `config set-path <new-path> [--client=claude-desktop\|cursor\|claude-code]` | Set a new path for the client config file |

## 🔌 Available Servers

| Server | Description | Dependencies |
|--------|-------------|--------------|
| **Playwright** | Browser automation server for web interactions | Node.js, npm |
| **Filesystem** | File system operations server for local file access | Node.js, npm |
| **Fetch** | Server for making HTTP requests | Docker |
| **Git** | Server for Git operations | Docker |
| **GitHub** | Server for GitHub API operations | Docker |
| **Memory** | Server for managing Claude's memory | Docker |

## 👥 Supported MCP Clients

Currently supports:
- ✅ Claude Desktop (default client)
- ✅ Cursor
- ✅ Claude Code

## 🎯 Features

- 🔍 Smart server discovery and search
- 🔒 Secure configuration management
- 🔄 Automatic dependency checking
- 🛡️ Client-specific installation options
- 📝 Detailed server information and documentation

## 💻 Installation

For users:
```bash
pip install mcp-manager
```

For developers:
```bash
# Clone the repository
git clone https://github.com/nstebbins/mcp-manager.git
cd mcp-manager

# Install dependencies and development tools
poetry install
pre-commit install  # Install git hooks
```

### Code Quality

We maintain high code quality standards through automated checks:

```bash
# Run all pre-commit hooks
pre-commit run --all-files

# Format code
poetry run ruff format .

# Run linter
poetry run ruff check .

# Run tests
poetry run pytest
```

### 🧪 Testing

The project uses pytest for testing. Run the test suite with:

```bash
poetry run pytest
```

## 🤝 Contributing

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

