@softtechai/quickmcp 1.0.8
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/README.md +553 -0
- package/dist/client/MCPClient.d.ts +24 -0
- package/dist/client/MCPClient.d.ts.map +1 -0
- package/dist/client/MCPClient.js +211 -0
- package/dist/client/MCPClient.js.map +1 -0
- package/dist/client/MCPClientUnified.d.ts +31 -0
- package/dist/client/MCPClientUnified.d.ts.map +1 -0
- package/dist/client/MCPClientUnified.js +275 -0
- package/dist/client/MCPClientUnified.js.map +1 -0
- package/dist/client/MCPTestRunner.d.ts +44 -0
- package/dist/client/MCPTestRunner.d.ts.map +1 -0
- package/dist/client/MCPTestRunner.js +220 -0
- package/dist/client/MCPTestRunner.js.map +1 -0
- package/dist/client/MCPTestRunnerUnified.d.ts +48 -0
- package/dist/client/MCPTestRunnerUnified.d.ts.map +1 -0
- package/dist/client/MCPTestRunnerUnified.js +183 -0
- package/dist/client/MCPTestRunnerUnified.js.map +1 -0
- package/dist/database/json-manager.d.ts +55 -0
- package/dist/database/json-manager.d.ts.map +1 -0
- package/dist/database/json-manager.js +128 -0
- package/dist/database/json-manager.js.map +1 -0
- package/dist/database/sqlite-manager.d.ts +53 -0
- package/dist/database/sqlite-manager.d.ts.map +1 -0
- package/dist/database/sqlite-manager.js +193 -0
- package/dist/database/sqlite-manager.js.map +1 -0
- package/dist/dynamic-mcp-executor.d.ts +14 -0
- package/dist/dynamic-mcp-executor.d.ts.map +1 -0
- package/dist/dynamic-mcp-executor.js +274 -0
- package/dist/dynamic-mcp-executor.js.map +1 -0
- package/dist/generators/MCPServerGenerator-new.d.ts +37 -0
- package/dist/generators/MCPServerGenerator-new.d.ts.map +1 -0
- package/dist/generators/MCPServerGenerator-new.js +287 -0
- package/dist/generators/MCPServerGenerator-new.js.map +1 -0
- package/dist/generators/MCPServerGenerator.d.ts +42 -0
- package/dist/generators/MCPServerGenerator.d.ts.map +1 -0
- package/dist/generators/MCPServerGenerator.js +494 -0
- package/dist/generators/MCPServerGenerator.js.map +1 -0
- package/dist/generators/database/sqlite-manager.d.ts +52 -0
- package/dist/generators/database/sqlite-manager.js +143 -0
- package/dist/generators/generators/MCPServerGenerator.d.ts +37 -0
- package/dist/generators/generators/MCPServerGenerator.js +396 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/integrated-mcp-server-new.d.ts +12 -0
- package/dist/integrated-mcp-server-new.d.ts.map +1 -0
- package/dist/integrated-mcp-server-new.js +253 -0
- package/dist/integrated-mcp-server-new.js.map +1 -0
- package/dist/integrated-mcp-server.d.ts +25 -0
- package/dist/integrated-mcp-server.d.ts.map +1 -0
- package/dist/integrated-mcp-server.js +541 -0
- package/dist/integrated-mcp-server.js.map +1 -0
- package/dist/mcp-inspector-server.d.ts +3 -0
- package/dist/mcp-inspector-server.d.ts.map +1 -0
- package/dist/mcp-inspector-server.js +119 -0
- package/dist/mcp-inspector-server.js.map +1 -0
- package/dist/mcp-sdk-server.d.ts +3 -0
- package/dist/mcp-sdk-server.d.ts.map +1 -0
- package/dist/mcp-sdk-server.js +90 -0
- package/dist/mcp-sdk-server.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +300 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/parsers/CsvParser.d.ts +7 -0
- package/dist/parsers/CsvParser.d.ts.map +1 -0
- package/dist/parsers/CsvParser.js +98 -0
- package/dist/parsers/CsvParser.js.map +1 -0
- package/dist/parsers/DatabaseParser.d.ts +18 -0
- package/dist/parsers/DatabaseParser.d.ts.map +1 -0
- package/dist/parsers/DatabaseParser.js +372 -0
- package/dist/parsers/DatabaseParser.js.map +1 -0
- package/dist/parsers/ExcelParser.d.ts +8 -0
- package/dist/parsers/ExcelParser.d.ts.map +1 -0
- package/dist/parsers/ExcelParser.js +119 -0
- package/dist/parsers/ExcelParser.js.map +1 -0
- package/dist/parsers/index.d.ts +13 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +88 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/parsers/ExcelParser.js +118 -0
- package/dist/parsers/types/index.js +2 -0
- package/dist/quickmcp-unified-bridge.d.ts +13 -0
- package/dist/quickmcp-unified-bridge.d.ts.map +1 -0
- package/dist/quickmcp-unified-bridge.js +176 -0
- package/dist/quickmcp-unified-bridge.js.map +1 -0
- package/dist/server/ServerManager.d.ts +37 -0
- package/dist/server/ServerManager.d.ts.map +1 -0
- package/dist/server/ServerManager.js +376 -0
- package/dist/server/ServerManager.js.map +1 -0
- package/dist/sqlite-manager.js +145 -0
- package/dist/start-new-server.d.ts +3 -0
- package/dist/start-new-server.d.ts.map +1 -0
- package/dist/start-new-server.js +10 -0
- package/dist/start-new-server.js.map +1 -0
- package/dist/test-app.d.ts +2 -0
- package/dist/test-app.d.ts.map +1 -0
- package/dist/test-app.js +119 -0
- package/dist/test-app.js.map +1 -0
- package/dist/test-new-architecture.d.ts +3 -0
- package/dist/test-new-architecture.d.ts.map +1 -0
- package/dist/test-new-architecture.js +72 -0
- package/dist/test-new-architecture.js.map +1 -0
- package/dist/transport/base-transport.d.ts +21 -0
- package/dist/transport/base-transport.d.ts.map +1 -0
- package/dist/transport/base-transport.js +16 -0
- package/dist/transport/base-transport.js.map +1 -0
- package/dist/transport/index.d.ts +10 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +12 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/sse-transport.d.ts +13 -0
- package/dist/transport/sse-transport.d.ts.map +1 -0
- package/dist/transport/sse-transport.js +106 -0
- package/dist/transport/sse-transport.js.map +1 -0
- package/dist/transport/stdio-transport.d.ts +8 -0
- package/dist/transport/stdio-transport.d.ts.map +1 -0
- package/dist/transport/stdio-transport.js +53 -0
- package/dist/transport/stdio-transport.js.map +1 -0
- package/dist/transport/streamable-http-transport.d.ts +15 -0
- package/dist/transport/streamable-http-transport.d.ts.map +1 -0
- package/dist/transport/streamable-http-transport.js +151 -0
- package/dist/transport/streamable-http-transport.js.map +1 -0
- package/dist/types/index.d.ts +64 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/web/client/MCPClient.js +348 -0
- package/dist/web/client/MCPTestRunner.js +317 -0
- package/dist/web/database/json-manager.js +124 -0
- package/dist/web/database/sqlite-manager.js +146 -0
- package/dist/web/dynamic-mcp-executor.js +443 -0
- package/dist/web/generators/MCPServerGenerator-new.js +284 -0
- package/dist/web/generators/MCPServerGenerator.js +566 -0
- package/dist/web/integrated-mcp-server-new.js +394 -0
- package/dist/web/parsers/CsvParser.js +144 -0
- package/dist/web/parsers/DatabaseParser.js +637 -0
- package/dist/web/parsers/ExcelParser.js +180 -0
- package/dist/web/parsers/index.js +152 -0
- package/dist/web/server.d.ts +3 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +790 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/types/index.js +2 -0
- package/dist/web/web/server.js +860 -0
- package/package.json +68 -0
- package/quickmcp-direct-stdio.js +328 -0
- package/src/web/public/app.js +1795 -0
- package/src/web/public/database-tables.html +711 -0
- package/src/web/public/how-to-use.html +571 -0
- package/src/web/public/how-to-use.js +255 -0
- package/src/web/public/images/1-claude-quickmcp-stdio.png +0 -0
- package/src/web/public/images/2-claude-tools.png +0 -0
- package/src/web/public/images/3-claude-developer-settings.png +0 -0
- package/src/web/public/images/4-claude-config.png +0 -0
- package/src/web/public/images/5-claude-config-edit.png +0 -0
- package/src/web/public/index.html +626 -0
- package/src/web/public/manage-servers.html +198 -0
- package/src/web/public/modern-styles.css +946 -0
- package/src/web/public/shared-styles.css +2091 -0
- package/src/web/public/shared.js +93 -0
- package/src/web/public/test-servers.html +302 -0
|
@@ -0,0 +1,571 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en" class="h-full bg-gray-50">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>How to Use - MCP Server Generator</title>
|
|
7
|
+
|
|
8
|
+
<!-- Tailwind CSS -->
|
|
9
|
+
<script src="https://cdn.tailwindcss.com"></script>
|
|
10
|
+
|
|
11
|
+
<!-- Font Awesome for icons -->
|
|
12
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
13
|
+
|
|
14
|
+
<!-- Google Fonts -->
|
|
15
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
16
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
17
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
|
|
18
|
+
|
|
19
|
+
<style>
|
|
20
|
+
body { font-family: 'Inter', sans-serif; }
|
|
21
|
+
|
|
22
|
+
/* Custom animations */
|
|
23
|
+
@keyframes slideIn {
|
|
24
|
+
from { transform: translateX(-100%); opacity: 0; }
|
|
25
|
+
to { transform: translateX(0); opacity: 1; }
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@keyframes fadeIn {
|
|
29
|
+
from { opacity: 0; transform: translateY(20px); }
|
|
30
|
+
to { opacity: 1; transform: translateY(0); }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.slide-in { animation: slideIn 0.3s ease-out; }
|
|
34
|
+
.fade-in { animation: fadeIn 0.5s ease-out; }
|
|
35
|
+
|
|
36
|
+
/* Custom scrollbar */
|
|
37
|
+
::-webkit-scrollbar { width: 6px; }
|
|
38
|
+
::-webkit-scrollbar-track { background: #f1f5f9; }
|
|
39
|
+
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
|
|
40
|
+
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
|
|
41
|
+
|
|
42
|
+
/* Glassmorphism effect */
|
|
43
|
+
.glass {
|
|
44
|
+
backdrop-filter: blur(20px);
|
|
45
|
+
background: rgba(255, 255, 255, 0.8);
|
|
46
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.glass-dark {
|
|
50
|
+
backdrop-filter: blur(20px);
|
|
51
|
+
background: rgba(15, 23, 42, 0.8);
|
|
52
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
|
|
56
|
+
<!-- Tailwind Config -->
|
|
57
|
+
<script>
|
|
58
|
+
tailwind.config = {
|
|
59
|
+
theme: {
|
|
60
|
+
extend: {
|
|
61
|
+
colors: {
|
|
62
|
+
primary: {
|
|
63
|
+
50: '#f0f9ff',
|
|
64
|
+
500: '#0ea5e9',
|
|
65
|
+
600: '#0284c7',
|
|
66
|
+
700: '#0369a1',
|
|
67
|
+
900: '#0c4a6e'
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
animation: {
|
|
71
|
+
'bounce-slow': 'bounce 2s infinite',
|
|
72
|
+
'pulse-slow': 'pulse 3s infinite'
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
</script>
|
|
78
|
+
</head>
|
|
79
|
+
<body class="h-full bg-gradient-to-br from-blue-50 via-white to-cyan-50">
|
|
80
|
+
<!-- Main App Container -->
|
|
81
|
+
<div id="app" class="flex h-full">
|
|
82
|
+
|
|
83
|
+
<!-- Sidebar -->
|
|
84
|
+
<div id="sidebar" class="fixed inset-y-0 left-0 z-50 w-64 bg-white/90 backdrop-blur-xl border-r border-gray-200/50 transform -translate-x-full lg:translate-x-0 transition-transform duration-300 ease-in-out">
|
|
85
|
+
<div class="flex flex-col h-full">
|
|
86
|
+
<!-- Sidebar Header -->
|
|
87
|
+
<div class="flex items-center justify-between p-6 border-b border-gray-200/50">
|
|
88
|
+
<div class="flex items-center space-x-3">
|
|
89
|
+
<div class="w-10 h-10 bg-gradient-to-r from-blue-500 to-cyan-500 rounded-xl flex items-center justify-center">
|
|
90
|
+
<i class="fas fa-rocket text-white text-lg"></i>
|
|
91
|
+
</div>
|
|
92
|
+
<div>
|
|
93
|
+
<h1 class="text-xl font-bold text-gray-900">QuickMCP</h1>
|
|
94
|
+
<p class="text-xs text-gray-500">Server Generator</p>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
<button id="closeSidebar" class="lg:hidden p-2 rounded-lg hover:bg-gray-100 transition-colors">
|
|
98
|
+
<i class="fas fa-times text-gray-500"></i>
|
|
99
|
+
</button>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<!-- Navigation -->
|
|
103
|
+
<nav class="flex-1 px-4 py-6 space-y-2">
|
|
104
|
+
<a href="/" class="nav-item flex items-center px-4 py-3 text-sm font-medium text-gray-700 rounded-xl hover:bg-gray-50 transition-all duration-200">
|
|
105
|
+
<i class="fas fa-magic mr-3 text-gray-400"></i>
|
|
106
|
+
Generate Server
|
|
107
|
+
</a>
|
|
108
|
+
<a href="/manage-servers" class="nav-item flex items-center px-4 py-3 text-sm font-medium text-gray-700 rounded-xl hover:bg-gray-50 transition-all duration-200">
|
|
109
|
+
<i class="fas fa-server mr-3 text-gray-400"></i>
|
|
110
|
+
Manage Servers
|
|
111
|
+
</a>
|
|
112
|
+
<a href="/test-servers" class="nav-item flex items-center px-4 py-3 text-sm font-medium text-gray-700 rounded-xl hover:bg-gray-50 transition-all duration-200">
|
|
113
|
+
<i class="fas fa-vial mr-3 text-gray-400"></i>
|
|
114
|
+
Test Servers
|
|
115
|
+
</a>
|
|
116
|
+
<a href="/how-to-use" class="nav-item active flex items-center px-4 py-3 text-sm font-medium rounded-xl bg-gradient-to-r from-blue-50 to-cyan-50 text-blue-700 border border-blue-200">
|
|
117
|
+
<i class="fas fa-book mr-3 text-blue-500"></i>
|
|
118
|
+
How to Use
|
|
119
|
+
</a>
|
|
120
|
+
</nav>
|
|
121
|
+
|
|
122
|
+
<!-- Sidebar Footer -->
|
|
123
|
+
<div class="p-4 border-t border-gray-200/50">
|
|
124
|
+
<div class="bg-gradient-to-r from-blue-50 to-cyan-50 p-4 rounded-xl border border-blue-100">
|
|
125
|
+
<div class="flex items-center space-x-3">
|
|
126
|
+
<div class="w-8 h-8 bg-gradient-to-r from-green-400 to-blue-500 rounded-full flex items-center justify-center">
|
|
127
|
+
<i class="fas fa-check text-white text-xs"></i>
|
|
128
|
+
</div>
|
|
129
|
+
<div>
|
|
130
|
+
<p class="text-sm font-medium text-gray-900">All systems online</p>
|
|
131
|
+
<p class="text-xs text-gray-500">Ready to guide you</p>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<!-- Sidebar Overlay for mobile -->
|
|
140
|
+
<div id="sidebarOverlay" class="fixed inset-0 bg-gray-900/50 backdrop-blur-sm z-40 lg:hidden opacity-0 invisible transition-all duration-300"></div>
|
|
141
|
+
|
|
142
|
+
<!-- Main Content -->
|
|
143
|
+
<div class="flex-1 lg:pl-64">
|
|
144
|
+
<!-- Top Navigation -->
|
|
145
|
+
<header class="bg-white/80 backdrop-blur-xl border-b border-gray-200/50 sticky top-0 z-30">
|
|
146
|
+
<div class="px-4 sm:px-6 lg:px-8">
|
|
147
|
+
<div class="flex justify-between items-center h-16">
|
|
148
|
+
<div class="flex items-center space-x-4">
|
|
149
|
+
<button id="openSidebar" class="lg:hidden p-2 rounded-lg hover:bg-gray-100 transition-colors">
|
|
150
|
+
<i class="fas fa-bars text-gray-600"></i>
|
|
151
|
+
</button>
|
|
152
|
+
<div>
|
|
153
|
+
<h2 class="text-2xl font-bold text-gray-900">How to Use</h2>
|
|
154
|
+
<p class="text-sm text-gray-500">Learn how to use your MCP servers with Claude Desktop</p>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<div class="flex items-center space-x-4">
|
|
159
|
+
<div class="hidden sm:flex items-center space-x-2 bg-green-50 text-green-700 px-3 py-1 rounded-full text-sm font-medium">
|
|
160
|
+
<div class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
|
|
161
|
+
<span>Online</span>
|
|
162
|
+
</div>
|
|
163
|
+
<button class="p-2 rounded-lg hover:bg-gray-100 transition-colors relative">
|
|
164
|
+
<i class="fas fa-bell text-gray-600"></i>
|
|
165
|
+
<span class="absolute -top-1 -right-1 w-3 h-3 bg-red-500 rounded-full"></span>
|
|
166
|
+
</button>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</header>
|
|
171
|
+
|
|
172
|
+
<!-- Main Content -->
|
|
173
|
+
<main class="p-4 sm:p-6 lg:p-8">
|
|
174
|
+
<div class="max-w-7xl mx-auto space-y-8">
|
|
175
|
+
<!-- Hero Section -->
|
|
176
|
+
<div class="text-center">
|
|
177
|
+
<h1 class="text-3xl font-bold text-gray-900 mb-4">MCP Server Integration Guide</h1>
|
|
178
|
+
<p class="text-gray-600">Learn how to integrate your generated MCP servers with Claude Desktop and other platforms</p>
|
|
179
|
+
</div>
|
|
180
|
+
|
|
181
|
+
<!-- Method Selection -->
|
|
182
|
+
<div class="bg-white rounded-2xl shadow-lg border border-gray-200/50 overflow-hidden">
|
|
183
|
+
<div class="bg-gradient-to-r from-blue-50 to-cyan-50 p-6 border-b border-gray-200/50">
|
|
184
|
+
<div class="flex items-center space-x-3">
|
|
185
|
+
<div class="w-10 h-10 bg-gradient-to-r from-blue-500 to-cyan-500 rounded-xl flex items-center justify-center">
|
|
186
|
+
<i class="fas fa-route text-white"></i>
|
|
187
|
+
</div>
|
|
188
|
+
<div>
|
|
189
|
+
<h3 class="text-lg font-semibold text-gray-900">Choose Your Integration Method</h3>
|
|
190
|
+
<p class="text-sm text-gray-600">Select how you want to use your MCP servers</p>
|
|
191
|
+
</div>
|
|
192
|
+
</div>
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
<div class="p-6">
|
|
196
|
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
|
197
|
+
<button class="method-btn text-left p-6 border-2 border-blue-200 bg-blue-50 rounded-xl hover:border-blue-300 transition-all duration-200" onclick="showMethod('integrated')" id="integratedBtn">
|
|
198
|
+
<div class="flex items-center space-x-4">
|
|
199
|
+
<div class="w-12 h-12 bg-gradient-to-r from-blue-500 to-cyan-500 rounded-xl flex items-center justify-center">
|
|
200
|
+
<i class="fas fa-link text-white text-xl"></i>
|
|
201
|
+
</div>
|
|
202
|
+
<div>
|
|
203
|
+
<h3 class="text-lg font-semibold text-gray-900">Integrated Server</h3>
|
|
204
|
+
<p class="text-sm text-gray-600">Use all servers through one configuration</p>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
</button>
|
|
208
|
+
|
|
209
|
+
<button class="method-btn text-left p-6 border-2 border-gray-200 bg-gray-50 rounded-xl hover:border-gray-300 transition-all duration-200" onclick="showMethod('individual')" id="individualBtn">
|
|
210
|
+
<div class="flex items-center space-x-4">
|
|
211
|
+
<div class="w-12 h-12 bg-gradient-to-r from-orange-500 to-yellow-500 rounded-xl flex items-center justify-center">
|
|
212
|
+
<i class="fas fa-box text-white text-xl"></i>
|
|
213
|
+
</div>
|
|
214
|
+
<div>
|
|
215
|
+
<h3 class="text-lg font-semibold text-gray-900">Individual Export</h3>
|
|
216
|
+
<p class="text-sm text-gray-600">Export and use servers separately</p>
|
|
217
|
+
</div>
|
|
218
|
+
</div>
|
|
219
|
+
</button>
|
|
220
|
+
</div>
|
|
221
|
+
</div>
|
|
222
|
+
</div>
|
|
223
|
+
|
|
224
|
+
<!-- Integrated Method -->
|
|
225
|
+
<div id="integratedMethod" class="bg-white rounded-2xl shadow-lg border border-gray-200/50 overflow-hidden">
|
|
226
|
+
<div class="bg-gradient-to-r from-green-50 to-emerald-50 p-6 border-b border-gray-200/50">
|
|
227
|
+
<div class="flex items-center space-x-3">
|
|
228
|
+
<div class="w-10 h-10 bg-gradient-to-r from-green-500 to-emerald-500 rounded-xl flex items-center justify-center">
|
|
229
|
+
<i class="fas fa-link text-white"></i>
|
|
230
|
+
</div>
|
|
231
|
+
<div>
|
|
232
|
+
<h3 class="text-lg font-semibold text-gray-900">Integrated Server Method</h3>
|
|
233
|
+
<p class="text-sm text-gray-600">Access all your MCP servers through a single configuration</p>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<div class="p-6 space-y-6">
|
|
239
|
+
<!-- Advantages -->
|
|
240
|
+
<div class="bg-green-50 border border-green-200 rounded-xl p-4">
|
|
241
|
+
<h4 class="font-semibold text-green-900 mb-3">✅ Advantages</h4>
|
|
242
|
+
<ul class="space-y-2 text-green-800">
|
|
243
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Single configuration for all servers</li>
|
|
244
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Automatic updates when you create new servers</li>
|
|
245
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Unified tool naming with server prefixes</li>
|
|
246
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>No need to restart Claude Desktop when adding servers</li>
|
|
247
|
+
</ul>
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
<!-- Setup Steps -->
|
|
251
|
+
<div class="space-y-6">
|
|
252
|
+
<h4 class="text-lg font-semibold text-gray-900">🚀 Quick Setup for Claude Desktop</h4>
|
|
253
|
+
|
|
254
|
+
<div class="space-y-4">
|
|
255
|
+
<!-- Step 1 -->
|
|
256
|
+
<div class="flex space-x-4">
|
|
257
|
+
<div class="flex-shrink-0 w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center font-semibold">1</div>
|
|
258
|
+
<div class="flex-1">
|
|
259
|
+
<h5 class="font-semibold text-gray-900">Make sure QuickMCP is running</h5>
|
|
260
|
+
<p class="text-gray-600 mb-2">Keep this application running with <code class="bg-gray-100 px-2 py-1 rounded">npm run dev</code></p>
|
|
261
|
+
<div class="flex items-center space-x-2 text-sm">
|
|
262
|
+
<div class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
|
|
263
|
+
<span class="text-green-700">Server is running</span>
|
|
264
|
+
</div>
|
|
265
|
+
</div>
|
|
266
|
+
</div>
|
|
267
|
+
|
|
268
|
+
<!-- Step 2 -->
|
|
269
|
+
<div class="flex space-x-4">
|
|
270
|
+
<div class="flex-shrink-0 w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center font-semibold">2</div>
|
|
271
|
+
<div class="flex-1">
|
|
272
|
+
<h5 class="font-semibold text-gray-900">Add to Claude Desktop Config</h5>
|
|
273
|
+
<p class="text-gray-600 mb-3">Copy this configuration to your Claude Desktop config file:</p>
|
|
274
|
+
|
|
275
|
+
<div class="mb-3">
|
|
276
|
+
<h6 class="font-medium text-gray-700 mb-2">📁 Config file locations:</h6>
|
|
277
|
+
<ul class="text-sm text-gray-600 space-y-1">
|
|
278
|
+
<li><strong>macOS:</strong> <code class="bg-gray-100 px-1 rounded">~/Library/Application Support/Claude/claude_desktop_config.json</code></li>
|
|
279
|
+
<li><strong>Windows:</strong> <code class="bg-gray-100 px-1 rounded">%APPDATA%\\Claude\\claude_desktop_config.json</code></li>
|
|
280
|
+
<li><strong>Linux:</strong> <code class="bg-gray-100 px-1 rounded">~/.config/Claude/claude_desktop_config.json</code></li>
|
|
281
|
+
</ul>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<div class="relative bg-gray-50 border border-gray-200 rounded-lg">
|
|
285
|
+
<button class="absolute top-3 right-3 bg-blue-500 text-white px-3 py-1 rounded text-sm hover:bg-blue-600 transition-colors" onclick="copyConfig('integrated')">
|
|
286
|
+
<i class="fas fa-copy mr-1"></i>Copy
|
|
287
|
+
</button>
|
|
288
|
+
<pre class="p-4 text-sm overflow-x-auto"><code>{
|
|
289
|
+
"mcpServers": {
|
|
290
|
+
"quickmcp-stdio": {
|
|
291
|
+
"command": "/opt/homebrew/bin/node",
|
|
292
|
+
"args": ["/Users/berkaybasoz/Documents/apps/quickmcp/quickmcp-direct-stdio.js"]
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}</code></pre>
|
|
296
|
+
</div>
|
|
297
|
+
|
|
298
|
+
<!-- Configuration Process Screenshots -->
|
|
299
|
+
<div class="space-y-4 mt-4">
|
|
300
|
+
<h6 class="font-medium text-gray-700">📸 Step-by-step configuration:</h6>
|
|
301
|
+
|
|
302
|
+
<!-- Image 3: Developer Settings -->
|
|
303
|
+
<div class="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
304
|
+
<h6 class="text-sm font-medium text-gray-700 mb-2">2a. Open Developer Settings in Claude Desktop:</h6>
|
|
305
|
+
<img src="images/3-claude-developer-settings.png" alt="Claude Desktop Developer Settings" class="w-full rounded border border-gray-200 shadow-sm">
|
|
306
|
+
</div>
|
|
307
|
+
|
|
308
|
+
<!-- Image 4: Config File -->
|
|
309
|
+
<div class="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
310
|
+
<h6 class="text-sm font-medium text-gray-700 mb-2">2b. View/Edit Configuration File:</h6>
|
|
311
|
+
<img src="images/4-claude-config.png" alt="Claude Desktop Configuration File" class="w-full rounded border border-gray-200 shadow-sm">
|
|
312
|
+
</div>
|
|
313
|
+
|
|
314
|
+
<!-- Image 5: Config Edit -->
|
|
315
|
+
<div class="bg-gray-50 border border-gray-200 rounded-lg p-3">
|
|
316
|
+
<h6 class="text-sm font-medium text-gray-700 mb-2">2c. Add QuickMCP Configuration:</h6>
|
|
317
|
+
<img src="images/5-claude-config-edit.png" alt="Editing Claude Desktop Configuration" class="w-full rounded border border-gray-200 shadow-sm">
|
|
318
|
+
</div>
|
|
319
|
+
</div>
|
|
320
|
+
</div>
|
|
321
|
+
</div>
|
|
322
|
+
|
|
323
|
+
<!-- Step 3 -->
|
|
324
|
+
<div class="flex space-x-4">
|
|
325
|
+
<div class="flex-shrink-0 w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center font-semibold">3</div>
|
|
326
|
+
<div class="flex-1">
|
|
327
|
+
<h5 class="font-semibold text-gray-900">Restart Claude Desktop</h5>
|
|
328
|
+
<p class="text-gray-600">Close and reopen Claude Desktop for the changes to take effect.</p>
|
|
329
|
+
</div>
|
|
330
|
+
</div>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
|
|
334
|
+
<!-- Tool Naming -->
|
|
335
|
+
<div class="bg-blue-50 border border-blue-200 rounded-xl p-4">
|
|
336
|
+
<h4 class="font-semibold text-blue-900 mb-3">🛠️ Using Your Tools</h4>
|
|
337
|
+
<p class="text-blue-800 mb-3">In Claude Desktop, your tools will be available with this naming pattern:</p>
|
|
338
|
+
<div class="bg-white border border-blue-200 rounded-lg p-3">
|
|
339
|
+
<code class="text-lg font-mono text-blue-700">serverName__toolName</code>
|
|
340
|
+
</div>
|
|
341
|
+
<p class="text-blue-700 text-sm mt-2 mb-4">
|
|
342
|
+
Example: If you have a server called "sales-data" with a tool called "search_customers",
|
|
343
|
+
it will appear as <code class="bg-white px-1 rounded">sales-data__search_customers</code>
|
|
344
|
+
</p>
|
|
345
|
+
|
|
346
|
+
<!-- Screenshots -->
|
|
347
|
+
<div class="space-y-4">
|
|
348
|
+
<h5 class="font-semibold text-blue-900">📸 See it in action:</h5>
|
|
349
|
+
|
|
350
|
+
<!-- Image 1: Configuration -->
|
|
351
|
+
<div class="bg-white border border-blue-200 rounded-lg p-3">
|
|
352
|
+
<h6 class="text-sm font-medium text-blue-800 mb-2">1. QuickMCP configured in Claude Desktop:</h6>
|
|
353
|
+
<img src="images/1-claude-quickmcp-stdio.png" alt="QuickMCP configuration in Claude Desktop" class="w-full rounded border border-gray-200 shadow-sm">
|
|
354
|
+
</div>
|
|
355
|
+
|
|
356
|
+
<!-- Image 2: Tools Available -->
|
|
357
|
+
<div class="bg-white border border-blue-200 rounded-lg p-3">
|
|
358
|
+
<h6 class="text-sm font-medium text-blue-800 mb-2">2. Your tools available in Claude Desktop:</h6>
|
|
359
|
+
<img src="images/2-claude-tools.png" alt="QuickMCP tools available in Claude Desktop" class="w-full rounded border border-gray-200 shadow-sm">
|
|
360
|
+
</div>
|
|
361
|
+
</div>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
|
|
366
|
+
<!-- Individual Method -->
|
|
367
|
+
<div id="individualMethod" class="bg-white rounded-2xl shadow-lg border border-gray-200/50 overflow-hidden" style="display: none;">
|
|
368
|
+
<div class="bg-gradient-to-r from-orange-50 to-yellow-50 p-6 border-b border-gray-200/50">
|
|
369
|
+
<div class="flex items-center space-x-3">
|
|
370
|
+
<div class="w-10 h-10 bg-gradient-to-r from-orange-500 to-yellow-500 rounded-xl flex items-center justify-center">
|
|
371
|
+
<i class="fas fa-box text-white"></i>
|
|
372
|
+
</div>
|
|
373
|
+
<div>
|
|
374
|
+
<h3 class="text-lg font-semibold text-gray-900">Individual Export Method</h3>
|
|
375
|
+
<p class="text-sm text-gray-600">Export and configure each server separately</p>
|
|
376
|
+
</div>
|
|
377
|
+
</div>
|
|
378
|
+
</div>
|
|
379
|
+
|
|
380
|
+
<div class="p-6 space-y-6">
|
|
381
|
+
<!-- Advantages -->
|
|
382
|
+
<div class="bg-orange-50 border border-orange-200 rounded-xl p-4">
|
|
383
|
+
<h4 class="font-semibold text-orange-900 mb-3">✅ Advantages</h4>
|
|
384
|
+
<ul class="space-y-2 text-orange-800">
|
|
385
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Independent server management</li>
|
|
386
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Clean tool naming without prefixes</li>
|
|
387
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Better performance for individual servers</li>
|
|
388
|
+
<li class="flex items-center"><i class="fas fa-check-circle mr-2"></i>Portable server packages</li>
|
|
389
|
+
</ul>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
<!-- Export Process -->
|
|
393
|
+
<div class="space-y-6">
|
|
394
|
+
<h4 class="text-lg font-semibold text-gray-900">🚀 Export Process for Claude Desktop</h4>
|
|
395
|
+
|
|
396
|
+
<div class="space-y-4">
|
|
397
|
+
<!-- Step 1 -->
|
|
398
|
+
<div class="flex space-x-4">
|
|
399
|
+
<div class="flex-shrink-0 w-8 h-8 bg-orange-500 text-white rounded-full flex items-center justify-center font-semibold">1</div>
|
|
400
|
+
<div class="flex-1">
|
|
401
|
+
<h5 class="font-semibold text-gray-900">Go to Manage Servers</h5>
|
|
402
|
+
<p class="text-gray-600">Navigate to the <a href="/manage-servers" class="text-blue-600 hover:text-blue-700">Manage Servers</a> page.</p>
|
|
403
|
+
</div>
|
|
404
|
+
</div>
|
|
405
|
+
|
|
406
|
+
<!-- Step 2 -->
|
|
407
|
+
<div class="flex space-x-4">
|
|
408
|
+
<div class="flex-shrink-0 w-8 h-8 bg-orange-500 text-white rounded-full flex items-center justify-center font-semibold">2</div>
|
|
409
|
+
<div class="flex-1">
|
|
410
|
+
<h5 class="font-semibold text-gray-900">Export Your Server</h5>
|
|
411
|
+
<p class="text-gray-600">Click the "Export" button for the server you want to use.</p>
|
|
412
|
+
</div>
|
|
413
|
+
</div>
|
|
414
|
+
|
|
415
|
+
<!-- Step 3 -->
|
|
416
|
+
<div class="flex space-x-4">
|
|
417
|
+
<div class="flex-shrink-0 w-8 h-8 bg-orange-500 text-white rounded-full flex items-center justify-center font-semibold">3</div>
|
|
418
|
+
<div class="flex-1">
|
|
419
|
+
<h5 class="font-semibold text-gray-900">Extract and Install</h5>
|
|
420
|
+
<p class="text-gray-600">Extract the downloaded package and run <code class="bg-gray-100 px-2 py-1 rounded">npm install</code> in the extracted folder.</p>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
|
|
424
|
+
<!-- Step 4 -->
|
|
425
|
+
<div class="flex space-x-4">
|
|
426
|
+
<div class="flex-shrink-0 w-8 h-8 bg-orange-500 text-white rounded-full flex items-center justify-center font-semibold">4</div>
|
|
427
|
+
<div class="flex-1">
|
|
428
|
+
<h5 class="font-semibold text-gray-900">Configure Claude Desktop</h5>
|
|
429
|
+
<p class="text-gray-600 mb-3">Add the server to your Claude Desktop config:</p>
|
|
430
|
+
|
|
431
|
+
<div class="relative bg-gray-50 border border-gray-200 rounded-lg">
|
|
432
|
+
<button class="absolute top-3 right-3 bg-orange-500 text-white px-3 py-1 rounded text-sm hover:bg-orange-600 transition-colors" onclick="copyConfig('claude-individual')">
|
|
433
|
+
<i class="fas fa-copy mr-1"></i>Copy
|
|
434
|
+
</button>
|
|
435
|
+
<pre class="p-4 text-sm overflow-x-auto"><code>{
|
|
436
|
+
"mcpServers": {
|
|
437
|
+
"your-server-name": {
|
|
438
|
+
"command": "node",
|
|
439
|
+
"args": ["path/to/your/server/index.js"]
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}</code></pre>
|
|
443
|
+
</div>
|
|
444
|
+
</div>
|
|
445
|
+
</div>
|
|
446
|
+
</div>
|
|
447
|
+
</div>
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
|
|
451
|
+
<!-- Troubleshooting -->
|
|
452
|
+
<div class="bg-white rounded-2xl shadow-lg border border-gray-200/50 overflow-hidden">
|
|
453
|
+
<div class="bg-gradient-to-r from-red-50 to-pink-50 p-6 border-b border-gray-200/50">
|
|
454
|
+
<div class="flex items-center space-x-3">
|
|
455
|
+
<div class="w-10 h-10 bg-gradient-to-r from-red-500 to-pink-500 rounded-xl flex items-center justify-center">
|
|
456
|
+
<i class="fas fa-wrench text-white"></i>
|
|
457
|
+
</div>
|
|
458
|
+
<div>
|
|
459
|
+
<h3 class="text-lg font-semibold text-gray-900">Troubleshooting</h3>
|
|
460
|
+
<p class="text-sm text-gray-600">Common issues and solutions</p>
|
|
461
|
+
</div>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
|
|
465
|
+
<div class="p-6 space-y-6">
|
|
466
|
+
<div class="space-y-4">
|
|
467
|
+
<!-- Issue 1 -->
|
|
468
|
+
<div class="border border-gray-200 rounded-lg p-4">
|
|
469
|
+
<h4 class="font-semibold text-gray-900 mb-2">❌ Tools not showing up in Claude Desktop</h4>
|
|
470
|
+
<ul class="space-y-1 text-gray-600 text-sm">
|
|
471
|
+
<li>• Make sure QuickMCP is running (check server status above)</li>
|
|
472
|
+
<li>• Verify the configuration is correct in Claude Desktop</li>
|
|
473
|
+
<li>• Restart Claude Desktop completely</li>
|
|
474
|
+
<li>• Check that port 3001 is not blocked by firewall</li>
|
|
475
|
+
</ul>
|
|
476
|
+
</div>
|
|
477
|
+
|
|
478
|
+
<!-- Issue 2 -->
|
|
479
|
+
<div class="border border-gray-200 rounded-lg p-4">
|
|
480
|
+
<h4 class="font-semibold text-gray-900 mb-2">🔄 Server status shows offline</h4>
|
|
481
|
+
<ul class="space-y-1 text-gray-600 text-sm">
|
|
482
|
+
<li>• Run <code class="bg-gray-100 px-1 rounded">npm run dev</code> in your QuickMCP directory</li>
|
|
483
|
+
<li>• Check if port 3001 is already in use</li>
|
|
484
|
+
<li>• Look at the console for error messages</li>
|
|
485
|
+
</ul>
|
|
486
|
+
</div>
|
|
487
|
+
|
|
488
|
+
<!-- Issue 3 -->
|
|
489
|
+
<div class="border border-gray-200 rounded-lg p-4">
|
|
490
|
+
<h4 class="font-semibold text-gray-900 mb-2">⚠️ Individual exported servers not working</h4>
|
|
491
|
+
<ul class="space-y-1 text-gray-600 text-sm">
|
|
492
|
+
<li>• Make sure you ran <code class="bg-gray-100 px-1 rounded">npm install</code> in the exported folder</li>
|
|
493
|
+
<li>• Check that the path in Claude Desktop config is correct</li>
|
|
494
|
+
<li>• Ensure Node.js is installed and accessible</li>
|
|
495
|
+
</ul>
|
|
496
|
+
</div>
|
|
497
|
+
</div>
|
|
498
|
+
</div>
|
|
499
|
+
</div>
|
|
500
|
+
</div>
|
|
501
|
+
</main>
|
|
502
|
+
</div>
|
|
503
|
+
</div>
|
|
504
|
+
|
|
505
|
+
<!-- Scripts -->
|
|
506
|
+
<script src="shared.js"></script>
|
|
507
|
+
<script src="app.js"></script>
|
|
508
|
+
<script>
|
|
509
|
+
// Method switching functionality
|
|
510
|
+
function showMethod(method) {
|
|
511
|
+
const integratedMethod = document.getElementById('integratedMethod');
|
|
512
|
+
const individualMethod = document.getElementById('individualMethod');
|
|
513
|
+
const integratedBtn = document.getElementById('integratedBtn');
|
|
514
|
+
const individualBtn = document.getElementById('individualBtn');
|
|
515
|
+
|
|
516
|
+
if (method === 'integrated') {
|
|
517
|
+
integratedMethod.style.display = 'block';
|
|
518
|
+
individualMethod.style.display = 'none';
|
|
519
|
+
integratedBtn.className = 'method-btn text-left p-6 border-2 border-blue-200 bg-blue-50 rounded-xl hover:border-blue-300 transition-all duration-200';
|
|
520
|
+
individualBtn.className = 'method-btn text-left p-6 border-2 border-gray-200 bg-gray-50 rounded-xl hover:border-gray-300 transition-all duration-200';
|
|
521
|
+
} else {
|
|
522
|
+
integratedMethod.style.display = 'none';
|
|
523
|
+
individualMethod.style.display = 'block';
|
|
524
|
+
integratedBtn.className = 'method-btn text-left p-6 border-2 border-gray-200 bg-gray-50 rounded-xl hover:border-gray-300 transition-all duration-200';
|
|
525
|
+
individualBtn.className = 'method-btn text-left p-6 border-2 border-orange-200 bg-orange-50 rounded-xl hover:border-orange-300 transition-all duration-200';
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
// Copy configuration function
|
|
530
|
+
function copyConfig(type) {
|
|
531
|
+
let configText = '';
|
|
532
|
+
|
|
533
|
+
switch(type) {
|
|
534
|
+
case 'integrated':
|
|
535
|
+
configText = `{
|
|
536
|
+
"mcpServers": {
|
|
537
|
+
"quickmcp-stdio": {
|
|
538
|
+
"command": "/opt/homebrew/bin/node",
|
|
539
|
+
"args": ["/Users/berkaybasoz/Documents/apps/quickmcp/quickmcp-direct-stdio.js"]
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}`;
|
|
543
|
+
break;
|
|
544
|
+
case 'claude-individual':
|
|
545
|
+
configText = `{
|
|
546
|
+
"mcpServers": {
|
|
547
|
+
"your-server-name": {
|
|
548
|
+
"command": "node",
|
|
549
|
+
"args": ["path/to/your/server/index.js"]
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
}`;
|
|
553
|
+
break;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
navigator.clipboard.writeText(configText).then(() => {
|
|
557
|
+
// Show feedback
|
|
558
|
+
const button = event.target;
|
|
559
|
+
const originalText = button.innerHTML;
|
|
560
|
+
button.innerHTML = '<i class="fas fa-check mr-1"></i>Copied!';
|
|
561
|
+
button.className = button.className.replace('bg-blue-500 hover:bg-blue-600', 'bg-green-500').replace('bg-orange-500 hover:bg-orange-600', 'bg-green-500');
|
|
562
|
+
|
|
563
|
+
setTimeout(() => {
|
|
564
|
+
button.innerHTML = originalText;
|
|
565
|
+
button.className = button.className.replace('bg-green-500', type === 'integrated' ? 'bg-blue-500 hover:bg-blue-600' : 'bg-orange-500 hover:bg-orange-600');
|
|
566
|
+
}, 2000);
|
|
567
|
+
});
|
|
568
|
+
}
|
|
569
|
+
</script>
|
|
570
|
+
</body>
|
|
571
|
+
</html>
|