@standardbeagle/mcp-tui 0.5.0 โ 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +191 -0
- package/QUICK_START.md +425 -0
- package/README.md +61 -10
- package/bin/mcp-tui +0 -0
- package/bin/mcp-tui-local +0 -0
- package/examples/CONFIG_REFERENCE.md +363 -0
- package/examples/claude-desktop-config.json +66 -0
- package/examples/development-preset.json +50 -0
- package/examples/mcp-config.json +83 -0
- package/examples/mcp-config.yaml +78 -0
- package/examples/multi-server-config.json +106 -0
- package/examples/multi-transport-config.json +67 -0
- package/examples/production-setup.json +61 -0
- package/examples/single-server-config.json +16 -0
- package/examples/transport-examples.json +140 -0
- package/package.json +16 -5
- package/scripts/install.js +14 -0
package/README.md
CHANGED
|
@@ -111,7 +111,7 @@ mcp-tui # Connects automatically!
|
|
|
111
111
|
|
|
112
112
|
**๐ค Building Automation? Use CLI Mode:**
|
|
113
113
|
```bash
|
|
114
|
-
# List all available tools via STDIO (combined command input)
|
|
114
|
+
# List all available tools via STDIO (combined command input)
|
|
115
115
|
mcp-tui "npx -y @modelcontextprotocol/server-everything stdio" tool list
|
|
116
116
|
|
|
117
117
|
# Or via SSE
|
|
@@ -121,10 +121,21 @@ mcp-tui --url http://localhost:8000/sse tool list
|
|
|
121
121
|
mcp-tui --url http://localhost:8000/sse tool call echo message="Hello World"
|
|
122
122
|
|
|
123
123
|
# Get JSON output for your scripts
|
|
124
|
-
mcp-tui --
|
|
124
|
+
mcp-tui --url http://localhost:8000/sse tool list -f json
|
|
125
125
|
```
|
|
126
126
|
*Why this works: Combined command input, perfect for CI/CD, scripts, and automated testing workflows*
|
|
127
127
|
|
|
128
|
+
**๐งช Writing Tests? Use Porcelain Mode:**
|
|
129
|
+
```bash
|
|
130
|
+
# Porcelain mode gives clean output for test assertions
|
|
131
|
+
mcp-tui --porcelain "npx -y @modelcontextprotocol/server-everything stdio" tool call echo message="test"
|
|
132
|
+
|
|
133
|
+
# Combine with JSON for predictable parsing
|
|
134
|
+
result=$(mcp-tui --porcelain -f json tool call weather location="NYC")
|
|
135
|
+
temp=$(echo "$result" | jq -r '.temp')
|
|
136
|
+
```
|
|
137
|
+
*Why this works: No progress messages, only result data on stdout, detailed errors on stderr*
|
|
138
|
+
|
|
128
139
|
**๐ Have a Web Service? Connect via HTTP:**
|
|
129
140
|
```bash
|
|
130
141
|
# Visual interface for web-based MCP servers
|
|
@@ -312,6 +323,47 @@ make test-servers
|
|
|
312
323
|
./mcp-tui --cmd node --args "test-servers/crash-server.js" tool list
|
|
313
324
|
```
|
|
314
325
|
|
|
326
|
+
### Testing with Porcelain Mode
|
|
327
|
+
|
|
328
|
+
For automated testing and CI/CD pipelines, use `--porcelain` mode to get clean, parseable output:
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
# Test that a tool returns expected result
|
|
332
|
+
result=$(mcp-tui --porcelain "npx -y @modelcontextprotocol/server-everything stdio" tool call echo message="test")
|
|
333
|
+
if [[ "$result" == *"test"* ]]; then
|
|
334
|
+
echo "PASS: echo tool returned expected message"
|
|
335
|
+
else
|
|
336
|
+
echo "FAIL: unexpected result: $result"
|
|
337
|
+
exit 1
|
|
338
|
+
fi
|
|
339
|
+
|
|
340
|
+
# Parse JSON output for assertions
|
|
341
|
+
result=$(mcp-tui --porcelain -f json "npx -y @modelcontextprotocol/server-everything stdio" tool call weather location="NYC")
|
|
342
|
+
temp=$(echo "$result" | jq -r '.temp')
|
|
343
|
+
if [[ "$temp" =~ ^[0-9]+ ]]; then
|
|
344
|
+
echo "PASS: temperature is numeric: $temp"
|
|
345
|
+
else
|
|
346
|
+
echo "FAIL: invalid temperature: $temp"
|
|
347
|
+
exit 1
|
|
348
|
+
fi
|
|
349
|
+
|
|
350
|
+
# Count tools in CI/CD
|
|
351
|
+
tool_count=$(mcp-tui --porcelain -f json tool list | jq '.count')
|
|
352
|
+
if [ "$tool_count" -gt 0 ]; then
|
|
353
|
+
echo "PASS: server exposes $tool_count tools"
|
|
354
|
+
else
|
|
355
|
+
echo "FAIL: no tools available"
|
|
356
|
+
exit 1
|
|
357
|
+
fi
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
**Porcelain Mode Benefits:**
|
|
361
|
+
- โ
No progress messages or timestamps
|
|
362
|
+
- โ
Predictable output for assertions
|
|
363
|
+
- โ
Clean stdout with only result data
|
|
364
|
+
- โ
Detailed errors on stderr for debugging
|
|
365
|
+
- โ
Perfect for CI/CD pipelines and automated tests
|
|
366
|
+
|
|
315
367
|
## ๐ Commands Reference
|
|
316
368
|
|
|
317
369
|
### Command Line Arguments
|
|
@@ -352,16 +404,15 @@ mcp-tui prompt get <name> [args...] # Get a prompt with arguments
|
|
|
352
404
|
|
|
353
405
|
### Global Options
|
|
354
406
|
```bash
|
|
355
|
-
--url string # URL for SSE servers
|
|
356
|
-
--
|
|
357
|
-
--
|
|
407
|
+
--url string # URL for SSE/HTTP servers
|
|
408
|
+
--cmd string # Command to run MCP server (STDIO mode)
|
|
409
|
+
--args strings # Arguments for server command
|
|
410
|
+
--transport string # Transport type (stdio, sse, http, streamable-http)
|
|
411
|
+
--timeout duration # Connection timeout (default 10s)
|
|
412
|
+
--format string # Output format: text or json (short: -f) (default "text")
|
|
413
|
+
--porcelain # Machine-readable output (no progress messages)
|
|
358
414
|
--debug # Enable debug mode with detailed logging
|
|
359
415
|
--log-level string # Log level (debug, info, warn, error)
|
|
360
|
-
--json # Output results in JSON format
|
|
361
|
-
|
|
362
|
-
# Legacy options (STDIO support coming back soon):
|
|
363
|
-
--cmd string # Command to run MCP server (not yet implemented)
|
|
364
|
-
--args strings # Arguments for server command (not yet implemented)
|
|
365
416
|
```
|
|
366
417
|
|
|
367
418
|
## ๐ Error Handling & Debugging
|
package/bin/mcp-tui
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
# MCP Configuration Reference
|
|
2
|
+
|
|
3
|
+
This document provides a comprehensive reference for MCP configuration patterns, including examples from various MCP clients and servers.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
- [Configuration Formats](#configuration-formats)
|
|
7
|
+
- [MCP-TUI Configuration](#mcp-tui-configuration)
|
|
8
|
+
- [Claude Desktop Configuration](#claude-desktop-configuration)
|
|
9
|
+
- [Transport Types](#transport-types)
|
|
10
|
+
- [Common Patterns](#common-patterns)
|
|
11
|
+
|
|
12
|
+
## Configuration Formats
|
|
13
|
+
|
|
14
|
+
MCP configurations can be written in JSON or YAML format. The examples in this directory demonstrate both.
|
|
15
|
+
|
|
16
|
+
### File Locations
|
|
17
|
+
|
|
18
|
+
MCP-TUI searches for configuration files in this order:
|
|
19
|
+
|
|
20
|
+
1. **Command-line specified**: `--config path/to/config.json`
|
|
21
|
+
2. **Project-local**: `.mcp.json`, `.claude.json` in current directory
|
|
22
|
+
3. **User config**: `~/.config/mcp-tui/connections.json` (saved connections format)
|
|
23
|
+
4. **Claude Desktop**:
|
|
24
|
+
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
25
|
+
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
26
|
+
- Linux: `~/.config/Claude/claude_desktop_config.json`
|
|
27
|
+
5. **VS Code workspace**: `.vscode/mcp.json`
|
|
28
|
+
|
|
29
|
+
## MCP-TUI Configuration
|
|
30
|
+
|
|
31
|
+
MCP-TUI supports two configuration approaches:
|
|
32
|
+
|
|
33
|
+
1. **Unified Configuration**: Comprehensive structure for advanced features
|
|
34
|
+
2. **Saved Connections**: Simplified format for managing multiple servers
|
|
35
|
+
|
|
36
|
+
### Saved Connections Format (Recommended)
|
|
37
|
+
|
|
38
|
+
The saved connections format provides an intuitive way to manage multiple MCP servers with features like auto-connect, recent connections, and visual organization:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"version": "1.0",
|
|
43
|
+
"defaultServer": "filesystem",
|
|
44
|
+
"servers": {
|
|
45
|
+
"filesystem": {
|
|
46
|
+
"id": "filesystem",
|
|
47
|
+
"name": "Local Filesystem",
|
|
48
|
+
"description": "Access local files and directories",
|
|
49
|
+
"icon": "๐",
|
|
50
|
+
"transport": "stdio",
|
|
51
|
+
"command": "npx",
|
|
52
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"],
|
|
53
|
+
"success": false,
|
|
54
|
+
"tags": ["local", "files"],
|
|
55
|
+
"lastUsed": "2025-01-12T10:30:00Z"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"recentConnections": [
|
|
59
|
+
{
|
|
60
|
+
"serverId": "filesystem",
|
|
61
|
+
"lastUsed": "2025-01-12T10:30:00Z",
|
|
62
|
+
"success": true
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Key features:
|
|
69
|
+
- **Auto-connect**: Set `defaultServer` or configure single server for automatic connection
|
|
70
|
+
- **Visual organization**: Icons, names, descriptions, and tags for easy identification
|
|
71
|
+
- **Recent connections**: Tracks usage history and success status
|
|
72
|
+
- **Environment variables**: Supports `${env:VAR_NAME}` substitution
|
|
73
|
+
|
|
74
|
+
### Unified Configuration
|
|
75
|
+
|
|
76
|
+
MCP-TUI uses a comprehensive configuration structure that supports multiple aspects of MCP client behavior.
|
|
77
|
+
|
|
78
|
+
### Basic Structure
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"connection": {
|
|
83
|
+
"type": "stdio|sse|http|streamable-http",
|
|
84
|
+
"command": "command-to-execute",
|
|
85
|
+
"args": ["arg1", "arg2"],
|
|
86
|
+
"url": "http://server-url",
|
|
87
|
+
"headers": {"Header": "Value"}
|
|
88
|
+
},
|
|
89
|
+
"transport": {
|
|
90
|
+
"http": { /* HTTP-specific settings */ },
|
|
91
|
+
"stdio": { /* STDIO-specific settings */ },
|
|
92
|
+
"sse": { /* SSE-specific settings */ }
|
|
93
|
+
},
|
|
94
|
+
"session": { /* Session management settings */ },
|
|
95
|
+
"error_handling": { /* Error handling configuration */ },
|
|
96
|
+
"debug": { /* Debug and logging settings */ },
|
|
97
|
+
"cli": { /* CLI-specific settings */ }
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Complete Example
|
|
102
|
+
|
|
103
|
+
See `mcp-config.json` and `mcp-config.yaml` for complete configuration examples.
|
|
104
|
+
|
|
105
|
+
## Claude Desktop Configuration
|
|
106
|
+
|
|
107
|
+
Claude Desktop uses a simpler configuration format focused on server definitions.
|
|
108
|
+
|
|
109
|
+
### Structure
|
|
110
|
+
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"mcpServers": {
|
|
114
|
+
"server-name": {
|
|
115
|
+
"command": "executable",
|
|
116
|
+
"args": ["arg1", "arg2"],
|
|
117
|
+
"env": {
|
|
118
|
+
"ENV_VAR": "value"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Multiple Servers Example
|
|
126
|
+
|
|
127
|
+
See `claude-desktop-config.json` for an example with multiple server configurations.
|
|
128
|
+
|
|
129
|
+
## Transport Types
|
|
130
|
+
|
|
131
|
+
### STDIO Transport
|
|
132
|
+
|
|
133
|
+
Most common for local MCP servers. The server communicates via standard input/output.
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"type": "stdio",
|
|
138
|
+
"command": "npx",
|
|
139
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### HTTP Transport
|
|
144
|
+
|
|
145
|
+
For REST API-style MCP servers with request/response pattern.
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"type": "http",
|
|
150
|
+
"url": "http://localhost:8080/mcp",
|
|
151
|
+
"headers": {
|
|
152
|
+
"Authorization": "Bearer token"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### SSE Transport
|
|
158
|
+
|
|
159
|
+
For servers using Server-Sent Events for real-time communication.
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"type": "sse",
|
|
164
|
+
"url": "http://localhost:3000/sse",
|
|
165
|
+
"headers": {
|
|
166
|
+
"X-API-Key": "api-key"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Streamable HTTP Transport
|
|
172
|
+
|
|
173
|
+
For servers supporting streaming HTTP responses.
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"type": "streamable-http",
|
|
178
|
+
"url": "http://localhost:8080/mcp/stream"
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Common Patterns
|
|
183
|
+
|
|
184
|
+
### Environment Variable Substitution
|
|
185
|
+
|
|
186
|
+
Many configurations support environment variable substitution using `${VAR_NAME}` syntax:
|
|
187
|
+
|
|
188
|
+
```json
|
|
189
|
+
{
|
|
190
|
+
"headers": {
|
|
191
|
+
"Authorization": "Bearer ${API_TOKEN}",
|
|
192
|
+
"X-API-Key": "${API_KEY}"
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Timeout Configuration
|
|
198
|
+
|
|
199
|
+
Standard timeout values in Go duration format:
|
|
200
|
+
- `30s` - 30 seconds
|
|
201
|
+
- `5m` - 5 minutes
|
|
202
|
+
- `1h30m` - 1 hour 30 minutes
|
|
203
|
+
|
|
204
|
+
### Security Settings
|
|
205
|
+
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"connection": {
|
|
209
|
+
"deny_unsafe_commands": true,
|
|
210
|
+
"allowed_commands": ["npx", "node", "python"]
|
|
211
|
+
},
|
|
212
|
+
"transport": {
|
|
213
|
+
"http": {
|
|
214
|
+
"tls_min_version": "1.2",
|
|
215
|
+
"tls_insecure_skip_verify": false
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Debug Configuration
|
|
222
|
+
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"debug": {
|
|
226
|
+
"enabled": true,
|
|
227
|
+
"log_level": "debug",
|
|
228
|
+
"http_debugging": true,
|
|
229
|
+
"event_tracing": true
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Server-Specific Examples
|
|
235
|
+
|
|
236
|
+
### Official MCP Servers
|
|
237
|
+
|
|
238
|
+
1. **Everything Server** (test server with all capabilities):
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"command": "npx",
|
|
242
|
+
"args": ["-y", "@modelcontextprotocol/server-everything", "stdio"]
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
2. **Filesystem Server**:
|
|
247
|
+
```json
|
|
248
|
+
{
|
|
249
|
+
"command": "npx",
|
|
250
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path1", "/path2"]
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
3. **SQLite Server**:
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"command": "npx",
|
|
258
|
+
"args": ["mcp-server-sqlite", "--db-path", "/path/to/database.db"]
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Custom Servers
|
|
263
|
+
|
|
264
|
+
1. **Python Server**:
|
|
265
|
+
```json
|
|
266
|
+
{
|
|
267
|
+
"command": "python",
|
|
268
|
+
"args": ["server.py", "--port", "3000"],
|
|
269
|
+
"env": {
|
|
270
|
+
"PYTHONPATH": "/path/to/modules"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
2. **Node.js Server**:
|
|
276
|
+
```json
|
|
277
|
+
{
|
|
278
|
+
"command": "node",
|
|
279
|
+
"args": ["dist/index.js"],
|
|
280
|
+
"env": {
|
|
281
|
+
"NODE_ENV": "production"
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
3. **Docker Container**:
|
|
287
|
+
```json
|
|
288
|
+
{
|
|
289
|
+
"command": "docker",
|
|
290
|
+
"args": ["run", "-i", "--rm", "my-mcp-server:latest"]
|
|
291
|
+
}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Best Practices
|
|
295
|
+
|
|
296
|
+
1. **Use absolute paths** for file references and commands when possible
|
|
297
|
+
2. **Set appropriate timeouts** based on your server's response times
|
|
298
|
+
3. **Enable debug logging** during development
|
|
299
|
+
4. **Use environment variables** for sensitive data like API keys
|
|
300
|
+
5. **Validate commands** with `deny_unsafe_commands: true` for security
|
|
301
|
+
6. **Configure health checks** for production deployments
|
|
302
|
+
7. **Set up proper error handling** with retry logic for network transports
|
|
303
|
+
|
|
304
|
+
## Validation
|
|
305
|
+
|
|
306
|
+
MCP-TUI includes configuration validation. Common validation rules:
|
|
307
|
+
|
|
308
|
+
- Transport type must be one of: `stdio`, `sse`, `http`, `streamable-http`
|
|
309
|
+
- Timeouts must be positive durations
|
|
310
|
+
- Buffer sizes must be at least 1024 bytes
|
|
311
|
+
- Log levels must be one of: `debug`, `info`, `warn`, `error`
|
|
312
|
+
- Backoff strategies must be one of: `none`, `linear`, `exponential`
|
|
313
|
+
|
|
314
|
+
## Migration from Other Clients
|
|
315
|
+
|
|
316
|
+
### From Claude Desktop to MCP-TUI
|
|
317
|
+
|
|
318
|
+
Claude Desktop configuration:
|
|
319
|
+
```json
|
|
320
|
+
{
|
|
321
|
+
"mcpServers": {
|
|
322
|
+
"myserver": {
|
|
323
|
+
"command": "node",
|
|
324
|
+
"args": ["server.js"]
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Equivalent MCP-TUI configuration:
|
|
331
|
+
```json
|
|
332
|
+
{
|
|
333
|
+
"connection": {
|
|
334
|
+
"type": "stdio",
|
|
335
|
+
"command": "node",
|
|
336
|
+
"args": ["server.js"]
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Example Files in This Directory
|
|
342
|
+
|
|
343
|
+
### Saved Connections Format
|
|
344
|
+
- `single-server-config.json` - Simple auto-connect setup
|
|
345
|
+
- `development-preset.json` - Common development tools
|
|
346
|
+
- `multi-transport-config.json` - All transport types with saved connections
|
|
347
|
+
- `production-setup.json` - Production environment configuration
|
|
348
|
+
|
|
349
|
+
### Unified Configuration Format
|
|
350
|
+
- `mcp-config.json` - Basic MCP-TUI configuration
|
|
351
|
+
- `mcp-config.yaml` - Same configuration in YAML format
|
|
352
|
+
- `multi-server-config.json` - Multiple servers with different transports
|
|
353
|
+
- `transport-examples.json` - Examples for each transport type
|
|
354
|
+
|
|
355
|
+
### Compatibility Formats
|
|
356
|
+
- `claude-desktop-config.json` - Claude Desktop multi-server example
|
|
357
|
+
|
|
358
|
+
### Quick Start
|
|
359
|
+
|
|
360
|
+
1. **Copy a preset**: Use `development-preset.json` as a starting point
|
|
361
|
+
2. **Auto-connect setup**: Copy `single-server-config.json` for immediate connection
|
|
362
|
+
3. **Multi-environment**: Use `production-setup.json` for complex setups
|
|
363
|
+
4. **All features**: Check `multi-transport-config.json` for comprehensive example
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"filesystem": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"@modelcontextprotocol/server-filesystem",
|
|
8
|
+
"/Users/username/Desktop",
|
|
9
|
+
"/Users/username/Downloads"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"weather": {
|
|
13
|
+
"command": "uv",
|
|
14
|
+
"args": [
|
|
15
|
+
"--directory",
|
|
16
|
+
"/path/to/weather",
|
|
17
|
+
"run",
|
|
18
|
+
"weather.py"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"github": {
|
|
22
|
+
"command": "node",
|
|
23
|
+
"args": [
|
|
24
|
+
"/path/to/github/dist/index.js"
|
|
25
|
+
],
|
|
26
|
+
"env": {
|
|
27
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_pat_here"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"sqlite": {
|
|
31
|
+
"command": "npx",
|
|
32
|
+
"args": [
|
|
33
|
+
"mcp-server-sqlite",
|
|
34
|
+
"--db-path",
|
|
35
|
+
"/path/to/database.db"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"puppeteer": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": [
|
|
41
|
+
"-y",
|
|
42
|
+
"@modelcontextprotocol/server-puppeteer"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"postgres": {
|
|
46
|
+
"command": "npx",
|
|
47
|
+
"args": [
|
|
48
|
+
"-y",
|
|
49
|
+
"@modelcontextprotocol/server-postgres",
|
|
50
|
+
"postgresql://localhost/mydb"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"custom-local": {
|
|
54
|
+
"command": "python",
|
|
55
|
+
"args": [
|
|
56
|
+
"/path/to/custom/server.py",
|
|
57
|
+
"--port",
|
|
58
|
+
"3000"
|
|
59
|
+
],
|
|
60
|
+
"env": {
|
|
61
|
+
"API_KEY": "your-api-key",
|
|
62
|
+
"DEBUG": "true"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"defaultServer": "everything",
|
|
4
|
+
"servers": {
|
|
5
|
+
"everything": {
|
|
6
|
+
"id": "everything",
|
|
7
|
+
"name": "Everything Server",
|
|
8
|
+
"description": "Official MCP server with all features for testing",
|
|
9
|
+
"icon": "๐",
|
|
10
|
+
"transport": "stdio",
|
|
11
|
+
"command": "npx",
|
|
12
|
+
"args": ["-y", "@modelcontextprotocol/server-everything", "stdio"],
|
|
13
|
+
"success": false,
|
|
14
|
+
"tags": ["testing", "development"]
|
|
15
|
+
},
|
|
16
|
+
"filesystem-home": {
|
|
17
|
+
"id": "filesystem-home",
|
|
18
|
+
"name": "Home Directory",
|
|
19
|
+
"description": "Access your home directory files",
|
|
20
|
+
"icon": "๐ ",
|
|
21
|
+
"transport": "stdio",
|
|
22
|
+
"command": "npx",
|
|
23
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "~"],
|
|
24
|
+
"success": false,
|
|
25
|
+
"tags": ["filesystem", "home"]
|
|
26
|
+
},
|
|
27
|
+
"filesystem-workspace": {
|
|
28
|
+
"id": "filesystem-workspace",
|
|
29
|
+
"name": "Workspace Files",
|
|
30
|
+
"description": "Access current workspace directory",
|
|
31
|
+
"icon": "๐ผ",
|
|
32
|
+
"transport": "stdio",
|
|
33
|
+
"command": "npx",
|
|
34
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
|
|
35
|
+
"success": false,
|
|
36
|
+
"tags": ["filesystem", "workspace"]
|
|
37
|
+
},
|
|
38
|
+
"sqlite-local": {
|
|
39
|
+
"id": "sqlite-local",
|
|
40
|
+
"name": "Local SQLite DB",
|
|
41
|
+
"description": "Local SQLite database access",
|
|
42
|
+
"icon": "๐๏ธ",
|
|
43
|
+
"transport": "stdio",
|
|
44
|
+
"command": "npx",
|
|
45
|
+
"args": ["-y", "@modelcontextprotocol/server-sqlite", "./database.db"],
|
|
46
|
+
"success": false,
|
|
47
|
+
"tags": ["database", "sqlite"]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"connection": {
|
|
3
|
+
"type": "stdio",
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"@modelcontextprotocol/server-everything",
|
|
8
|
+
"stdio"
|
|
9
|
+
],
|
|
10
|
+
"connection_timeout": "30s",
|
|
11
|
+
"request_timeout": "30s",
|
|
12
|
+
"health_check_timeout": "5s",
|
|
13
|
+
"deny_unsafe_commands": true
|
|
14
|
+
},
|
|
15
|
+
"transport": {
|
|
16
|
+
"http": {
|
|
17
|
+
"timeout": "30s",
|
|
18
|
+
"max_idle_conns": 100,
|
|
19
|
+
"max_idle_conns_per_host": 10,
|
|
20
|
+
"idle_conn_timeout": "90s",
|
|
21
|
+
"tls_min_version": "1.2",
|
|
22
|
+
"user_agent": "mcp-tui/0.1.0"
|
|
23
|
+
},
|
|
24
|
+
"stdio": {
|
|
25
|
+
"command_validation": true,
|
|
26
|
+
"max_processes": 10,
|
|
27
|
+
"process_timeout": "300s",
|
|
28
|
+
"kill_timeout": "10s"
|
|
29
|
+
},
|
|
30
|
+
"sse": {
|
|
31
|
+
"reconnect_interval": "5s",
|
|
32
|
+
"max_reconnect_attempts": 5,
|
|
33
|
+
"buffer_size": 8192,
|
|
34
|
+
"read_timeout": "30s",
|
|
35
|
+
"write_timeout": "10s"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"session": {
|
|
39
|
+
"health_check_interval": "30s",
|
|
40
|
+
"health_check_timeout": "5s",
|
|
41
|
+
"max_reconnect_attempts": 3,
|
|
42
|
+
"reconnect_delay": "2s",
|
|
43
|
+
"reconnect_backoff": "exponential",
|
|
44
|
+
"max_reconnect_delay": "60s",
|
|
45
|
+
"enable_persistence": false,
|
|
46
|
+
"persistence_interval": "60s"
|
|
47
|
+
},
|
|
48
|
+
"error_handling": {
|
|
49
|
+
"enable_classification": true,
|
|
50
|
+
"user_friendly_messages": true,
|
|
51
|
+
"max_error_history": 1000,
|
|
52
|
+
"error_reporting": false,
|
|
53
|
+
"enable_retry": true,
|
|
54
|
+
"max_retry_attempts": 3,
|
|
55
|
+
"retry_delay": "1s",
|
|
56
|
+
"retry_backoff": "exponential"
|
|
57
|
+
},
|
|
58
|
+
"debug": {
|
|
59
|
+
"enabled": false,
|
|
60
|
+
"log_level": "info",
|
|
61
|
+
"event_tracing": false,
|
|
62
|
+
"max_traced_events": 1000,
|
|
63
|
+
"http_debugging": false,
|
|
64
|
+
"http_trace_body": false,
|
|
65
|
+
"http_trace_headers": false,
|
|
66
|
+
"pretty_print": true,
|
|
67
|
+
"colored_output": true,
|
|
68
|
+
"timestamp_format": "2006-01-02T15:04:05Z07:00",
|
|
69
|
+
"export_events": false,
|
|
70
|
+
"export_format": "json"
|
|
71
|
+
},
|
|
72
|
+
"cli": {
|
|
73
|
+
"output_format": "table",
|
|
74
|
+
"quiet_mode": false,
|
|
75
|
+
"verbose_mode": false,
|
|
76
|
+
"no_color": false,
|
|
77
|
+
"show_progress": true,
|
|
78
|
+
"progress_style": "bar",
|
|
79
|
+
"enable_clipboard": true,
|
|
80
|
+
"enable_paging": true,
|
|
81
|
+
"page_size": 25
|
|
82
|
+
}
|
|
83
|
+
}
|