@realeng/maestro
Version:
Easy setup and management for local MCP servers
171 lines (126 loc) • 3.68 kB
Markdown
# Maestro MCP Manager
Easy setup and management for local MCP (Model Context Protocol) servers.
## Installation
### Install from npm
```bash
npm install -g @realeng/maestro
```
### macOS Users - Download & Click Installation
1. Download the latest `maestro-macos-vX.X.X.zip` from [Releases](https://github.com/yourusername/maestro/releases)
2. Unzip the file
3. Double-click `1-install-maestro.command` to install Maestro
4. Double-click `2-configure-servers.command` to set up your MCP servers
### macOS Users - From Source
1. Clone this repository
2. Double-click `1-install-maestro.command` to install Maestro
3. Double-click `2-configure-servers.command` to set up your MCP servers
### Manual Installation from Source
1. Clone this repository
2. Install globally:
```bash
npm install -g .
```
Or install for development:
1. Clone this repository
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
4. Make the CLI globally available:
```bash
npm link
```
## Usage
### Initialize MCP Servers
Configure authentication for MCP servers:
```bash
maestro init
```
This interactive command will:
- List available MCP servers
- Guide you through authentication setup (URLs, API tokens, etc.)
- Save credentials securely in `~/.maestro/config.json`
### Run MCP Servers
Start all configured MCP servers:
```bash
maestro run
```
This will:
- Start all enabled MCP servers
- Display port information for each server
- Keep servers running until you press Ctrl+C
- Save logs to `~/.maestro/logs/`
### Generate Claude Configuration
Generate configuration for Claude Desktop or Claude Code:
```bash
maestro mcp-config
```
This will:
- Create a JSON configuration for all your MCP servers
- Display the configuration in the terminal
- Save it to `claude-config.json` in the current directory
- Provide instructions for adding it to Claude
### View Server Logs
View logs for a specific MCP server:
```bash
# Show available servers
maestro logs
# View last 50 lines of logs for a server
maestro logs youtrack
# View last 100 lines
maestro logs youtrack -n 100
# Follow logs in real-time (like tail -f)
maestro logs youtrack -f
# Clear all log files
maestro logs clear
```
## Supported MCP Servers
Currently supported:
- **YouTrack** - JetBrains issue tracking integration
## Adding New MCP Servers
To add support for a new MCP server:
1. Create a new file in `src/servers/` (e.g., `github.ts`)
2. Implement the `MCPServerDefinition` interface:
```typescript
export const githubServer: MCPServerDefinition = {
name: 'github',
displayName: 'GitHub',
description: 'GitHub integration',
requiredAuth: [
{
key: 'token',
label: 'Personal Access Token',
description: 'Your GitHub PAT',
type: 'password'
}
],
command: (config) => ['npx', '-y', '@modelcontextprotocol/server-github'],
env: (config) => ({
GITHUB_PERSONAL_ACCESS_TOKEN: config.auth.token
})
};
```
3. Register it in `src/servers/index.ts`
4. Rebuild: `npm run build`
## Configuration
Maestro stores configuration in `~/.maestro/config.json`. This includes:
- Server authentication credentials
- Server enable/disable status
- Optional server settings
## Development
```bash
npm run dev # Run in development mode
npm run build # Build for production
npm run lint # Run linter
npm run typecheck # Type checking
```
## Security
- Credentials are stored locally in your home directory
- API tokens are never logged or exposed
- Each server runs in isolation with its own environment
## License
MIT