@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.
Files changed (163) hide show
  1. package/README.md +553 -0
  2. package/dist/client/MCPClient.d.ts +24 -0
  3. package/dist/client/MCPClient.d.ts.map +1 -0
  4. package/dist/client/MCPClient.js +211 -0
  5. package/dist/client/MCPClient.js.map +1 -0
  6. package/dist/client/MCPClientUnified.d.ts +31 -0
  7. package/dist/client/MCPClientUnified.d.ts.map +1 -0
  8. package/dist/client/MCPClientUnified.js +275 -0
  9. package/dist/client/MCPClientUnified.js.map +1 -0
  10. package/dist/client/MCPTestRunner.d.ts +44 -0
  11. package/dist/client/MCPTestRunner.d.ts.map +1 -0
  12. package/dist/client/MCPTestRunner.js +220 -0
  13. package/dist/client/MCPTestRunner.js.map +1 -0
  14. package/dist/client/MCPTestRunnerUnified.d.ts +48 -0
  15. package/dist/client/MCPTestRunnerUnified.d.ts.map +1 -0
  16. package/dist/client/MCPTestRunnerUnified.js +183 -0
  17. package/dist/client/MCPTestRunnerUnified.js.map +1 -0
  18. package/dist/database/json-manager.d.ts +55 -0
  19. package/dist/database/json-manager.d.ts.map +1 -0
  20. package/dist/database/json-manager.js +128 -0
  21. package/dist/database/json-manager.js.map +1 -0
  22. package/dist/database/sqlite-manager.d.ts +53 -0
  23. package/dist/database/sqlite-manager.d.ts.map +1 -0
  24. package/dist/database/sqlite-manager.js +193 -0
  25. package/dist/database/sqlite-manager.js.map +1 -0
  26. package/dist/dynamic-mcp-executor.d.ts +14 -0
  27. package/dist/dynamic-mcp-executor.d.ts.map +1 -0
  28. package/dist/dynamic-mcp-executor.js +274 -0
  29. package/dist/dynamic-mcp-executor.js.map +1 -0
  30. package/dist/generators/MCPServerGenerator-new.d.ts +37 -0
  31. package/dist/generators/MCPServerGenerator-new.d.ts.map +1 -0
  32. package/dist/generators/MCPServerGenerator-new.js +287 -0
  33. package/dist/generators/MCPServerGenerator-new.js.map +1 -0
  34. package/dist/generators/MCPServerGenerator.d.ts +42 -0
  35. package/dist/generators/MCPServerGenerator.d.ts.map +1 -0
  36. package/dist/generators/MCPServerGenerator.js +494 -0
  37. package/dist/generators/MCPServerGenerator.js.map +1 -0
  38. package/dist/generators/database/sqlite-manager.d.ts +52 -0
  39. package/dist/generators/database/sqlite-manager.js +143 -0
  40. package/dist/generators/generators/MCPServerGenerator.d.ts +37 -0
  41. package/dist/generators/generators/MCPServerGenerator.js +396 -0
  42. package/dist/index.d.ts +7 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +23 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/integrated-mcp-server-new.d.ts +12 -0
  47. package/dist/integrated-mcp-server-new.d.ts.map +1 -0
  48. package/dist/integrated-mcp-server-new.js +253 -0
  49. package/dist/integrated-mcp-server-new.js.map +1 -0
  50. package/dist/integrated-mcp-server.d.ts +25 -0
  51. package/dist/integrated-mcp-server.d.ts.map +1 -0
  52. package/dist/integrated-mcp-server.js +541 -0
  53. package/dist/integrated-mcp-server.js.map +1 -0
  54. package/dist/mcp-inspector-server.d.ts +3 -0
  55. package/dist/mcp-inspector-server.d.ts.map +1 -0
  56. package/dist/mcp-inspector-server.js +119 -0
  57. package/dist/mcp-inspector-server.js.map +1 -0
  58. package/dist/mcp-sdk-server.d.ts +3 -0
  59. package/dist/mcp-sdk-server.d.ts.map +1 -0
  60. package/dist/mcp-sdk-server.js +90 -0
  61. package/dist/mcp-sdk-server.js.map +1 -0
  62. package/dist/mcp-server.d.ts +3 -0
  63. package/dist/mcp-server.d.ts.map +1 -0
  64. package/dist/mcp-server.js +300 -0
  65. package/dist/mcp-server.js.map +1 -0
  66. package/dist/parsers/CsvParser.d.ts +7 -0
  67. package/dist/parsers/CsvParser.d.ts.map +1 -0
  68. package/dist/parsers/CsvParser.js +98 -0
  69. package/dist/parsers/CsvParser.js.map +1 -0
  70. package/dist/parsers/DatabaseParser.d.ts +18 -0
  71. package/dist/parsers/DatabaseParser.d.ts.map +1 -0
  72. package/dist/parsers/DatabaseParser.js +372 -0
  73. package/dist/parsers/DatabaseParser.js.map +1 -0
  74. package/dist/parsers/ExcelParser.d.ts +8 -0
  75. package/dist/parsers/ExcelParser.d.ts.map +1 -0
  76. package/dist/parsers/ExcelParser.js +119 -0
  77. package/dist/parsers/ExcelParser.js.map +1 -0
  78. package/dist/parsers/index.d.ts +13 -0
  79. package/dist/parsers/index.d.ts.map +1 -0
  80. package/dist/parsers/index.js +88 -0
  81. package/dist/parsers/index.js.map +1 -0
  82. package/dist/parsers/parsers/ExcelParser.js +118 -0
  83. package/dist/parsers/types/index.js +2 -0
  84. package/dist/quickmcp-unified-bridge.d.ts +13 -0
  85. package/dist/quickmcp-unified-bridge.d.ts.map +1 -0
  86. package/dist/quickmcp-unified-bridge.js +176 -0
  87. package/dist/quickmcp-unified-bridge.js.map +1 -0
  88. package/dist/server/ServerManager.d.ts +37 -0
  89. package/dist/server/ServerManager.d.ts.map +1 -0
  90. package/dist/server/ServerManager.js +376 -0
  91. package/dist/server/ServerManager.js.map +1 -0
  92. package/dist/sqlite-manager.js +145 -0
  93. package/dist/start-new-server.d.ts +3 -0
  94. package/dist/start-new-server.d.ts.map +1 -0
  95. package/dist/start-new-server.js +10 -0
  96. package/dist/start-new-server.js.map +1 -0
  97. package/dist/test-app.d.ts +2 -0
  98. package/dist/test-app.d.ts.map +1 -0
  99. package/dist/test-app.js +119 -0
  100. package/dist/test-app.js.map +1 -0
  101. package/dist/test-new-architecture.d.ts +3 -0
  102. package/dist/test-new-architecture.d.ts.map +1 -0
  103. package/dist/test-new-architecture.js +72 -0
  104. package/dist/test-new-architecture.js.map +1 -0
  105. package/dist/transport/base-transport.d.ts +21 -0
  106. package/dist/transport/base-transport.d.ts.map +1 -0
  107. package/dist/transport/base-transport.js +16 -0
  108. package/dist/transport/base-transport.js.map +1 -0
  109. package/dist/transport/index.d.ts +10 -0
  110. package/dist/transport/index.d.ts.map +1 -0
  111. package/dist/transport/index.js +12 -0
  112. package/dist/transport/index.js.map +1 -0
  113. package/dist/transport/sse-transport.d.ts +13 -0
  114. package/dist/transport/sse-transport.d.ts.map +1 -0
  115. package/dist/transport/sse-transport.js +106 -0
  116. package/dist/transport/sse-transport.js.map +1 -0
  117. package/dist/transport/stdio-transport.d.ts +8 -0
  118. package/dist/transport/stdio-transport.d.ts.map +1 -0
  119. package/dist/transport/stdio-transport.js +53 -0
  120. package/dist/transport/stdio-transport.js.map +1 -0
  121. package/dist/transport/streamable-http-transport.d.ts +15 -0
  122. package/dist/transport/streamable-http-transport.d.ts.map +1 -0
  123. package/dist/transport/streamable-http-transport.js +151 -0
  124. package/dist/transport/streamable-http-transport.js.map +1 -0
  125. package/dist/types/index.d.ts +64 -0
  126. package/dist/types/index.d.ts.map +1 -0
  127. package/dist/types/index.js +3 -0
  128. package/dist/types/index.js.map +1 -0
  129. package/dist/web/client/MCPClient.js +348 -0
  130. package/dist/web/client/MCPTestRunner.js +317 -0
  131. package/dist/web/database/json-manager.js +124 -0
  132. package/dist/web/database/sqlite-manager.js +146 -0
  133. package/dist/web/dynamic-mcp-executor.js +443 -0
  134. package/dist/web/generators/MCPServerGenerator-new.js +284 -0
  135. package/dist/web/generators/MCPServerGenerator.js +566 -0
  136. package/dist/web/integrated-mcp-server-new.js +394 -0
  137. package/dist/web/parsers/CsvParser.js +144 -0
  138. package/dist/web/parsers/DatabaseParser.js +637 -0
  139. package/dist/web/parsers/ExcelParser.js +180 -0
  140. package/dist/web/parsers/index.js +152 -0
  141. package/dist/web/server.d.ts +3 -0
  142. package/dist/web/server.d.ts.map +1 -0
  143. package/dist/web/server.js +790 -0
  144. package/dist/web/server.js.map +1 -0
  145. package/dist/web/types/index.js +2 -0
  146. package/dist/web/web/server.js +860 -0
  147. package/package.json +68 -0
  148. package/quickmcp-direct-stdio.js +328 -0
  149. package/src/web/public/app.js +1795 -0
  150. package/src/web/public/database-tables.html +711 -0
  151. package/src/web/public/how-to-use.html +571 -0
  152. package/src/web/public/how-to-use.js +255 -0
  153. package/src/web/public/images/1-claude-quickmcp-stdio.png +0 -0
  154. package/src/web/public/images/2-claude-tools.png +0 -0
  155. package/src/web/public/images/3-claude-developer-settings.png +0 -0
  156. package/src/web/public/images/4-claude-config.png +0 -0
  157. package/src/web/public/images/5-claude-config-edit.png +0 -0
  158. package/src/web/public/index.html +626 -0
  159. package/src/web/public/manage-servers.html +198 -0
  160. package/src/web/public/modern-styles.css +946 -0
  161. package/src/web/public/shared-styles.css +2091 -0
  162. package/src/web/public/shared.js +93 -0
  163. package/src/web/public/test-servers.html +302 -0
package/README.md ADDED
@@ -0,0 +1,553 @@
1
+ # QuickMCP - Modern MCP Server Generator
2
+
3
+ QuickMCP is a powerful web application that allows you to quickly generate Model Context Protocol (MCP) servers from your data sources. Transform your CSV files, Excel spreadsheets, or database tables into fully functional MCP servers that can be integrated with Claude Desktop and other AI tools.
4
+
5
+ ![QuickMCP Main Interface](readme/images/1-generate-servers.png)
6
+
7
+ ## 🚀 Features
8
+
9
+ - **Multiple Data Sources**: Support for CSV files, Excel spreadsheets, and database connections
10
+ - **Automatic MCP Server Generation**: Generate complete MCP servers with CRUD operations
11
+ - **Tool Customization**: Choose which tools to generate for each table (GET, CREATE, UPDATE, DELETE, COUNT, MIN, MAX, SUM, AVG)
12
+ - **Real-time Preview**: See your data structure before generating servers
13
+ - **Server Management**: View, test, and manage all your generated servers
14
+ - **Claude Desktop Integration**: Seamless integration with Claude Desktop via stdio protocol
15
+ - **Modern Web Interface**: Clean, responsive UI built with Tailwind CSS
16
+
17
+ ## 📋 Table of Contents
18
+
19
+ 1. [Installation](#installation)
20
+ 2. [Quick Start](#quick-start)
21
+ 3. [Docker Setup](#docker-setup)
22
+ 4. [Application Screens](#application-screens)
23
+ 5. [Claude Desktop Integration](#claude-desktop-integration)
24
+ 6. [Usage Examples](#usage-examples)
25
+ 7. [API Reference](#api-reference)
26
+ 8. [Development](#development)
27
+
28
+ ## 🛠 Installation
29
+
30
+ ### Prerequisites
31
+
32
+ - Node.js 18+
33
+ - npm or yarn
34
+ - Docker (optional, for database setup)
35
+
36
+ ### Local Installation
37
+
38
+ ```bash
39
+ # Clone the repository
40
+ git clone <repository-url>
41
+ cd quickmcp
42
+
43
+ # Install dependencies
44
+ npm install
45
+
46
+ # Build the project
47
+ npm run build
48
+
49
+ # Start the application
50
+ npm start
51
+ ```
52
+
53
+ The application will be available at `http://localhost:3000`
54
+
55
+ ## 🚀 Quick Start
56
+
57
+ 1. **Start the application**
58
+ ```bash
59
+ npm start dev
60
+ ```
61
+
62
+ 2. **Upload your data**
63
+ - Navigate to the main page
64
+ - Choose between CSV/Excel file upload or database connection
65
+ - Upload your file or configure database connection
66
+
67
+ 3. **Configure your server**
68
+ - Preview your data structure
69
+ - Select tables to include
70
+ - Choose which tools to generate for each table
71
+
72
+ 4. **Generate and use**
73
+ - Click "Generate Server"
74
+ - Configure Claude Desktop integration
75
+ - Start using your MCP tools!
76
+
77
+ ## 🐳 Docker Setup
78
+
79
+ QuickMCP includes a comprehensive Docker setup with a pre-configured MSSQL database containing sample business data for testing and demonstration purposes.
80
+
81
+ ### Prerequisites
82
+
83
+ - Docker Desktop installed and running
84
+ - At least 2GB of available RAM for the MSSQL container
85
+
86
+ ### Start MSSQL Database
87
+
88
+ ```bash
89
+ cd quickmcp-docker
90
+ docker-compose up -d
91
+ ```
92
+
93
+ ### Database Connection Details
94
+
95
+ - **Server:** localhost,1435
96
+ - **Username:** sa
97
+ - **Password:** OrderApp123!
98
+ - **Database:** OrderTransmissionDB
99
+ - **Container Name:** quickmcp_mssql_order_db
100
+
101
+ ### Sample Database Schema
102
+
103
+ The Docker setup automatically creates a complete business database with the following tables:
104
+
105
+ #### Core Tables
106
+
107
+ **Customers Table**
108
+ - CustomerID (Primary Key)
109
+ - CompanyName, ContactName, Email, Phone
110
+ - Address, City, Country
111
+ - CreatedDate
112
+
113
+ **Products Table**
114
+ - ProductID (Primary Key)
115
+ - ProductName, ProductCode (Unique)
116
+ - Category, UnitPrice, StockQuantity
117
+ - Description, CreatedDate
118
+
119
+ **Orders Table**
120
+ - OrderID (Primary Key)
121
+ - OrderNumber (Unique), CustomerID (Foreign Key)
122
+ - OrderDate, RequiredDate, ShippedDate
123
+ - StatusID, TotalAmount, ShippingAddress
124
+ - Notes, CreatedBy, ModifiedDate
125
+
126
+ **OrderDetails Table**
127
+ - OrderDetailID (Primary Key)
128
+ - OrderID, ProductID (Foreign Keys)
129
+ - Quantity, UnitPrice, Discount
130
+ - LineTotal (Calculated Column)
131
+
132
+ **OrderStatus Table** (Lookup)
133
+ - StatusID, StatusName, Description
134
+ - Values: Pending, Processing, Shipped, Delivered, Cancelled
135
+
136
+ **OrderTransmissionLog Table**
137
+ - TransmissionID (Primary Key)
138
+ - OrderID (Foreign Key)
139
+ - TransmissionDate, TransmissionType
140
+ - Destination, Status, ErrorMessage
141
+ - RetryCount, TransmittedBy
142
+
143
+ #### Sample Data Included
144
+
145
+ - **5 Sample Customers** from different countries (USA, Germany, Japan, Spain)
146
+ - **10 Sample Products** including electronics, accessories, and office furniture
147
+ - **5 Sample Orders** with different statuses and shipping addresses
148
+ - **Order Details** with quantities, pricing, and discounts
149
+ - **Transmission Logs** showing successful and failed delivery attempts
150
+
151
+ ### Database Features
152
+
153
+ - **Performance Optimized** with proper indexes on key columns
154
+ - **Referential Integrity** with foreign key constraints
155
+ - **Auto-Generated Values** using IDENTITY columns
156
+ - **Calculated Columns** for line totals and automated timestamps
157
+ - **Sample Business Logic** with realistic e-commerce data
158
+
159
+ ### Docker Configuration
160
+
161
+ **docker-compose.yml**
162
+ ```yaml
163
+ services:
164
+ mssql:
165
+ image: mcr.microsoft.com/mssql/server:2022-latest
166
+ container_name: quickmcp_mssql_order_db
167
+ environment:
168
+ ACCEPT_EULA: Y
169
+ SA_PASSWORD: OrderApp123!
170
+ MSSQL_PID: Express
171
+ ports:
172
+ - "1435:1433"
173
+ volumes:
174
+ - mssql_data:/var/opt/mssql
175
+ - ./init-db-startup.sql:/init-db-startup.sql
176
+ - ./entrypoint.sh:/entrypoint.sh
177
+ command: ["/bin/bash", "/entrypoint.sh"]
178
+ restart: unless-stopped
179
+ ```
180
+
181
+ **Automatic Database Initialization**
182
+
183
+ The setup includes an automated initialization script that:
184
+ 1. Waits for SQL Server to be ready
185
+ 2. Creates the OrderTransmissionDB database
186
+ 3. Creates all tables with proper schema
187
+ 4. Inserts comprehensive sample data
188
+ 5. Creates performance indexes
189
+ 6. Ensures the database is ready for immediate use
190
+
191
+ ### Database Management Commands
192
+
193
+ ```bash
194
+ # Start the database
195
+ docker-compose up -d
196
+
197
+ # Check container status
198
+ docker ps
199
+
200
+ # View container logs
201
+ docker logs quickmcp_mssql_order_db
202
+
203
+ # Stop the database (keeps data)
204
+ docker-compose down
205
+
206
+ # Stop and remove all data
207
+ docker-compose down -v
208
+
209
+ # Restart the database
210
+ docker-compose restart
211
+
212
+ # Connect using sqlcmd
213
+ docker exec -it quickmcp_mssql_order_db /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "OrderApp123!" -C
214
+ ```
215
+
216
+ ### Connecting to QuickMCP
217
+
218
+ 1. Start the Docker database: `docker-compose up -d`
219
+ 2. Wait 30-60 seconds for initialization to complete
220
+ 3. In QuickMCP, choose "Database Connection"
221
+ 4. Select "Microsoft SQL Server"
222
+ 5. Enter connection details:
223
+ - **Host:** localhost
224
+ - **Port:** 1435
225
+ - **Username:** sa
226
+ - **Password:** OrderApp123!
227
+ - **Database:** OrderTransmissionDB
228
+ 6. Click "Test Connection" to verify
229
+ 7. Select tables to include in your MCP server
230
+ 8. Generate your server with full CRUD operations
231
+
232
+ ### Troubleshooting
233
+
234
+ **Container won't start:**
235
+ - Ensure Docker Desktop is running
236
+ - Check if port 1435 is already in use: `lsof -i :1435`
237
+ - Verify sufficient system resources (2GB+ RAM)
238
+
239
+ **Database connection fails:**
240
+ - Wait 60 seconds after container start for full initialization
241
+ - Check container logs: `docker logs quickmcp_mssql_order_db`
242
+ - Verify the database status: `docker exec quickmcp_mssql_order_db /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "OrderApp123!" -C -Q "SELECT 1"`
243
+
244
+ **Data persistence:**
245
+ - Data is stored in Docker volume `mssql_data`
246
+ - Use `docker-compose down -v` only if you want to reset all data
247
+ - Regular `docker-compose down` preserves all data between restarts
248
+
249
+ ## 📱 Application Screens
250
+
251
+ ### 1. Generate Server - Main Interface
252
+
253
+ ![Generate Server Interface](readme/images/1-generate-servers.png)
254
+
255
+ The main interface where you start creating your MCP servers. Choose between file upload or database connection.
256
+
257
+ ### 2. Database Connection Setup
258
+
259
+ ![Database Connection](readme/images/2-database-connection.png)
260
+
261
+ Configure database connections for MySQL, PostgreSQL, SQLite, or MSSQL databases.
262
+
263
+ ### 3. Data Preview & Configuration
264
+
265
+ ![Data Preview](readme/images/3-data-preview.png)
266
+
267
+ Preview your data structure and select which tables to include in your MCP server.
268
+
269
+ ![Data Preview 2](readme/images/4-data-preview2.png)
270
+
271
+ Detailed view of table structure with column types and sample data.
272
+
273
+ ### 4. Server Configuration
274
+
275
+ ![Server Configuration](readme/images/5-server-configuration.png)
276
+
277
+ Configure server details like name, description, and select specific tools for each table.
278
+
279
+ ### 5. Generation Success
280
+
281
+ ![Server Generated](readme/images/6-server-generated-modal.png)
282
+
283
+ Confirmation modal showing successful server generation with statistics.
284
+
285
+ ### 6. Server Management
286
+
287
+ ![Generated Servers](readme/images/7-generated-servers.png)
288
+
289
+ Manage all your generated servers - view details, test, export, or delete.
290
+
291
+ ### 7. Server Details
292
+
293
+ ![Server Details](readme/images/8-generated-servers-view-details.png)
294
+
295
+ Detailed view of generated server including all tools and resources.
296
+
297
+ ## 🔗 Claude Desktop Integration
298
+
299
+ QuickMCP provides seamless integration with Claude Desktop through the stdio protocol.
300
+
301
+ ### Configuration Steps
302
+
303
+ ![Claude Developer Settings](readme/images/claude/3-claude-developer-settings.png)
304
+
305
+ 1. **Open Claude Desktop Developer Settings**
306
+
307
+ ![Claude Config File](readme/images/claude/4-claude-config.png)
308
+
309
+ 2. **Access Configuration File**
310
+
311
+ ![Claude Config Edit](readme/images/claude/5-claude-config-edit.png)
312
+
313
+ 3. **Add QuickMCP Configuration**
314
+
315
+ Add this to your Claude Desktop config:
316
+
317
+ ```json
318
+ {
319
+ "mcpServers": {
320
+ "quickmcp-stdio": {
321
+ "command": "/opt/homebrew/bin/node",
322
+ "args": ["/path/to/quickmcp/quickmcp-direct-stdio.js"]
323
+ }
324
+ }
325
+ }
326
+ ```
327
+
328
+ ### Verification
329
+
330
+ ![Claude QuickMCP Integration](readme/images/claude/1-claude-quickmcp-stdio.png)
331
+
332
+ After configuration, QuickMCP will appear in Claude Desktop.
333
+
334
+ ![Claude Tools Available](readme/images/claude/2-claude-tools.png)
335
+
336
+ All your generated tools will be available in Claude Desktop with the naming pattern: `serverName__toolName`.
337
+
338
+ ## 💡 Usage Examples
339
+
340
+ ### Example 1: CSV File Processing
341
+
342
+ 1. Upload a CSV file with customer data
343
+ 2. Preview the data structure
344
+ 3. Select tools: GET, CREATE, UPDATE for customer management
345
+ 4. Generate the server
346
+ 5. Use in Claude Desktop: `customers__get_customers` to retrieve data
347
+
348
+ ### Example 2: Database Integration
349
+
350
+ 1. Connect to your MySQL database
351
+ 2. Select specific tables (orders, products, customers)
352
+ 3. Enable all CRUD operations plus aggregation tools
353
+ 4. Generate comprehensive MCP server
354
+ 5. Use complex queries through Claude Desktop
355
+
356
+ ### Example 3: Excel Analytics
357
+
358
+ 1. Upload Excel file with sales data
359
+ 2. Enable aggregation tools (SUM, AVG, MIN, MAX)
360
+ 3. Generate analytics-focused MCP server
361
+ 4. Perform data analysis through Claude Desktop
362
+
363
+ ## 🔧 API Reference
364
+
365
+ ### Main Endpoints
366
+
367
+ - `POST /api/parse` - Parse data source (file or database)
368
+ - `POST /api/generate` - Generate MCP server
369
+ - `GET /api/servers` - List all generated servers
370
+ - `GET /api/servers/:id` - Get server details
371
+ - `DELETE /api/servers/:id` - Delete server
372
+ - `POST /api/servers/:id/test` - Test server functionality
373
+
374
+ ### Data Source Types
375
+
376
+ - **CSV**: `.csv` files up to 10MB
377
+ - **Excel**: `.xlsx`, `.xls` files up to 10MB
378
+ - **Database**: MySQL, PostgreSQL, SQLite, MSSQL
379
+
380
+ ### Generated Tools
381
+
382
+ Each table can generate the following tools:
383
+
384
+ - **GET**: Retrieve records with filtering and pagination
385
+ - **CREATE**: Insert new records
386
+ - **UPDATE**: Modify existing records
387
+ - **DELETE**: Remove records
388
+ - **COUNT**: Count total records
389
+ - **MIN/MAX/SUM/AVG**: Aggregation functions for numeric columns
390
+
391
+ ## 🏗 Development
392
+
393
+ ### Project Structure
394
+
395
+ ```
396
+ quickmcp/
397
+ ├── src/
398
+ │ ├── web/ # Web application
399
+ │ ├── generators/ # MCP server generators
400
+ │ ├── parsers/ # Data source parsers
401
+ │ ├── database/ # Database management
402
+ │ └── types/ # TypeScript definitions
403
+ ├── dist/ # Compiled JavaScript
404
+ ├── data/ # SQLite database
405
+ ├── readme/images/ # Documentation images
406
+ └── quickmcp-docker/ # Docker setup
407
+ ```
408
+
409
+ ### Development Commands
410
+
411
+ ```bash
412
+ # Development mode with hot reload
413
+ npm run dev
414
+
415
+ # Build for production
416
+ npm run build
417
+
418
+ # Run tests
419
+ npm test
420
+
421
+ # Type checking
422
+ npm run typecheck
423
+ ```
424
+
425
+ ### Environment Variables
426
+
427
+ - `PORT` - Web server port (default: 3000)
428
+ - `MCP_PORT` - MCP server port (default: 3001)
429
+ - `NODE_ENV` - Environment (development/production)
430
+
431
+ ## 🤝 Contributing
432
+
433
+ 1. Fork the repository
434
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
435
+ 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
436
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
437
+ 5. Open a Pull Request
438
+
439
+ ## 📄 License
440
+
441
+ This project is licensed under the MIT License - see the LICENSE file for details.
442
+
443
+ ## 🔧 Troubleshooting
444
+
445
+ ### Common Issues
446
+
447
+ **Tools not showing in Claude Desktop:**
448
+ - Ensure QuickMCP is running (`npm start`)
449
+ - Verify Claude Desktop configuration
450
+ - Check that the stdio script path is correct
451
+ - Restart Claude Desktop after configuration changes
452
+
453
+ **Database connection issues:**
454
+ - Verify database credentials
455
+ - Check if database server is running
456
+ - Ensure network connectivity
457
+ - Validate database permissions
458
+
459
+ **File upload problems:**
460
+ - Check file size (max 10MB)
461
+ - Verify file format (CSV, Excel)
462
+ - Ensure proper file encoding (UTF-8)
463
+
464
+ ## 📞 Support
465
+
466
+ For issues and questions:
467
+ - Create an issue in the repository
468
+ - Check existing documentation
469
+ - Review troubleshooting section
470
+
471
+ ---
472
+
473
+ Built with ❤️ using Node.js, TypeScript, and modern web technologies.
474
+
475
+ ## 📦 NPM/Npx Usage (Web UI by default)
476
+
477
+ QuickMCP, NPM üzerinden çalıştırıldığında artık varsayılan olarak web arayüzünü başlatır.
478
+
479
+ ### Hızlı başlatma
480
+
481
+ ```bash
482
+ npx -y @softtech/quickmcp
483
+ # UI -> http://localhost:3000
484
+ # Integrated MCP sidecar -> :3001
485
+ ```
486
+
487
+ ### İsteğe bağlı bayraklar
488
+
489
+ - `--no-web`: Web UI’ı devre dışı bırakır (yalnızca stdio çalışır)
490
+ - `--port=4000`: Web UI portunu değiştirir (varsayılan 3000)
491
+ - `--data-dir=./data`: SQLite veri dizinini değiştirir
492
+
493
+ Örnek:
494
+
495
+ ```bash
496
+ npx -y @softtech/quickmcp --port=4000 --data-dir=./data
497
+ ```
498
+
499
+ ### Ortam değişkenleri
500
+
501
+ - `QUICKMCP_ENABLE_WEB=1`: Web UI’ı etkinleştirir (varsayılan davranış)
502
+ - `QUICKMCP_ENABLE_WEB=0` veya `QUICKMCP_DISABLE_WEB=1`: Web UI’ı kapatır
503
+ - `PORT`: Web UI portu (varsayılan 3000)
504
+ - `QUICKMCP_DATA_DIR`: SQLite veri dizini
505
+
506
+ Örnek:
507
+
508
+ ```bash
509
+ PORT=4000 QUICKMCP_DATA_DIR=./data npx -y @softtech/quickmcp
510
+ ```
511
+
512
+ > Not: Web UI, stdio tabanlı MCP sunucusunun yanında yan servis olarak çalışır; Claude Desktop entegrasyonu ile çakışmaz.
513
+
514
+ ### Claude Desktop ile npx kullanımı
515
+
516
+ `~/Library/Application Support/Claude/claude_desktop_config.json` içine örnek konfigürasyon:
517
+
518
+ ```json
519
+ {
520
+ "mcpServers": {
521
+ "quickmcp": {
522
+ "command": "npx",
523
+ "args": ["-y", "@softtech/quickmcp"]
524
+ }
525
+ }
526
+ }
527
+ ```
528
+
529
+ UI istemiyorsanız:
530
+
531
+ ```json
532
+ {
533
+ "mcpServers": {
534
+ "quickmcp": {
535
+ "command": "npx",
536
+ "args": ["-y", "@softtech/quickmcp", "--no-web"]
537
+ }
538
+ }
539
+ }
540
+ ```
541
+
542
+ Yerel stdio script yolunu kullanmak isterseniz (alternatif):
543
+
544
+ ```json
545
+ {
546
+ "mcpServers": {
547
+ "quickmcp-local": {
548
+ "command": "/opt/homebrew/bin/node",
549
+ "args": ["/path/to/quickmcp/quickmcp-direct-stdio.js"]
550
+ }
551
+ }
552
+ }
553
+ ```
@@ -0,0 +1,24 @@
1
+ import { MCPTestRequest, MCPTestResponse } from '../types';
2
+ export declare class MCPClient {
3
+ private process;
4
+ private messageId;
5
+ private pendingRequests;
6
+ private isConnected;
7
+ private buffer;
8
+ connect(serverPath: string): Promise<void>;
9
+ disconnect(): Promise<void>;
10
+ listTools(): Promise<any[]>;
11
+ listResources(): Promise<any[]>;
12
+ listPrompts(): Promise<any[]>;
13
+ callTool(name: string, args?: any): Promise<MCPTestResponse>;
14
+ readResource(uri: string): Promise<MCPTestResponse>;
15
+ getPrompt(name: string, args?: any): Promise<MCPTestResponse>;
16
+ testRequest(request: MCPTestRequest): Promise<MCPTestResponse>;
17
+ private initialize;
18
+ private sendRequest;
19
+ private sendNotification;
20
+ private handleMessage;
21
+ private processMessage;
22
+ get connected(): boolean;
23
+ }
24
+ //# sourceMappingURL=MCPClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPClient.d.ts","sourceRoot":"","sources":["../../src/client/MCPClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAe3D,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAGlB;IACL,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAM;IAEd,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAK3B,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAK/B,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAK7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IAmB5D,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAenD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IAmB7D,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;YAgBtD,UAAU;YAgBV,WAAW;YA8BX,gBAAgB;IAe9B,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,cAAc;IAatB,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF"}