@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
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
|
+

|
|
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
|
+

|
|
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
|
+

|
|
260
|
+
|
|
261
|
+
Configure database connections for MySQL, PostgreSQL, SQLite, or MSSQL databases.
|
|
262
|
+
|
|
263
|
+
### 3. Data Preview & Configuration
|
|
264
|
+
|
|
265
|
+

|
|
266
|
+
|
|
267
|
+
Preview your data structure and select which tables to include in your MCP server.
|
|
268
|
+
|
|
269
|
+

|
|
270
|
+
|
|
271
|
+
Detailed view of table structure with column types and sample data.
|
|
272
|
+
|
|
273
|
+
### 4. Server Configuration
|
|
274
|
+
|
|
275
|
+

|
|
276
|
+
|
|
277
|
+
Configure server details like name, description, and select specific tools for each table.
|
|
278
|
+
|
|
279
|
+
### 5. Generation Success
|
|
280
|
+
|
|
281
|
+

|
|
282
|
+
|
|
283
|
+
Confirmation modal showing successful server generation with statistics.
|
|
284
|
+
|
|
285
|
+
### 6. Server Management
|
|
286
|
+
|
|
287
|
+

|
|
288
|
+
|
|
289
|
+
Manage all your generated servers - view details, test, export, or delete.
|
|
290
|
+
|
|
291
|
+
### 7. Server Details
|
|
292
|
+
|
|
293
|
+

|
|
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
|
+

|
|
304
|
+
|
|
305
|
+
1. **Open Claude Desktop Developer Settings**
|
|
306
|
+
|
|
307
|
+

|
|
308
|
+
|
|
309
|
+
2. **Access Configuration File**
|
|
310
|
+
|
|
311
|
+

|
|
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
|
+

|
|
331
|
+
|
|
332
|
+
After configuration, QuickMCP will appear in Claude Desktop.
|
|
333
|
+
|
|
334
|
+

|
|
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"}
|