npm package: @rv404/mcp-launchpad
Description: Unified MCP router for Claude Code - ClickUp, Notion, GitHub, Slack, n8n, Gemini, QuickBooks, Firecrawl, YouTube, Kie.ai
Author: 404-rv
Latest version: 1.0.0

# MCP Launchpad

A unified MCP (Model Context Protocol) router for Claude Code that connects to multiple backend services: ClickUp, Notion, GitHub, Slack, n8n, Gemini, QuickBooks, Firecrawl, YouTube, and Kie.ai.

## Installation

### npm (Recommended)

```bash
npm install -g @404-rv/mcp-launchpad
```

### From Source

```bash
git clone https://github.com/404-rv/mcp-launchpad.git
cd mcp-launchpad
npm install
npm run build
```

## Quick Start

### 1. Configure Environment

Create a `.env` file with your API keys (only include services you use):

```bash
# ClickUp
CLICKUP_API_KEY=your-key
CLICKUP_TEAM_ID=your-team-id

# Notion
NOTION_API_KEY=your-key

# GitHub
GITHUB_PERSONAL_ACCESS_TOKEN=your-token

# Slack
SLACK_BOT_TOKEN=xoxb-your-token
SLACK_TEAM_ID=your-team-id

# n8n
N8N_API_URL=https://your-instance.app.n8n.cloud
N8N_API_KEY=your-key

# Gemini
GOOGLE_API_KEY=your-key
GEMINI_IMAGE_OUTPUT_DIR=./output

# QuickBooks (requires OAuth setup)
QUICKBOOKS_CLIENT_ID=your-client-id
QUICKBOOKS_CLIENT_SECRET=your-secret
QUICKBOOKS_REFRESH_TOKEN=your-refresh-token
QUICKBOOKS_REALM_ID=your-realm-id

# Firecrawl
FIRECRAWL_API_KEY=your-key

# Kie.ai
KIE_API_KEY=your-key
```

### 2. Add to Claude

Choose your setup method based on how you use Claude:

---

#### Option A: Claude Code CLI (Pro/Teams)

```bash
# If installed via npm
claude mcp add router -- npx @404-rv/mcp-launchpad

# If installed from source
claude mcp add router -- node /path/to/mcp-launchpad/dist/index.js
```

---

#### Option B: Claude Desktop App (Max users)

Edit your Claude Desktop config file:

**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`

Add this to the `mcpServers` section:

```json
{
  "mcpServers": {
    "router": {
      "command": "node",
      "args": ["C:/path/to/mcp-launchpad/dist/index.js"],
      "env": {
        "NOTION_API_KEY": "your-key",
        "SLACK_BOT_TOKEN": "your-token"
      }
    }
  }
}
```

Then restart Claude Desktop.

---

#### Option C: VS Code Extension

Open VS Code Settings (JSON) and add:

```json
{
  "claude.mcpServers": {
    "router": {
      "command": "node",
      "args": ["/path/to/mcp-launchpad/dist/index.js"],
      "env": {
        "NOTION_API_KEY": "your-key"
      }
    }
  }
}
```

---

### 3. Verify

- **Claude Code CLI:** Run `/mcp` to see `router` listed
- **Claude Desktop:** Check Settings > Developer > MCP Servers
- **VS Code:** Check Claude extension settings

## Available Tools

| Tool | Description |
|------|-------------|
| `route_request` | Route a request to a backend service |
| `list_services` | List all available services |
| `list_actions` | List actions for a specific service |
| `health_check` | Check connectivity to all services |

## Usage Examples

```javascript
// List available services
mcp__router__list_services

// Get actions for a service
mcp__router__list_actions({ service: "slack" })

// Send a Slack message
mcp__router__route_request({
  service: "slack",
  action: "post_message",
  params: { channel: "#general", text: "Hello!" }
})

// Create a Notion page
mcp__router__route_request({
  service: "notion",
  action: "create_page",
  params: { parent_id: "...", title: "New Page" }
})

// Generate an image with Gemini
mcp__router__route_request({
  service: "gemini",
  action: "generate_image",
  params: {
    prompt: "A serene mountain landscape",
    outputPath: "./output/mountain.png"
  }
})
```

## Supported Services

| Service | Actions |
|---------|---------|
| **ClickUp** | Tasks, spaces, lists, time tracking |
| **Notion** | Pages, databases, blocks |
| **GitHub** | Repos, issues, PRs, files |
| **Slack** | Messages, channels, users |
| **n8n** | Workflows, executions |
| **Gemini** | Text generation, image generation |
| **QuickBooks** | Invoices, customers, reports |
| **Firecrawl** | Web scraping, crawling |
| **YouTube** | Video metadata, transcripts |
| **Kie.ai** | Image editing, generation |

## Project Structure

```
mcp-launchpad/
├── src/
│   ├── index.ts       # MCP server entry point
│   ├── router.ts      # Request routing logic
│   ├── types.ts       # TypeScript types
│   └── backends/      # Service implementations
│       ├── clickup.ts
│       ├── notion.ts
│       ├── github.ts
│       ├── slack.ts
│       ├── n8n.ts
│       ├── gemini.ts
│       ├── quickbooks.ts
│       ├── firecrawl.ts
│       ├── youtube.ts
│       └── kie.ts
├── dist/              # Compiled output
├── package.json
├── tsconfig.json
└── .env.example
```

## Troubleshooting

### "Cannot find module"
- Run `npm install` and `npm run build`
- Check the path in your MCP config

### "Service not available"
- Check your `.env` file has the required keys
- Run `health_check` to see which services are connected

### "Authentication failed"
- Verify API keys are correct
- Check token permissions/scopes

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev
```

## License

MIT