@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.
Files changed (139) hide show
  1. package/.env.example +29 -0
  2. package/README.md +248 -0
  3. package/dist/backends/clickup.d.ts +3 -0
  4. package/dist/backends/clickup.d.ts.map +1 -0
  5. package/dist/backends/clickup.js +1550 -0
  6. package/dist/backends/clickup.js.map +1 -0
  7. package/dist/backends/email.d.ts +9 -0
  8. package/dist/backends/email.d.ts.map +1 -0
  9. package/dist/backends/email.js +452 -0
  10. package/dist/backends/email.js.map +1 -0
  11. package/dist/backends/firecrawl.d.ts +3 -0
  12. package/dist/backends/firecrawl.d.ts.map +1 -0
  13. package/dist/backends/firecrawl.js +297 -0
  14. package/dist/backends/firecrawl.js.map +1 -0
  15. package/dist/backends/gemini.d.ts +3 -0
  16. package/dist/backends/gemini.d.ts.map +1 -0
  17. package/dist/backends/gemini.js +702 -0
  18. package/dist/backends/gemini.js.map +1 -0
  19. package/dist/backends/github.d.ts +3 -0
  20. package/dist/backends/github.d.ts.map +1 -0
  21. package/dist/backends/github.js +2129 -0
  22. package/dist/backends/github.js.map +1 -0
  23. package/dist/backends/index.d.ts +2 -0
  24. package/dist/backends/index.d.ts.map +1 -0
  25. package/dist/backends/index.js +27 -0
  26. package/dist/backends/index.js.map +1 -0
  27. package/dist/backends/kie.d.ts +3 -0
  28. package/dist/backends/kie.d.ts.map +1 -0
  29. package/dist/backends/kie.js +399 -0
  30. package/dist/backends/kie.js.map +1 -0
  31. package/dist/backends/n8n.d.ts +3 -0
  32. package/dist/backends/n8n.d.ts.map +1 -0
  33. package/dist/backends/n8n.js +414 -0
  34. package/dist/backends/n8n.js.map +1 -0
  35. package/dist/backends/notion.d.ts +3 -0
  36. package/dist/backends/notion.d.ts.map +1 -0
  37. package/dist/backends/notion.js +375 -0
  38. package/dist/backends/notion.js.map +1 -0
  39. package/dist/backends/quickbooks.d.ts +3 -0
  40. package/dist/backends/quickbooks.d.ts.map +1 -0
  41. package/dist/backends/quickbooks.js +2183 -0
  42. package/dist/backends/quickbooks.js.map +1 -0
  43. package/dist/backends/slack.d.ts +3 -0
  44. package/dist/backends/slack.d.ts.map +1 -0
  45. package/dist/backends/slack.js +1725 -0
  46. package/dist/backends/slack.js.map +1 -0
  47. package/dist/backends/youtube.d.ts +3 -0
  48. package/dist/backends/youtube.d.ts.map +1 -0
  49. package/dist/backends/youtube.js +936 -0
  50. package/dist/backends/youtube.js.map +1 -0
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +150 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/router.d.ts +36 -0
  56. package/dist/router.d.ts.map +1 -0
  57. package/dist/router.js +283 -0
  58. package/dist/router.js.map +1 -0
  59. package/dist/types.d.ts +103 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/types.js +65 -0
  62. package/dist/types.js.map +1 -0
  63. package/lib/mcp-file-output/dist/index.d.ts +99 -0
  64. package/lib/mcp-file-output/dist/index.d.ts.map +1 -0
  65. package/lib/mcp-file-output/dist/index.js +215 -0
  66. package/lib/mcp-file-output/dist/index.js.map +1 -0
  67. package/lib/mcp-file-output/node_modules/@types/node/LICENSE +21 -0
  68. package/lib/mcp-file-output/node_modules/@types/node/README.md +15 -0
  69. package/lib/mcp-file-output/node_modules/@types/node/assert/strict.d.ts +8 -0
  70. package/lib/mcp-file-output/node_modules/@types/node/assert.d.ts +1062 -0
  71. package/lib/mcp-file-output/node_modules/@types/node/async_hooks.d.ts +605 -0
  72. package/lib/mcp-file-output/node_modules/@types/node/buffer.buffer.d.ts +471 -0
  73. package/lib/mcp-file-output/node_modules/@types/node/buffer.d.ts +1936 -0
  74. package/lib/mcp-file-output/node_modules/@types/node/child_process.d.ts +1475 -0
  75. package/lib/mcp-file-output/node_modules/@types/node/cluster.d.ts +577 -0
  76. package/lib/mcp-file-output/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
  77. package/lib/mcp-file-output/node_modules/@types/node/compatibility/index.d.ts +9 -0
  78. package/lib/mcp-file-output/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  79. package/lib/mcp-file-output/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  80. package/lib/mcp-file-output/node_modules/@types/node/console.d.ts +452 -0
  81. package/lib/mcp-file-output/node_modules/@types/node/constants.d.ts +21 -0
  82. package/lib/mcp-file-output/node_modules/@types/node/crypto.d.ts +4590 -0
  83. package/lib/mcp-file-output/node_modules/@types/node/dgram.d.ts +597 -0
  84. package/lib/mcp-file-output/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  85. package/lib/mcp-file-output/node_modules/@types/node/dns/promises.d.ts +479 -0
  86. package/lib/mcp-file-output/node_modules/@types/node/dns.d.ts +871 -0
  87. package/lib/mcp-file-output/node_modules/@types/node/domain.d.ts +170 -0
  88. package/lib/mcp-file-output/node_modules/@types/node/events.d.ts +977 -0
  89. package/lib/mcp-file-output/node_modules/@types/node/fs/promises.d.ts +1270 -0
  90. package/lib/mcp-file-output/node_modules/@types/node/fs.d.ts +4375 -0
  91. package/lib/mcp-file-output/node_modules/@types/node/globals.d.ts +172 -0
  92. package/lib/mcp-file-output/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  93. package/lib/mcp-file-output/node_modules/@types/node/http.d.ts +2049 -0
  94. package/lib/mcp-file-output/node_modules/@types/node/http2.d.ts +2631 -0
  95. package/lib/mcp-file-output/node_modules/@types/node/https.d.ts +578 -0
  96. package/lib/mcp-file-output/node_modules/@types/node/index.d.ts +93 -0
  97. package/lib/mcp-file-output/node_modules/@types/node/inspector.generated.d.ts +3966 -0
  98. package/lib/mcp-file-output/node_modules/@types/node/module.d.ts +539 -0
  99. package/lib/mcp-file-output/node_modules/@types/node/net.d.ts +1012 -0
  100. package/lib/mcp-file-output/node_modules/@types/node/os.d.ts +506 -0
  101. package/lib/mcp-file-output/node_modules/@types/node/package.json +140 -0
  102. package/lib/mcp-file-output/node_modules/@types/node/path.d.ts +200 -0
  103. package/lib/mcp-file-output/node_modules/@types/node/perf_hooks.d.ts +961 -0
  104. package/lib/mcp-file-output/node_modules/@types/node/process.d.ts +1957 -0
  105. package/lib/mcp-file-output/node_modules/@types/node/punycode.d.ts +117 -0
  106. package/lib/mcp-file-output/node_modules/@types/node/querystring.d.ts +152 -0
  107. package/lib/mcp-file-output/node_modules/@types/node/readline/promises.d.ts +162 -0
  108. package/lib/mcp-file-output/node_modules/@types/node/readline.d.ts +589 -0
  109. package/lib/mcp-file-output/node_modules/@types/node/repl.d.ts +430 -0
  110. package/lib/mcp-file-output/node_modules/@types/node/sea.d.ts +153 -0
  111. package/lib/mcp-file-output/node_modules/@types/node/stream/consumers.d.ts +38 -0
  112. package/lib/mcp-file-output/node_modules/@types/node/stream/promises.d.ts +90 -0
  113. package/lib/mcp-file-output/node_modules/@types/node/stream/web.d.ts +533 -0
  114. package/lib/mcp-file-output/node_modules/@types/node/stream.d.ts +1675 -0
  115. package/lib/mcp-file-output/node_modules/@types/node/string_decoder.d.ts +67 -0
  116. package/lib/mcp-file-output/node_modules/@types/node/test.d.ts +1787 -0
  117. package/lib/mcp-file-output/node_modules/@types/node/timers/promises.d.ts +108 -0
  118. package/lib/mcp-file-output/node_modules/@types/node/timers.d.ts +286 -0
  119. package/lib/mcp-file-output/node_modules/@types/node/tls.d.ts +1255 -0
  120. package/lib/mcp-file-output/node_modules/@types/node/trace_events.d.ts +197 -0
  121. package/lib/mcp-file-output/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  122. package/lib/mcp-file-output/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  123. package/lib/mcp-file-output/node_modules/@types/node/ts5.6/index.d.ts +93 -0
  124. package/lib/mcp-file-output/node_modules/@types/node/tty.d.ts +208 -0
  125. package/lib/mcp-file-output/node_modules/@types/node/url.d.ts +964 -0
  126. package/lib/mcp-file-output/node_modules/@types/node/util.d.ts +2331 -0
  127. package/lib/mcp-file-output/node_modules/@types/node/v8.d.ts +809 -0
  128. package/lib/mcp-file-output/node_modules/@types/node/vm.d.ts +1001 -0
  129. package/lib/mcp-file-output/node_modules/@types/node/wasi.d.ts +181 -0
  130. package/lib/mcp-file-output/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  131. package/lib/mcp-file-output/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  132. package/lib/mcp-file-output/node_modules/@types/node/web-globals/events.d.ts +97 -0
  133. package/lib/mcp-file-output/node_modules/@types/node/web-globals/fetch.d.ts +46 -0
  134. package/lib/mcp-file-output/node_modules/@types/node/worker_threads.d.ts +715 -0
  135. package/lib/mcp-file-output/node_modules/@types/node/zlib.d.ts +540 -0
  136. package/lib/mcp-file-output/package.json +19 -0
  137. package/lib/mcp-file-output/src/index.ts +309 -0
  138. package/lib/mcp-file-output/tsconfig.json +20 -0
  139. 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,3 @@
1
+ import { Backend } from '../types.js';
2
+ export declare const clickupBackend: Backend;
3
+ //# sourceMappingURL=clickup.d.ts.map
@@ -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"}