@rv404/mcp-launchpad 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +29 -0
- package/README.md +248 -0
- package/dist/backends/clickup.d.ts +3 -0
- package/dist/backends/clickup.d.ts.map +1 -0
- package/dist/backends/clickup.js +1550 -0
- package/dist/backends/clickup.js.map +1 -0
- package/dist/backends/email.d.ts +9 -0
- package/dist/backends/email.d.ts.map +1 -0
- package/dist/backends/email.js +452 -0
- package/dist/backends/email.js.map +1 -0
- package/dist/backends/firecrawl.d.ts +3 -0
- package/dist/backends/firecrawl.d.ts.map +1 -0
- package/dist/backends/firecrawl.js +297 -0
- package/dist/backends/firecrawl.js.map +1 -0
- package/dist/backends/gemini.d.ts +3 -0
- package/dist/backends/gemini.d.ts.map +1 -0
- package/dist/backends/gemini.js +702 -0
- package/dist/backends/gemini.js.map +1 -0
- package/dist/backends/github.d.ts +3 -0
- package/dist/backends/github.d.ts.map +1 -0
- package/dist/backends/github.js +2129 -0
- package/dist/backends/github.js.map +1 -0
- package/dist/backends/index.d.ts +2 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +27 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/kie.d.ts +3 -0
- package/dist/backends/kie.d.ts.map +1 -0
- package/dist/backends/kie.js +399 -0
- package/dist/backends/kie.js.map +1 -0
- package/dist/backends/n8n.d.ts +3 -0
- package/dist/backends/n8n.d.ts.map +1 -0
- package/dist/backends/n8n.js +414 -0
- package/dist/backends/n8n.js.map +1 -0
- package/dist/backends/notion.d.ts +3 -0
- package/dist/backends/notion.d.ts.map +1 -0
- package/dist/backends/notion.js +375 -0
- package/dist/backends/notion.js.map +1 -0
- package/dist/backends/quickbooks.d.ts +3 -0
- package/dist/backends/quickbooks.d.ts.map +1 -0
- package/dist/backends/quickbooks.js +2183 -0
- package/dist/backends/quickbooks.js.map +1 -0
- package/dist/backends/slack.d.ts +3 -0
- package/dist/backends/slack.d.ts.map +1 -0
- package/dist/backends/slack.js +1725 -0
- package/dist/backends/slack.js.map +1 -0
- package/dist/backends/youtube.d.ts +3 -0
- package/dist/backends/youtube.d.ts.map +1 -0
- package/dist/backends/youtube.js +936 -0
- package/dist/backends/youtube.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +150 -0
- package/dist/index.js.map +1 -0
- package/dist/router.d.ts +36 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +283 -0
- package/dist/router.js.map +1 -0
- package/dist/types.d.ts +103 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +65 -0
- package/dist/types.js.map +1 -0
- package/lib/mcp-file-output/dist/index.d.ts +99 -0
- package/lib/mcp-file-output/dist/index.d.ts.map +1 -0
- package/lib/mcp-file-output/dist/index.js +215 -0
- package/lib/mcp-file-output/dist/index.js.map +1 -0
- package/lib/mcp-file-output/node_modules/@types/node/LICENSE +21 -0
- package/lib/mcp-file-output/node_modules/@types/node/README.md +15 -0
- package/lib/mcp-file-output/node_modules/@types/node/assert/strict.d.ts +8 -0
- package/lib/mcp-file-output/node_modules/@types/node/assert.d.ts +1062 -0
- package/lib/mcp-file-output/node_modules/@types/node/async_hooks.d.ts +605 -0
- package/lib/mcp-file-output/node_modules/@types/node/buffer.buffer.d.ts +471 -0
- package/lib/mcp-file-output/node_modules/@types/node/buffer.d.ts +1936 -0
- package/lib/mcp-file-output/node_modules/@types/node/child_process.d.ts +1475 -0
- package/lib/mcp-file-output/node_modules/@types/node/cluster.d.ts +577 -0
- package/lib/mcp-file-output/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
- package/lib/mcp-file-output/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/lib/mcp-file-output/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/lib/mcp-file-output/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/lib/mcp-file-output/node_modules/@types/node/console.d.ts +452 -0
- package/lib/mcp-file-output/node_modules/@types/node/constants.d.ts +21 -0
- package/lib/mcp-file-output/node_modules/@types/node/crypto.d.ts +4590 -0
- package/lib/mcp-file-output/node_modules/@types/node/dgram.d.ts +597 -0
- package/lib/mcp-file-output/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
- package/lib/mcp-file-output/node_modules/@types/node/dns/promises.d.ts +479 -0
- package/lib/mcp-file-output/node_modules/@types/node/dns.d.ts +871 -0
- package/lib/mcp-file-output/node_modules/@types/node/domain.d.ts +170 -0
- package/lib/mcp-file-output/node_modules/@types/node/events.d.ts +977 -0
- package/lib/mcp-file-output/node_modules/@types/node/fs/promises.d.ts +1270 -0
- package/lib/mcp-file-output/node_modules/@types/node/fs.d.ts +4375 -0
- package/lib/mcp-file-output/node_modules/@types/node/globals.d.ts +172 -0
- package/lib/mcp-file-output/node_modules/@types/node/globals.typedarray.d.ts +38 -0
- package/lib/mcp-file-output/node_modules/@types/node/http.d.ts +2049 -0
- package/lib/mcp-file-output/node_modules/@types/node/http2.d.ts +2631 -0
- package/lib/mcp-file-output/node_modules/@types/node/https.d.ts +578 -0
- package/lib/mcp-file-output/node_modules/@types/node/index.d.ts +93 -0
- package/lib/mcp-file-output/node_modules/@types/node/inspector.generated.d.ts +3966 -0
- package/lib/mcp-file-output/node_modules/@types/node/module.d.ts +539 -0
- package/lib/mcp-file-output/node_modules/@types/node/net.d.ts +1012 -0
- package/lib/mcp-file-output/node_modules/@types/node/os.d.ts +506 -0
- package/lib/mcp-file-output/node_modules/@types/node/package.json +140 -0
- package/lib/mcp-file-output/node_modules/@types/node/path.d.ts +200 -0
- package/lib/mcp-file-output/node_modules/@types/node/perf_hooks.d.ts +961 -0
- package/lib/mcp-file-output/node_modules/@types/node/process.d.ts +1957 -0
- package/lib/mcp-file-output/node_modules/@types/node/punycode.d.ts +117 -0
- package/lib/mcp-file-output/node_modules/@types/node/querystring.d.ts +152 -0
- package/lib/mcp-file-output/node_modules/@types/node/readline/promises.d.ts +162 -0
- package/lib/mcp-file-output/node_modules/@types/node/readline.d.ts +589 -0
- package/lib/mcp-file-output/node_modules/@types/node/repl.d.ts +430 -0
- package/lib/mcp-file-output/node_modules/@types/node/sea.d.ts +153 -0
- package/lib/mcp-file-output/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/lib/mcp-file-output/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/lib/mcp-file-output/node_modules/@types/node/stream/web.d.ts +533 -0
- package/lib/mcp-file-output/node_modules/@types/node/stream.d.ts +1675 -0
- package/lib/mcp-file-output/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/lib/mcp-file-output/node_modules/@types/node/test.d.ts +1787 -0
- package/lib/mcp-file-output/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/lib/mcp-file-output/node_modules/@types/node/timers.d.ts +286 -0
- package/lib/mcp-file-output/node_modules/@types/node/tls.d.ts +1255 -0
- package/lib/mcp-file-output/node_modules/@types/node/trace_events.d.ts +197 -0
- package/lib/mcp-file-output/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/lib/mcp-file-output/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
- package/lib/mcp-file-output/node_modules/@types/node/ts5.6/index.d.ts +93 -0
- package/lib/mcp-file-output/node_modules/@types/node/tty.d.ts +208 -0
- package/lib/mcp-file-output/node_modules/@types/node/url.d.ts +964 -0
- package/lib/mcp-file-output/node_modules/@types/node/util.d.ts +2331 -0
- package/lib/mcp-file-output/node_modules/@types/node/v8.d.ts +809 -0
- package/lib/mcp-file-output/node_modules/@types/node/vm.d.ts +1001 -0
- package/lib/mcp-file-output/node_modules/@types/node/wasi.d.ts +181 -0
- package/lib/mcp-file-output/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/lib/mcp-file-output/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/lib/mcp-file-output/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/lib/mcp-file-output/node_modules/@types/node/web-globals/fetch.d.ts +46 -0
- package/lib/mcp-file-output/node_modules/@types/node/worker_threads.d.ts +715 -0
- package/lib/mcp-file-output/node_modules/@types/node/zlib.d.ts +540 -0
- package/lib/mcp-file-output/package.json +19 -0
- package/lib/mcp-file-output/src/index.ts +309 -0
- package/lib/mcp-file-output/tsconfig.json +20 -0
- package/package.json +64 -0
package/.env.example
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# ClickUp
|
|
2
|
+
CLICKUP_API_KEY=pk_xxxxx
|
|
3
|
+
CLICKUP_TEAM_ID=xxxxx
|
|
4
|
+
|
|
5
|
+
# Notion
|
|
6
|
+
NOTION_API_KEY=ntn_xxxxx
|
|
7
|
+
|
|
8
|
+
# GitHub
|
|
9
|
+
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxx
|
|
10
|
+
|
|
11
|
+
# Slack
|
|
12
|
+
SLACK_BOT_TOKEN=xoxb-xxxxx
|
|
13
|
+
SLACK_TEAM_ID=Txxxxx
|
|
14
|
+
|
|
15
|
+
# n8n
|
|
16
|
+
N8N_API_URL=https://your-instance.app.n8n.cloud
|
|
17
|
+
N8N_API_KEY=xxxxx
|
|
18
|
+
|
|
19
|
+
# Gemini (also used by YouTube for analysis)
|
|
20
|
+
GEMINI_API_KEY=AIza_xxxxx
|
|
21
|
+
GOOGLE_API_KEY=AIza_xxxxx
|
|
22
|
+
|
|
23
|
+
# YouTube (optional - uses yt-dlp for core features, API key adds extra metadata)
|
|
24
|
+
# Get key from: https://console.cloud.google.com/apis/credentials
|
|
25
|
+
# Enable: YouTube Data API v3
|
|
26
|
+
YOUTUBE_API_KEY=AIza_xxxxx
|
|
27
|
+
|
|
28
|
+
# Logging (error, warn, info, debug)
|
|
29
|
+
LOG_LEVEL=info
|
package/README.md
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# MCP Launchpad
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### npm (Recommended)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @404-rv/mcp-launchpad
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### From Source
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
git clone https://github.com/404-rv/mcp-launchpad.git
|
|
17
|
+
cd mcp-launchpad
|
|
18
|
+
npm install
|
|
19
|
+
npm run build
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
### 1. Configure Environment
|
|
25
|
+
|
|
26
|
+
Create a `.env` file with your API keys (only include services you use):
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# ClickUp
|
|
30
|
+
CLICKUP_API_KEY=your-key
|
|
31
|
+
CLICKUP_TEAM_ID=your-team-id
|
|
32
|
+
|
|
33
|
+
# Notion
|
|
34
|
+
NOTION_API_KEY=your-key
|
|
35
|
+
|
|
36
|
+
# GitHub
|
|
37
|
+
GITHUB_PERSONAL_ACCESS_TOKEN=your-token
|
|
38
|
+
|
|
39
|
+
# Slack
|
|
40
|
+
SLACK_BOT_TOKEN=xoxb-your-token
|
|
41
|
+
SLACK_TEAM_ID=your-team-id
|
|
42
|
+
|
|
43
|
+
# n8n
|
|
44
|
+
N8N_API_URL=https://your-instance.app.n8n.cloud
|
|
45
|
+
N8N_API_KEY=your-key
|
|
46
|
+
|
|
47
|
+
# Gemini
|
|
48
|
+
GOOGLE_API_KEY=your-key
|
|
49
|
+
GEMINI_IMAGE_OUTPUT_DIR=./output
|
|
50
|
+
|
|
51
|
+
# QuickBooks (requires OAuth setup)
|
|
52
|
+
QUICKBOOKS_CLIENT_ID=your-client-id
|
|
53
|
+
QUICKBOOKS_CLIENT_SECRET=your-secret
|
|
54
|
+
QUICKBOOKS_REFRESH_TOKEN=your-refresh-token
|
|
55
|
+
QUICKBOOKS_REALM_ID=your-realm-id
|
|
56
|
+
|
|
57
|
+
# Firecrawl
|
|
58
|
+
FIRECRAWL_API_KEY=your-key
|
|
59
|
+
|
|
60
|
+
# Kie.ai
|
|
61
|
+
KIE_API_KEY=your-key
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 2. Add to Claude
|
|
65
|
+
|
|
66
|
+
Choose your setup method based on how you use Claude:
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
#### Option A: Claude Code CLI (Pro/Teams)
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# If installed via npm
|
|
74
|
+
claude mcp add router -- npx @404-rv/mcp-launchpad
|
|
75
|
+
|
|
76
|
+
# If installed from source
|
|
77
|
+
claude mcp add router -- node /path/to/mcp-launchpad/dist/index.js
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
#### Option B: Claude Desktop App (Max users)
|
|
83
|
+
|
|
84
|
+
Edit your Claude Desktop config file:
|
|
85
|
+
|
|
86
|
+
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
87
|
+
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
88
|
+
|
|
89
|
+
Add this to the `mcpServers` section:
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"mcpServers": {
|
|
94
|
+
"router": {
|
|
95
|
+
"command": "node",
|
|
96
|
+
"args": ["C:/path/to/mcp-launchpad/dist/index.js"],
|
|
97
|
+
"env": {
|
|
98
|
+
"NOTION_API_KEY": "your-key",
|
|
99
|
+
"SLACK_BOT_TOKEN": "your-token"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Then restart Claude Desktop.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
#### Option C: VS Code Extension
|
|
111
|
+
|
|
112
|
+
Open VS Code Settings (JSON) and add:
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"claude.mcpServers": {
|
|
117
|
+
"router": {
|
|
118
|
+
"command": "node",
|
|
119
|
+
"args": ["/path/to/mcp-launchpad/dist/index.js"],
|
|
120
|
+
"env": {
|
|
121
|
+
"NOTION_API_KEY": "your-key"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### 3. Verify
|
|
131
|
+
|
|
132
|
+
- **Claude Code CLI:** Run `/mcp` to see `router` listed
|
|
133
|
+
- **Claude Desktop:** Check Settings > Developer > MCP Servers
|
|
134
|
+
- **VS Code:** Check Claude extension settings
|
|
135
|
+
|
|
136
|
+
## Available Tools
|
|
137
|
+
|
|
138
|
+
| Tool | Description |
|
|
139
|
+
|------|-------------|
|
|
140
|
+
| `route_request` | Route a request to a backend service |
|
|
141
|
+
| `list_services` | List all available services |
|
|
142
|
+
| `list_actions` | List actions for a specific service |
|
|
143
|
+
| `health_check` | Check connectivity to all services |
|
|
144
|
+
|
|
145
|
+
## Usage Examples
|
|
146
|
+
|
|
147
|
+
```javascript
|
|
148
|
+
// List available services
|
|
149
|
+
mcp__router__list_services
|
|
150
|
+
|
|
151
|
+
// Get actions for a service
|
|
152
|
+
mcp__router__list_actions({ service: "slack" })
|
|
153
|
+
|
|
154
|
+
// Send a Slack message
|
|
155
|
+
mcp__router__route_request({
|
|
156
|
+
service: "slack",
|
|
157
|
+
action: "post_message",
|
|
158
|
+
params: { channel: "#general", text: "Hello!" }
|
|
159
|
+
})
|
|
160
|
+
|
|
161
|
+
// Create a Notion page
|
|
162
|
+
mcp__router__route_request({
|
|
163
|
+
service: "notion",
|
|
164
|
+
action: "create_page",
|
|
165
|
+
params: { parent_id: "...", title: "New Page" }
|
|
166
|
+
})
|
|
167
|
+
|
|
168
|
+
// Generate an image with Gemini
|
|
169
|
+
mcp__router__route_request({
|
|
170
|
+
service: "gemini",
|
|
171
|
+
action: "generate_image",
|
|
172
|
+
params: {
|
|
173
|
+
prompt: "A serene mountain landscape",
|
|
174
|
+
outputPath: "./output/mountain.png"
|
|
175
|
+
}
|
|
176
|
+
})
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Supported Services
|
|
180
|
+
|
|
181
|
+
| Service | Actions |
|
|
182
|
+
|---------|---------|
|
|
183
|
+
| **ClickUp** | Tasks, spaces, lists, time tracking |
|
|
184
|
+
| **Notion** | Pages, databases, blocks |
|
|
185
|
+
| **GitHub** | Repos, issues, PRs, files |
|
|
186
|
+
| **Slack** | Messages, channels, users |
|
|
187
|
+
| **n8n** | Workflows, executions |
|
|
188
|
+
| **Gemini** | Text generation, image generation |
|
|
189
|
+
| **QuickBooks** | Invoices, customers, reports |
|
|
190
|
+
| **Firecrawl** | Web scraping, crawling |
|
|
191
|
+
| **YouTube** | Video metadata, transcripts |
|
|
192
|
+
| **Kie.ai** | Image editing, generation |
|
|
193
|
+
|
|
194
|
+
## Project Structure
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
mcp-launchpad/
|
|
198
|
+
├── src/
|
|
199
|
+
│ ├── index.ts # MCP server entry point
|
|
200
|
+
│ ├── router.ts # Request routing logic
|
|
201
|
+
│ ├── types.ts # TypeScript types
|
|
202
|
+
│ └── backends/ # Service implementations
|
|
203
|
+
│ ├── clickup.ts
|
|
204
|
+
│ ├── notion.ts
|
|
205
|
+
│ ├── github.ts
|
|
206
|
+
│ ├── slack.ts
|
|
207
|
+
│ ├── n8n.ts
|
|
208
|
+
│ ├── gemini.ts
|
|
209
|
+
│ ├── quickbooks.ts
|
|
210
|
+
│ ├── firecrawl.ts
|
|
211
|
+
│ ├── youtube.ts
|
|
212
|
+
│ └── kie.ts
|
|
213
|
+
├── dist/ # Compiled output
|
|
214
|
+
├── package.json
|
|
215
|
+
├── tsconfig.json
|
|
216
|
+
└── .env.example
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Troubleshooting
|
|
220
|
+
|
|
221
|
+
### "Cannot find module"
|
|
222
|
+
- Run `npm install` and `npm run build`
|
|
223
|
+
- Check the path in your MCP config
|
|
224
|
+
|
|
225
|
+
### "Service not available"
|
|
226
|
+
- Check your `.env` file has the required keys
|
|
227
|
+
- Run `health_check` to see which services are connected
|
|
228
|
+
|
|
229
|
+
### "Authentication failed"
|
|
230
|
+
- Verify API keys are correct
|
|
231
|
+
- Check token permissions/scopes
|
|
232
|
+
|
|
233
|
+
## Development
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# Install dependencies
|
|
237
|
+
npm install
|
|
238
|
+
|
|
239
|
+
# Build
|
|
240
|
+
npm run build
|
|
241
|
+
|
|
242
|
+
# Watch mode
|
|
243
|
+
npm run dev
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## License
|
|
247
|
+
|
|
248
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickup.d.ts","sourceRoot":"","sources":["../../src/backends/clickup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA+B,MAAM,aAAa,CAAC;AA66CnE,eAAO,MAAM,cAAc,EAAE,OAkH5B,CAAC"}
|