claudeup 1.8.0 → 3.3.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 (301) hide show
  1. package/bin/claudeup.js +20 -2
  2. package/package.json +10 -19
  3. package/src/data/cli-tools.js +123 -0
  4. package/src/data/cli-tools.ts +140 -0
  5. package/{dist → src}/data/marketplaces.js +23 -24
  6. package/src/data/marketplaces.ts +95 -0
  7. package/src/data/mcp-servers.js +509 -0
  8. package/src/data/mcp-servers.ts +526 -0
  9. package/src/data/statuslines.js +159 -0
  10. package/src/data/statuslines.ts +188 -0
  11. package/src/index.js +4 -0
  12. package/src/index.ts +5 -0
  13. package/{dist → src}/main.js +46 -47
  14. package/src/main.tsx +145 -0
  15. package/src/opentui.d.ts +191 -0
  16. package/{dist → src}/prerunner/index.js +31 -41
  17. package/src/prerunner/index.ts +124 -0
  18. package/{dist → src}/services/claude-runner.js +9 -10
  19. package/src/services/claude-runner.ts +31 -0
  20. package/{dist → src}/services/claude-settings.js +72 -33
  21. package/src/services/claude-settings.ts +934 -0
  22. package/src/services/local-marketplace.js +339 -0
  23. package/src/services/local-marketplace.ts +489 -0
  24. package/{dist → src}/services/mcp-registry.js +13 -14
  25. package/src/services/mcp-registry.ts +105 -0
  26. package/{dist → src}/services/plugin-manager.js +61 -13
  27. package/src/services/plugin-manager.ts +693 -0
  28. package/{dist → src}/services/plugin-mcp-config.js +19 -18
  29. package/src/services/plugin-mcp-config.ts +242 -0
  30. package/{dist → src}/services/update-cache.js +0 -1
  31. package/src/services/update-cache.ts +78 -0
  32. package/{dist → src}/services/version-check.js +15 -14
  33. package/src/services/version-check.ts +122 -0
  34. package/src/types/index.js +1 -0
  35. package/src/types/index.ts +141 -0
  36. package/src/ui/App.js +213 -0
  37. package/src/ui/App.tsx +359 -0
  38. package/src/ui/components/CategoryHeader.js +9 -0
  39. package/src/ui/components/CategoryHeader.tsx +41 -0
  40. package/{dist → src}/ui/components/ScrollableList.js +19 -6
  41. package/src/ui/components/ScrollableList.tsx +98 -0
  42. package/src/ui/components/SearchInput.js +19 -0
  43. package/src/ui/components/SearchInput.tsx +56 -0
  44. package/src/ui/components/StyledText.js +39 -0
  45. package/src/ui/components/StyledText.tsx +70 -0
  46. package/src/ui/components/TabBar.js +38 -0
  47. package/src/ui/components/TabBar.tsx +88 -0
  48. package/src/ui/components/layout/Panel.js +6 -0
  49. package/src/ui/components/layout/Panel.tsx +62 -0
  50. package/src/ui/components/layout/ProgressBar.js +14 -0
  51. package/src/ui/components/layout/ProgressBar.tsx +47 -0
  52. package/src/ui/components/layout/ScopeTabs.js +6 -0
  53. package/src/ui/components/layout/ScopeTabs.tsx +53 -0
  54. package/src/ui/components/layout/ScreenLayout.js +21 -0
  55. package/src/ui/components/layout/ScreenLayout.tsx +147 -0
  56. package/src/ui/components/layout/index.js +4 -0
  57. package/src/ui/components/layout/index.ts +4 -0
  58. package/src/ui/components/modals/ConfirmModal.js +14 -0
  59. package/src/ui/components/modals/ConfirmModal.tsx +59 -0
  60. package/src/ui/components/modals/InputModal.js +16 -0
  61. package/src/ui/components/modals/InputModal.tsx +68 -0
  62. package/src/ui/components/modals/LoadingModal.js +14 -0
  63. package/src/ui/components/modals/LoadingModal.tsx +40 -0
  64. package/src/ui/components/modals/MessageModal.js +16 -0
  65. package/src/ui/components/modals/MessageModal.tsx +64 -0
  66. package/src/ui/components/modals/ModalContainer.js +56 -0
  67. package/src/ui/components/modals/ModalContainer.tsx +104 -0
  68. package/src/ui/components/modals/SelectModal.js +26 -0
  69. package/src/ui/components/modals/SelectModal.tsx +82 -0
  70. package/src/ui/components/modals/index.js +6 -0
  71. package/src/ui/components/modals/index.ts +6 -0
  72. package/src/ui/hooks/index.js +3 -0
  73. package/src/ui/hooks/index.ts +3 -0
  74. package/{dist → src}/ui/hooks/useAsyncData.js +21 -22
  75. package/src/ui/hooks/useAsyncData.ts +127 -0
  76. package/src/ui/hooks/useKeyboard.js +13 -0
  77. package/src/ui/hooks/useKeyboard.ts +26 -0
  78. package/src/ui/hooks/useKeyboardHandler.js +39 -0
  79. package/src/ui/hooks/useKeyboardHandler.ts +63 -0
  80. package/{dist → src}/ui/screens/CliToolsScreen.js +60 -54
  81. package/src/ui/screens/CliToolsScreen.tsx +468 -0
  82. package/src/ui/screens/EnvVarsScreen.js +154 -0
  83. package/src/ui/screens/EnvVarsScreen.tsx +269 -0
  84. package/{dist → src}/ui/screens/McpRegistryScreen.js +56 -55
  85. package/src/ui/screens/McpRegistryScreen.tsx +331 -0
  86. package/{dist → src}/ui/screens/McpScreen.js +46 -47
  87. package/src/ui/screens/McpScreen.tsx +392 -0
  88. package/src/ui/screens/ModelSelectorScreen.js +292 -0
  89. package/src/ui/screens/ModelSelectorScreen.tsx +441 -0
  90. package/{dist → src}/ui/screens/PluginsScreen.js +305 -293
  91. package/src/ui/screens/PluginsScreen.tsx +1231 -0
  92. package/src/ui/screens/StatusLineScreen.js +200 -0
  93. package/src/ui/screens/StatusLineScreen.tsx +411 -0
  94. package/src/ui/screens/index.js +7 -0
  95. package/src/ui/screens/index.ts +7 -0
  96. package/src/ui/state/AnimationContext.js +34 -0
  97. package/src/ui/state/AnimationContext.tsx +76 -0
  98. package/{dist → src}/ui/state/AppContext.js +31 -32
  99. package/src/ui/state/AppContext.tsx +235 -0
  100. package/{dist → src}/ui/state/DimensionsContext.js +16 -17
  101. package/src/ui/state/DimensionsContext.tsx +144 -0
  102. package/{dist → src}/ui/state/reducer.js +89 -90
  103. package/src/ui/state/reducer.ts +467 -0
  104. package/src/ui/state/types.js +1 -0
  105. package/src/ui/state/types.ts +273 -0
  106. package/{dist → src}/utils/command-utils.js +3 -4
  107. package/src/utils/command-utils.ts +20 -0
  108. package/{dist → src}/utils/fuzzy-search.js +2 -3
  109. package/src/utils/fuzzy-search.ts +138 -0
  110. package/{dist → src}/utils/string-utils.js +6 -6
  111. package/src/utils/string-utils.ts +88 -0
  112. package/dist/data/cli-tools.d.ts +0 -13
  113. package/dist/data/cli-tools.d.ts.map +0 -1
  114. package/dist/data/cli-tools.js +0 -124
  115. package/dist/data/cli-tools.js.map +0 -1
  116. package/dist/data/marketplaces.d.ts +0 -6
  117. package/dist/data/marketplaces.d.ts.map +0 -1
  118. package/dist/data/marketplaces.js.map +0 -1
  119. package/dist/data/mcp-servers.d.ts +0 -8
  120. package/dist/data/mcp-servers.d.ts.map +0 -1
  121. package/dist/data/mcp-servers.js +0 -503
  122. package/dist/data/mcp-servers.js.map +0 -1
  123. package/dist/data/statuslines.d.ts +0 -10
  124. package/dist/data/statuslines.d.ts.map +0 -1
  125. package/dist/data/statuslines.js +0 -160
  126. package/dist/data/statuslines.js.map +0 -1
  127. package/dist/index.d.ts +0 -3
  128. package/dist/index.d.ts.map +0 -1
  129. package/dist/index.js +0 -90
  130. package/dist/index.js.map +0 -1
  131. package/dist/main.d.ts +0 -3
  132. package/dist/main.d.ts.map +0 -1
  133. package/dist/main.js.map +0 -1
  134. package/dist/prerunner/index.d.ts +0 -7
  135. package/dist/prerunner/index.d.ts.map +0 -1
  136. package/dist/prerunner/index.js.map +0 -1
  137. package/dist/services/claude-runner.d.ts +0 -7
  138. package/dist/services/claude-runner.d.ts.map +0 -1
  139. package/dist/services/claude-runner.js.map +0 -1
  140. package/dist/services/claude-settings.d.ts +0 -73
  141. package/dist/services/claude-settings.d.ts.map +0 -1
  142. package/dist/services/claude-settings.js.map +0 -1
  143. package/dist/services/local-marketplace.d.ts +0 -111
  144. package/dist/services/local-marketplace.d.ts.map +0 -1
  145. package/dist/services/local-marketplace.js +0 -599
  146. package/dist/services/local-marketplace.js.map +0 -1
  147. package/dist/services/mcp-registry.d.ts +0 -10
  148. package/dist/services/mcp-registry.d.ts.map +0 -1
  149. package/dist/services/mcp-registry.js.map +0 -1
  150. package/dist/services/plugin-manager.d.ts +0 -65
  151. package/dist/services/plugin-manager.d.ts.map +0 -1
  152. package/dist/services/plugin-manager.js.map +0 -1
  153. package/dist/services/plugin-mcp-config.d.ts +0 -52
  154. package/dist/services/plugin-mcp-config.d.ts.map +0 -1
  155. package/dist/services/plugin-mcp-config.js.map +0 -1
  156. package/dist/services/update-cache.d.ts +0 -21
  157. package/dist/services/update-cache.d.ts.map +0 -1
  158. package/dist/services/update-cache.js.map +0 -1
  159. package/dist/services/version-check.d.ts +0 -20
  160. package/dist/services/version-check.d.ts.map +0 -1
  161. package/dist/services/version-check.js.map +0 -1
  162. package/dist/types/index.d.ts +0 -105
  163. package/dist/types/index.d.ts.map +0 -1
  164. package/dist/types/index.js +0 -2
  165. package/dist/types/index.js.map +0 -1
  166. package/dist/ui/InkApp.d.ts +0 -5
  167. package/dist/ui/InkApp.d.ts.map +0 -1
  168. package/dist/ui/InkApp.js +0 -188
  169. package/dist/ui/InkApp.js.map +0 -1
  170. package/dist/ui/components/CategoryHeader.d.ts +0 -16
  171. package/dist/ui/components/CategoryHeader.d.ts.map +0 -1
  172. package/dist/ui/components/CategoryHeader.js +0 -11
  173. package/dist/ui/components/CategoryHeader.js.map +0 -1
  174. package/dist/ui/components/ScrollableList.d.ts +0 -16
  175. package/dist/ui/components/ScrollableList.d.ts.map +0 -1
  176. package/dist/ui/components/ScrollableList.js.map +0 -1
  177. package/dist/ui/components/SearchInput.d.ts +0 -18
  178. package/dist/ui/components/SearchInput.d.ts.map +0 -1
  179. package/dist/ui/components/SearchInput.js +0 -30
  180. package/dist/ui/components/SearchInput.js.map +0 -1
  181. package/dist/ui/components/TabBar.d.ts +0 -8
  182. package/dist/ui/components/TabBar.d.ts.map +0 -1
  183. package/dist/ui/components/TabBar.js +0 -18
  184. package/dist/ui/components/TabBar.js.map +0 -1
  185. package/dist/ui/components/layout/Footer.d.ts +0 -14
  186. package/dist/ui/components/layout/Footer.d.ts.map +0 -1
  187. package/dist/ui/components/layout/Footer.js +0 -23
  188. package/dist/ui/components/layout/Footer.js.map +0 -1
  189. package/dist/ui/components/layout/Header.d.ts +0 -4
  190. package/dist/ui/components/layout/Header.d.ts.map +0 -1
  191. package/dist/ui/components/layout/Header.js +0 -25
  192. package/dist/ui/components/layout/Header.js.map +0 -1
  193. package/dist/ui/components/layout/Panel.d.ts +0 -22
  194. package/dist/ui/components/layout/Panel.d.ts.map +0 -1
  195. package/dist/ui/components/layout/Panel.js +0 -8
  196. package/dist/ui/components/layout/Panel.js.map +0 -1
  197. package/dist/ui/components/layout/ProgressBar.d.ts +0 -12
  198. package/dist/ui/components/layout/ProgressBar.d.ts.map +0 -1
  199. package/dist/ui/components/layout/ProgressBar.js +0 -16
  200. package/dist/ui/components/layout/ProgressBar.js.map +0 -1
  201. package/dist/ui/components/layout/ScopeTabs.d.ts +0 -12
  202. package/dist/ui/components/layout/ScopeTabs.d.ts.map +0 -1
  203. package/dist/ui/components/layout/ScopeTabs.js +0 -8
  204. package/dist/ui/components/layout/ScopeTabs.js.map +0 -1
  205. package/dist/ui/components/layout/ScreenLayout.d.ts +0 -30
  206. package/dist/ui/components/layout/ScreenLayout.d.ts.map +0 -1
  207. package/dist/ui/components/layout/ScreenLayout.js +0 -23
  208. package/dist/ui/components/layout/ScreenLayout.js.map +0 -1
  209. package/dist/ui/components/layout/index.d.ts +0 -7
  210. package/dist/ui/components/layout/index.d.ts.map +0 -1
  211. package/dist/ui/components/layout/index.js +0 -7
  212. package/dist/ui/components/layout/index.js.map +0 -1
  213. package/dist/ui/components/modals/ConfirmModal.d.ts +0 -14
  214. package/dist/ui/components/modals/ConfirmModal.d.ts.map +0 -1
  215. package/dist/ui/components/modals/ConfirmModal.js +0 -15
  216. package/dist/ui/components/modals/ConfirmModal.js.map +0 -1
  217. package/dist/ui/components/modals/InputModal.d.ts +0 -16
  218. package/dist/ui/components/modals/InputModal.d.ts.map +0 -1
  219. package/dist/ui/components/modals/InputModal.js +0 -23
  220. package/dist/ui/components/modals/InputModal.js.map +0 -1
  221. package/dist/ui/components/modals/LoadingModal.d.ts +0 -8
  222. package/dist/ui/components/modals/LoadingModal.d.ts.map +0 -1
  223. package/dist/ui/components/modals/LoadingModal.js +0 -8
  224. package/dist/ui/components/modals/LoadingModal.js.map +0 -1
  225. package/dist/ui/components/modals/MessageModal.d.ts +0 -14
  226. package/dist/ui/components/modals/MessageModal.d.ts.map +0 -1
  227. package/dist/ui/components/modals/MessageModal.js +0 -17
  228. package/dist/ui/components/modals/MessageModal.js.map +0 -1
  229. package/dist/ui/components/modals/ModalContainer.d.ts +0 -7
  230. package/dist/ui/components/modals/ModalContainer.d.ts.map +0 -1
  231. package/dist/ui/components/modals/ModalContainer.js +0 -38
  232. package/dist/ui/components/modals/ModalContainer.js.map +0 -1
  233. package/dist/ui/components/modals/SelectModal.d.ts +0 -17
  234. package/dist/ui/components/modals/SelectModal.d.ts.map +0 -1
  235. package/dist/ui/components/modals/SelectModal.js +0 -33
  236. package/dist/ui/components/modals/SelectModal.js.map +0 -1
  237. package/dist/ui/components/modals/index.d.ts +0 -7
  238. package/dist/ui/components/modals/index.d.ts.map +0 -1
  239. package/dist/ui/components/modals/index.js +0 -7
  240. package/dist/ui/components/modals/index.js.map +0 -1
  241. package/dist/ui/hooks/index.d.ts +0 -3
  242. package/dist/ui/hooks/index.d.ts.map +0 -1
  243. package/dist/ui/hooks/index.js +0 -3
  244. package/dist/ui/hooks/index.js.map +0 -1
  245. package/dist/ui/hooks/useAsyncData.d.ts +0 -40
  246. package/dist/ui/hooks/useAsyncData.d.ts.map +0 -1
  247. package/dist/ui/hooks/useAsyncData.js.map +0 -1
  248. package/dist/ui/hooks/useKeyboardNavigation.d.ts +0 -27
  249. package/dist/ui/hooks/useKeyboardNavigation.d.ts.map +0 -1
  250. package/dist/ui/hooks/useKeyboardNavigation.js +0 -82
  251. package/dist/ui/hooks/useKeyboardNavigation.js.map +0 -1
  252. package/dist/ui/screens/CliToolsScreen.d.ts +0 -4
  253. package/dist/ui/screens/CliToolsScreen.d.ts.map +0 -1
  254. package/dist/ui/screens/CliToolsScreen.js.map +0 -1
  255. package/dist/ui/screens/EnvVarsScreen.d.ts +0 -4
  256. package/dist/ui/screens/EnvVarsScreen.d.ts.map +0 -1
  257. package/dist/ui/screens/EnvVarsScreen.js +0 -145
  258. package/dist/ui/screens/EnvVarsScreen.js.map +0 -1
  259. package/dist/ui/screens/McpRegistryScreen.d.ts +0 -4
  260. package/dist/ui/screens/McpRegistryScreen.d.ts.map +0 -1
  261. package/dist/ui/screens/McpRegistryScreen.js.map +0 -1
  262. package/dist/ui/screens/McpScreen.d.ts +0 -4
  263. package/dist/ui/screens/McpScreen.d.ts.map +0 -1
  264. package/dist/ui/screens/McpScreen.js.map +0 -1
  265. package/dist/ui/screens/ModelSelectorScreen.d.ts +0 -4
  266. package/dist/ui/screens/ModelSelectorScreen.d.ts.map +0 -1
  267. package/dist/ui/screens/ModelSelectorScreen.js +0 -143
  268. package/dist/ui/screens/ModelSelectorScreen.js.map +0 -1
  269. package/dist/ui/screens/PluginsScreen.d.ts +0 -4
  270. package/dist/ui/screens/PluginsScreen.d.ts.map +0 -1
  271. package/dist/ui/screens/PluginsScreen.js.map +0 -1
  272. package/dist/ui/screens/StatusLineScreen.d.ts +0 -4
  273. package/dist/ui/screens/StatusLineScreen.d.ts.map +0 -1
  274. package/dist/ui/screens/StatusLineScreen.js +0 -197
  275. package/dist/ui/screens/StatusLineScreen.js.map +0 -1
  276. package/dist/ui/screens/index.d.ts +0 -8
  277. package/dist/ui/screens/index.d.ts.map +0 -1
  278. package/dist/ui/screens/index.js +0 -8
  279. package/dist/ui/screens/index.js.map +0 -1
  280. package/dist/ui/state/AppContext.d.ts +0 -40
  281. package/dist/ui/state/AppContext.d.ts.map +0 -1
  282. package/dist/ui/state/AppContext.js.map +0 -1
  283. package/dist/ui/state/DimensionsContext.d.ts +0 -27
  284. package/dist/ui/state/DimensionsContext.d.ts.map +0 -1
  285. package/dist/ui/state/DimensionsContext.js.map +0 -1
  286. package/dist/ui/state/reducer.d.ts +0 -4
  287. package/dist/ui/state/reducer.d.ts.map +0 -1
  288. package/dist/ui/state/reducer.js.map +0 -1
  289. package/dist/ui/state/types.d.ts +0 -266
  290. package/dist/ui/state/types.d.ts.map +0 -1
  291. package/dist/ui/state/types.js +0 -2
  292. package/dist/ui/state/types.js.map +0 -1
  293. package/dist/utils/command-utils.d.ts +0 -8
  294. package/dist/utils/command-utils.d.ts.map +0 -1
  295. package/dist/utils/command-utils.js.map +0 -1
  296. package/dist/utils/fuzzy-search.d.ts +0 -33
  297. package/dist/utils/fuzzy-search.d.ts.map +0 -1
  298. package/dist/utils/fuzzy-search.js.map +0 -1
  299. package/dist/utils/string-utils.d.ts +0 -24
  300. package/dist/utils/string-utils.d.ts.map +0 -1
  301. package/dist/utils/string-utils.js.map +0 -1
@@ -1,124 +0,0 @@
1
- export const cliTools = [
2
- {
3
- name: 'claudeup',
4
- displayName: 'claudeup',
5
- description: 'TUI tool for managing Claude Code plugins, MCPs, and configuration',
6
- installCommand: 'npm install -g claudeup',
7
- checkCommand: 'claudeup --version',
8
- website: 'https://github.com/MadAppGang/claude-code/tree/main/tools/claudeup',
9
- category: 'ai-coding',
10
- packageManager: 'npm',
11
- packageName: 'claudeup',
12
- },
13
- {
14
- name: 'claudemem',
15
- displayName: 'Claudemem',
16
- description: 'Local semantic code search for Claude Code with vector embeddings',
17
- installCommand: 'npm install -g claude-codemem',
18
- checkCommand: 'claudemem --version',
19
- website: 'https://github.com/MadAppGang/claudemem',
20
- category: 'ai-coding',
21
- packageManager: 'npm',
22
- packageName: 'claude-codemem',
23
- },
24
- {
25
- name: 'claudish',
26
- displayName: 'Claudish',
27
- description: 'Run Claude Code with OpenRouter models (Grok, GPT-5, Gemini)',
28
- installCommand: 'npm install -g claudish',
29
- checkCommand: 'claudish --version',
30
- website: 'https://github.com/MadAppGang/claudish',
31
- category: 'ai-coding',
32
- packageManager: 'npm',
33
- packageName: 'claudish',
34
- },
35
- {
36
- name: 'claude',
37
- displayName: 'Claude Code',
38
- description: 'Anthropic official agentic coding tool',
39
- installCommand: 'npm install -g @anthropic-ai/claude-code',
40
- checkCommand: 'claude --version',
41
- website: 'https://claude.ai/code',
42
- category: 'ai-coding',
43
- packageManager: 'npm',
44
- packageName: '@anthropic-ai/claude-code',
45
- },
46
- {
47
- name: 'codex',
48
- displayName: 'OpenAI Codex',
49
- description: 'Lightweight coding agent from OpenAI that runs in your terminal',
50
- installCommand: 'npm install -g @openai/codex',
51
- checkCommand: 'codex --version',
52
- website: 'https://github.com/openai/codex',
53
- category: 'ai-coding',
54
- packageManager: 'npm',
55
- packageName: '@openai/codex',
56
- },
57
- {
58
- name: 'gemini',
59
- displayName: 'Gemini CLI',
60
- description: 'Google AI agent with 1M token context, free tier available',
61
- installCommand: 'npm install -g @google/gemini-cli',
62
- checkCommand: 'gemini --version',
63
- website: 'https://github.com/google-gemini/gemini-cli',
64
- category: 'ai-coding',
65
- packageManager: 'npm',
66
- packageName: '@google/gemini-cli',
67
- },
68
- {
69
- name: 'qwen',
70
- displayName: 'Qwen Code',
71
- description: 'Alibaba coding agent optimized for Qwen3-Coder models',
72
- installCommand: 'npm install -g @qwen-code/qwen-code',
73
- checkCommand: 'qwen --version',
74
- website: 'https://github.com/QwenLM/qwen-code',
75
- category: 'ai-coding',
76
- packageManager: 'npm',
77
- packageName: '@qwen-code/qwen-code',
78
- },
79
- {
80
- name: 'cline',
81
- displayName: 'Cline',
82
- description: 'Autonomous coding agent with plan & act, checkpoints, browser use',
83
- installCommand: 'npm install -g cline',
84
- checkCommand: 'cline --version',
85
- website: 'https://cline.bot',
86
- category: 'ai-coding',
87
- packageManager: 'npm',
88
- packageName: 'cline',
89
- },
90
- {
91
- name: 'opencode',
92
- displayName: 'OpenCode',
93
- description: 'Open source AI coding agent trusted by 400k+ developers',
94
- installCommand: 'npm install -g opencode-ai',
95
- checkCommand: 'opencode --version',
96
- website: 'https://opencode.ai',
97
- category: 'ai-coding',
98
- packageManager: 'npm',
99
- packageName: 'opencode-ai',
100
- },
101
- {
102
- name: 'aider',
103
- displayName: 'Aider',
104
- description: 'AI pair programming - works with Claude, GPT-4, local models',
105
- installCommand: 'pip install aider-install && aider-install',
106
- checkCommand: 'aider --version',
107
- website: 'https://aider.chat',
108
- category: 'ai-coding',
109
- packageManager: 'pip',
110
- packageName: 'aider-chat',
111
- },
112
- {
113
- name: 'crush',
114
- displayName: 'Crush',
115
- description: 'AI coding assistant from Charm with terminal-native UX',
116
- installCommand: 'npm install -g @charmland/crush',
117
- checkCommand: 'crush --version',
118
- website: 'https://github.com/charmbracelet/crush',
119
- category: 'ai-coding',
120
- packageManager: 'npm',
121
- packageName: '@charmland/crush',
122
- },
123
- ];
124
- //# sourceMappingURL=cli-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-tools.js","sourceRoot":"","sources":["../../src/data/cli-tools.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { Marketplace } from '../types/index.js';
2
- import type { LocalMarketplace } from '../services/local-marketplace.js';
3
- export declare const defaultMarketplaces: Marketplace[];
4
- export declare function getMarketplaceByName(name: string): Marketplace | undefined;
5
- export declare function getAllMarketplaces(localMarketplaces?: Map<string, LocalMarketplace>): Marketplace[];
6
- //# sourceMappingURL=marketplaces.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"marketplaces.d.ts","sourceRoot":"","sources":["../../src/data/marketplaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAgC5C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE1E;AAKD,wBAAgB,kBAAkB,CAChC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAChD,WAAW,EAAE,CA2Cf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"marketplaces.js","sourceRoot":"","sources":["../../src/data/marketplaces.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB;SAC/B;QACD,WAAW,EAAE,+DAA+D;QAC5E,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI,EAAE,4CAA4C;KAC7D;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,oCAAoC;SAC3C;QACD,WAAW,EAAE,0EAA0E;QACvF,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB;SAC/B;QACD,WAAW,EAAE,wEAAwE;QACrF,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,uEAAuE;AACvE,gEAAgE;AAChE,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,iBAAiD;IAEjD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,uDAAuD;IACvD,IAAI,iBAAiB,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;YACjC,IAAI,IAAI;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAE5C,uEAAuE;YACvE,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAEnE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;gBACZ,IAAI;gBACJ,WAAW,EAAE,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,CAAC;gBACtD,MAAM,EAAE,EAAE,MAAM,EAAE,QAAiB,EAAE,IAAI,EAAE;gBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;gBACpC,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC3E,QAAQ,EAAE,SAAS,EAAE,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrB,IAAI,IAAI;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5C,0BAA0B;QAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,CAAC,CAAC;QAChC,sCAAsC;QACtC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { McpServer } from '../types/index.js';
2
- export declare const curatedMcpServers: McpServer[];
3
- export declare function getMcpServersByCategory(): Record<string, McpServer[]>;
4
- export declare const categoryOrder: string[];
5
- export declare function getCategoryDisplayName(category: string): string;
6
- export declare function getCategoryIcon(category: string): string;
7
- export declare function getAllMcpServers(): McpServer[];
8
- //# sourceMappingURL=mcp-servers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/data/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,SAAS,EA2cxC,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CASrE;AAED,eAAO,MAAM,aAAa,UASzB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY/D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYxD;AAED,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C"}
@@ -1,503 +0,0 @@
1
- export const curatedMcpServers = [
2
- // ═══════════════════════════════════════════════════════════════
3
- // BROWSER & AUTOMATION
4
- // ═══════════════════════════════════════════════════════════════
5
- {
6
- name: 'chrome-devtools',
7
- description: 'Control Chrome browser, inspect DOM, debug JavaScript, capture screenshots',
8
- command: 'npx',
9
- args: ['-y', 'chrome-devtools-mcp@latest'],
10
- category: 'browser',
11
- requiresConfig: false,
12
- },
13
- {
14
- name: 'puppeteer',
15
- description: 'Headless browser automation for testing and scraping',
16
- command: 'npx',
17
- args: ['-y', '@anthropic/mcp-server-puppeteer'],
18
- category: 'browser',
19
- requiresConfig: false,
20
- },
21
- // ═══════════════════════════════════════════════════════════════
22
- // AI & SEARCH
23
- // ═══════════════════════════════════════════════════════════════
24
- {
25
- name: 'claude-context',
26
- description: 'Semantic code search with vector embeddings (Zilliz/Milvus)',
27
- command: 'npx',
28
- args: ['-y', '@zilliz/claude-context-mcp@latest'],
29
- env: {
30
- OPENAI_API_KEY: '${OPENAI_API_KEY}',
31
- MILVUS_ADDRESS: '${MILVUS_ADDRESS}',
32
- MILVUS_TOKEN: '${MILVUS_TOKEN}',
33
- },
34
- category: 'ai',
35
- requiresConfig: true,
36
- configFields: [
37
- {
38
- name: 'OPENAI_API_KEY',
39
- label: 'OpenAI API Key (for embeddings)',
40
- type: 'string',
41
- required: true,
42
- envVar: 'OPENAI_API_KEY',
43
- },
44
- {
45
- name: 'MILVUS_ADDRESS',
46
- label: 'Zilliz Cloud Public Endpoint',
47
- type: 'url',
48
- required: true,
49
- envVar: 'MILVUS_ADDRESS',
50
- },
51
- {
52
- name: 'MILVUS_TOKEN',
53
- label: 'Zilliz Cloud API Key',
54
- type: 'string',
55
- required: true,
56
- envVar: 'MILVUS_TOKEN',
57
- },
58
- ],
59
- },
60
- {
61
- name: 'exa',
62
- description: 'AI-powered web search with neural search capabilities',
63
- type: 'http',
64
- url: 'https://mcp.exa.ai/mcp',
65
- category: 'ai',
66
- requiresConfig: false,
67
- },
68
- {
69
- name: 'sequential-thinking',
70
- description: 'Enhanced reasoning with step-by-step thinking',
71
- command: 'npx',
72
- args: ['-y', '@anthropic/mcp-server-sequential-thinking'],
73
- category: 'ai',
74
- requiresConfig: false,
75
- },
76
- // ═══════════════════════════════════════════════════════════════
77
- // DESIGN & CREATIVE
78
- // ═══════════════════════════════════════════════════════════════
79
- {
80
- name: 'figma',
81
- description: 'Access Figma designs, components, and design tokens',
82
- type: 'http',
83
- url: 'https://mcp.figma.com/mcp',
84
- category: 'design',
85
- requiresConfig: false,
86
- },
87
- // ═══════════════════════════════════════════════════════════════
88
- // CLOUD & INFRASTRUCTURE (AWS)
89
- // ═══════════════════════════════════════════════════════════════
90
- {
91
- name: 'aws-kb-retrieval',
92
- description: 'AWS Bedrock Knowledge Base retrieval and RAG',
93
- command: 'uvx',
94
- args: ['awslabs.aws-kb-retrieval-mcp-server@latest'],
95
- env: {
96
- AWS_PROFILE: '${AWS_PROFILE}',
97
- AWS_REGION: '${AWS_REGION}',
98
- },
99
- category: 'cloud',
100
- requiresConfig: true,
101
- configFields: [
102
- {
103
- name: 'AWS_PROFILE',
104
- label: 'AWS Profile Name',
105
- type: 'string',
106
- required: false,
107
- default: 'default',
108
- envVar: 'AWS_PROFILE',
109
- },
110
- {
111
- name: 'AWS_REGION',
112
- label: 'AWS Region',
113
- type: 'string',
114
- required: true,
115
- default: 'us-east-1',
116
- envVar: 'AWS_REGION',
117
- },
118
- ],
119
- },
120
- {
121
- name: 'aws-cdk',
122
- description: 'AWS CDK infrastructure as code assistance',
123
- command: 'uvx',
124
- args: ['awslabs.cdk-mcp-server@latest'],
125
- env: {
126
- AWS_PROFILE: '${AWS_PROFILE}',
127
- AWS_REGION: '${AWS_REGION}',
128
- },
129
- category: 'cloud',
130
- requiresConfig: true,
131
- configFields: [
132
- {
133
- name: 'AWS_PROFILE',
134
- label: 'AWS Profile Name',
135
- type: 'string',
136
- required: false,
137
- default: 'default',
138
- envVar: 'AWS_PROFILE',
139
- },
140
- {
141
- name: 'AWS_REGION',
142
- label: 'AWS Region',
143
- type: 'string',
144
- required: true,
145
- default: 'us-east-1',
146
- envVar: 'AWS_REGION',
147
- },
148
- ],
149
- },
150
- {
151
- name: 'aws-cloudwatch-logs',
152
- description: 'Query and analyze AWS CloudWatch Logs',
153
- command: 'uvx',
154
- args: ['awslabs.cloudwatch-logs-mcp-server@latest'],
155
- env: {
156
- AWS_PROFILE: '${AWS_PROFILE}',
157
- AWS_REGION: '${AWS_REGION}',
158
- },
159
- category: 'cloud',
160
- requiresConfig: true,
161
- configFields: [
162
- {
163
- name: 'AWS_PROFILE',
164
- label: 'AWS Profile Name',
165
- type: 'string',
166
- required: false,
167
- default: 'default',
168
- envVar: 'AWS_PROFILE',
169
- },
170
- {
171
- name: 'AWS_REGION',
172
- label: 'AWS Region',
173
- type: 'string',
174
- required: true,
175
- default: 'us-east-1',
176
- envVar: 'AWS_REGION',
177
- },
178
- ],
179
- },
180
- {
181
- name: 'aws-cost-analysis',
182
- description: 'AWS cost analysis and optimization recommendations',
183
- command: 'uvx',
184
- args: ['awslabs.cost-analysis-mcp-server@latest'],
185
- env: {
186
- AWS_PROFILE: '${AWS_PROFILE}',
187
- AWS_REGION: '${AWS_REGION}',
188
- },
189
- category: 'cloud',
190
- requiresConfig: true,
191
- configFields: [
192
- {
193
- name: 'AWS_PROFILE',
194
- label: 'AWS Profile Name',
195
- type: 'string',
196
- required: false,
197
- default: 'default',
198
- envVar: 'AWS_PROFILE',
199
- },
200
- {
201
- name: 'AWS_REGION',
202
- label: 'AWS Region',
203
- type: 'string',
204
- required: true,
205
- default: 'us-east-1',
206
- envVar: 'AWS_REGION',
207
- },
208
- ],
209
- },
210
- // ═══════════════════════════════════════════════════════════════
211
- // DATABASE
212
- // ═══════════════════════════════════════════════════════════════
213
- {
214
- name: 'postgres',
215
- description: 'Query PostgreSQL databases with read-only access',
216
- command: 'npx',
217
- args: ['-y', '@anthropic/mcp-server-postgres'],
218
- env: {
219
- DATABASE_URL: '${DATABASE_URL}',
220
- },
221
- category: 'database',
222
- requiresConfig: true,
223
- configFields: [
224
- {
225
- name: 'DATABASE_URL',
226
- label: 'PostgreSQL Connection URL',
227
- type: 'url',
228
- required: true,
229
- envVar: 'DATABASE_URL',
230
- },
231
- ],
232
- },
233
- {
234
- name: 'sqlite',
235
- description: 'Query SQLite databases locally',
236
- command: 'npx',
237
- args: ['-y', '@anthropic/mcp-server-sqlite', '${DATABASE_PATH}'],
238
- category: 'database',
239
- requiresConfig: true,
240
- configFields: [
241
- {
242
- name: 'DATABASE_PATH',
243
- label: 'SQLite Database File Path',
244
- type: 'path',
245
- required: true,
246
- },
247
- ],
248
- },
249
- // ═══════════════════════════════════════════════════════════════
250
- // DEVELOPER TOOLS
251
- // ═══════════════════════════════════════════════════════════════
252
- {
253
- name: 'github',
254
- description: 'Manage GitHub repos, issues, PRs, and actions',
255
- command: 'npx',
256
- args: ['-y', '@anthropic/mcp-server-github'],
257
- env: {
258
- GITHUB_TOKEN: '${GITHUB_TOKEN}',
259
- },
260
- category: 'dev-tools',
261
- requiresConfig: true,
262
- configFields: [
263
- {
264
- name: 'GITHUB_TOKEN',
265
- label: 'GitHub Personal Access Token',
266
- type: 'string',
267
- required: true,
268
- envVar: 'GITHUB_TOKEN',
269
- },
270
- ],
271
- },
272
- {
273
- name: 'gitlab',
274
- description: 'Manage GitLab repos, merge requests, and pipelines',
275
- command: 'npx',
276
- args: ['-y', '@anthropic/mcp-server-gitlab'],
277
- env: {
278
- GITLAB_TOKEN: '${GITLAB_TOKEN}',
279
- GITLAB_URL: '${GITLAB_URL}',
280
- },
281
- category: 'dev-tools',
282
- requiresConfig: true,
283
- configFields: [
284
- {
285
- name: 'GITLAB_TOKEN',
286
- label: 'GitLab Personal Access Token',
287
- type: 'string',
288
- required: true,
289
- envVar: 'GITLAB_TOKEN',
290
- },
291
- {
292
- name: 'GITLAB_URL',
293
- label: 'GitLab URL (self-hosted)',
294
- type: 'url',
295
- required: false,
296
- default: 'https://gitlab.com',
297
- envVar: 'GITLAB_URL',
298
- },
299
- ],
300
- },
301
- {
302
- name: 'filesystem',
303
- description: 'Read, write, and search files in allowed directories',
304
- command: 'npx',
305
- args: ['-y', '@anthropic/mcp-server-filesystem', '${ALLOWED_PATH}'],
306
- category: 'dev-tools',
307
- requiresConfig: true,
308
- configFields: [
309
- {
310
- name: 'ALLOWED_PATH',
311
- label: 'Allowed Directory Path',
312
- type: 'path',
313
- required: true,
314
- default: '.',
315
- },
316
- ],
317
- },
318
- // ═══════════════════════════════════════════════════════════════
319
- // PRODUCTIVITY
320
- // ═══════════════════════════════════════════════════════════════
321
- {
322
- name: 'slack',
323
- description: 'Send messages and interact with Slack channels',
324
- command: 'npx',
325
- args: ['-y', '@anthropic/mcp-server-slack'],
326
- env: {
327
- SLACK_BOT_TOKEN: '${SLACK_BOT_TOKEN}',
328
- },
329
- category: 'productivity',
330
- requiresConfig: true,
331
- configFields: [
332
- {
333
- name: 'SLACK_BOT_TOKEN',
334
- label: 'Slack Bot Token (xoxb-...)',
335
- type: 'string',
336
- required: true,
337
- envVar: 'SLACK_BOT_TOKEN',
338
- },
339
- ],
340
- },
341
- {
342
- name: 'google-drive',
343
- description: 'Access and search Google Drive files',
344
- command: 'npx',
345
- args: ['-y', '@anthropic/mcp-server-google-drive'],
346
- category: 'productivity',
347
- requiresConfig: true,
348
- configFields: [
349
- {
350
- name: 'GOOGLE_CREDENTIALS',
351
- label: 'Google OAuth Credentials JSON Path',
352
- type: 'path',
353
- required: true,
354
- envVar: 'GOOGLE_APPLICATION_CREDENTIALS',
355
- },
356
- ],
357
- },
358
- {
359
- name: 'memory',
360
- description: 'Persistent memory storage across conversations',
361
- command: 'npx',
362
- args: ['-y', '@anthropic/mcp-server-memory'],
363
- category: 'productivity',
364
- requiresConfig: false,
365
- },
366
- {
367
- name: 'fetch',
368
- description: 'Make HTTP requests to external APIs',
369
- command: 'npx',
370
- args: ['-y', '@anthropic/mcp-server-fetch'],
371
- category: 'productivity',
372
- requiresConfig: false,
373
- },
374
- // ═══════════════════════════════════════════════════════════════
375
- // SEO & ANALYTICS
376
- // ═══════════════════════════════════════════════════════════════
377
- {
378
- name: 'google-analytics',
379
- description: 'Google Analytics 4 data - page views, engagement, conversions',
380
- command: 'npx',
381
- args: ['-y', 'mcp-server-google-analytics'],
382
- env: {
383
- GOOGLE_APPLICATION_CREDENTIALS: '${GOOGLE_APPLICATION_CREDENTIALS}',
384
- GA_PROPERTY_ID: '${GA_PROPERTY_ID}',
385
- },
386
- category: 'seo',
387
- requiresConfig: true,
388
- configFields: [
389
- {
390
- name: 'GOOGLE_APPLICATION_CREDENTIALS',
391
- label: 'Service Account JSON Path',
392
- type: 'path',
393
- required: true,
394
- envVar: 'GOOGLE_APPLICATION_CREDENTIALS',
395
- },
396
- {
397
- name: 'GA_PROPERTY_ID',
398
- label: 'GA4 Property ID (properties/123456789)',
399
- type: 'string',
400
- required: true,
401
- envVar: 'GA_PROPERTY_ID',
402
- },
403
- ],
404
- },
405
- {
406
- name: 'google-search-console',
407
- description: 'Search Console - impressions, clicks, CTR, Core Web Vitals',
408
- command: 'npx',
409
- args: ['-y', 'mcp-server-gsc'],
410
- env: {
411
- GOOGLE_APPLICATION_CREDENTIALS: '${GOOGLE_APPLICATION_CREDENTIALS}',
412
- GSC_SITE_URL: '${GSC_SITE_URL}',
413
- },
414
- category: 'seo',
415
- requiresConfig: true,
416
- configFields: [
417
- {
418
- name: 'GOOGLE_APPLICATION_CREDENTIALS',
419
- label: 'Service Account JSON Path',
420
- type: 'path',
421
- required: true,
422
- envVar: 'GOOGLE_APPLICATION_CREDENTIALS',
423
- },
424
- {
425
- name: 'GSC_SITE_URL',
426
- label: 'Site URL (https://example.com)',
427
- type: 'url',
428
- required: true,
429
- envVar: 'GSC_SITE_URL',
430
- },
431
- ],
432
- },
433
- {
434
- name: 'se-ranking',
435
- description: 'SE Ranking - keyword rankings, backlinks, competitor analysis (requires Docker)',
436
- command: 'docker',
437
- args: ['run', '-i', '--rm', '-e', 'SERANKING_API_TOKEN=${SERANKING_API_TOKEN}', 'seranking/seo-data-api-mcp-server:latest'],
438
- env: {
439
- SERANKING_API_TOKEN: '${SERANKING_API_TOKEN}',
440
- },
441
- category: 'seo',
442
- requiresConfig: true,
443
- configFields: [
444
- {
445
- name: 'SERANKING_API_TOKEN',
446
- label: 'SE Ranking API Token',
447
- type: 'string',
448
- required: true,
449
- envVar: 'SERANKING_API_TOKEN',
450
- },
451
- ],
452
- },
453
- ];
454
- export function getMcpServersByCategory() {
455
- const categories = {};
456
- for (const server of curatedMcpServers) {
457
- if (!categories[server.category]) {
458
- categories[server.category] = [];
459
- }
460
- categories[server.category].push(server);
461
- }
462
- return categories;
463
- }
464
- export const categoryOrder = [
465
- 'browser',
466
- 'ai',
467
- 'design',
468
- 'dev-tools',
469
- 'cloud',
470
- 'database',
471
- 'seo',
472
- 'productivity',
473
- ];
474
- export function getCategoryDisplayName(category) {
475
- const names = {
476
- browser: 'Browser & Automation',
477
- ai: 'AI & Search',
478
- design: 'Design & Creative',
479
- 'dev-tools': 'Developer Tools',
480
- cloud: 'Cloud & Infrastructure',
481
- database: 'Database',
482
- seo: 'SEO & Analytics',
483
- productivity: 'Productivity',
484
- };
485
- return names[category] || category;
486
- }
487
- export function getCategoryIcon(category) {
488
- const icons = {
489
- browser: '🌐',
490
- ai: '🤖',
491
- design: '🎨',
492
- 'dev-tools': '🛠️',
493
- cloud: '☁️',
494
- database: '🗄️',
495
- seo: '📈',
496
- productivity: '📋',
497
- };
498
- return icons[category] || '📦';
499
- }
500
- export function getAllMcpServers() {
501
- return curatedMcpServers;
502
- }
503
- //# sourceMappingURL=mcp-servers.js.map