@standardbeagle/mcp-tui 0.5.0 → 0.6.1

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.
@@ -0,0 +1,106 @@
1
+ {
2
+ "servers": [
3
+ {
4
+ "name": "filesystem",
5
+ "connection": {
6
+ "type": "stdio",
7
+ "command": "npx",
8
+ "args": [
9
+ "-y",
10
+ "@modelcontextprotocol/server-filesystem",
11
+ "/home/user/projects",
12
+ "/home/user/documents"
13
+ ]
14
+ },
15
+ "description": "File system access server",
16
+ "enabled": true
17
+ },
18
+ {
19
+ "name": "weather-api",
20
+ "connection": {
21
+ "type": "http",
22
+ "url": "http://localhost:8000/mcp"
23
+ },
24
+ "description": "Weather data API server",
25
+ "enabled": true,
26
+ "transport": {
27
+ "http": {
28
+ "headers": {
29
+ "Authorization": "Bearer ${WEATHER_API_KEY}"
30
+ }
31
+ }
32
+ }
33
+ },
34
+ {
35
+ "name": "database",
36
+ "connection": {
37
+ "type": "stdio",
38
+ "command": "python",
39
+ "args": [
40
+ "/opt/mcp-servers/database/server.py",
41
+ "--config",
42
+ "/etc/mcp/database.conf"
43
+ ]
44
+ },
45
+ "description": "Database access server",
46
+ "enabled": true,
47
+ "session": {
48
+ "health_check_interval": "60s",
49
+ "max_reconnect_attempts": 5
50
+ }
51
+ },
52
+ {
53
+ "name": "realtime-data",
54
+ "connection": {
55
+ "type": "sse",
56
+ "url": "http://localhost:3000/sse",
57
+ "headers": {
58
+ "X-API-Key": "${REALTIME_API_KEY}"
59
+ }
60
+ },
61
+ "description": "Real-time data streaming server",
62
+ "enabled": true,
63
+ "transport": {
64
+ "sse": {
65
+ "reconnect_interval": "10s",
66
+ "max_reconnect_attempts": 10,
67
+ "buffer_size": 16384
68
+ }
69
+ }
70
+ },
71
+ {
72
+ "name": "development-server",
73
+ "connection": {
74
+ "type": "stdio",
75
+ "command": "./dev-server",
76
+ "args": ["--mcp", "--verbose"],
77
+ "working_directory": "/home/user/dev/my-mcp-server"
78
+ },
79
+ "description": "Local development MCP server",
80
+ "enabled": false,
81
+ "debug": {
82
+ "enabled": true,
83
+ "log_level": "debug"
84
+ }
85
+ }
86
+ ],
87
+ "defaults": {
88
+ "connection": {
89
+ "connection_timeout": "30s",
90
+ "request_timeout": "30s",
91
+ "health_check_timeout": "5s"
92
+ },
93
+ "session": {
94
+ "health_check_interval": "30s",
95
+ "max_reconnect_attempts": 3,
96
+ "reconnect_delay": "2s",
97
+ "reconnect_backoff": "exponential"
98
+ },
99
+ "error_handling": {
100
+ "enable_classification": true,
101
+ "user_friendly_messages": true,
102
+ "enable_retry": true,
103
+ "max_retry_attempts": 3
104
+ }
105
+ }
106
+ }
@@ -0,0 +1,67 @@
1
+ {
2
+ "version": "1.0",
3
+ "defaultServer": "filesystem",
4
+ "servers": {
5
+ "filesystem": {
6
+ "id": "filesystem",
7
+ "name": "Local Filesystem",
8
+ "description": "Access local files and directories",
9
+ "icon": "📁",
10
+ "transport": "stdio",
11
+ "command": "npx",
12
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/workspace"],
13
+ "success": false,
14
+ "tags": ["local", "files"]
15
+ },
16
+ "api-server": {
17
+ "id": "api-server",
18
+ "name": "API Gateway",
19
+ "description": "REST API integration server",
20
+ "icon": "🌐",
21
+ "transport": "http",
22
+ "url": "http://localhost:8080/mcp",
23
+ "headers": {
24
+ "X-API-Key": "${env:API_KEY}",
25
+ "Content-Type": "application/json"
26
+ },
27
+ "success": false,
28
+ "tags": ["api", "remote"]
29
+ },
30
+ "event-stream": {
31
+ "id": "event-stream",
32
+ "name": "Event Stream Server",
33
+ "description": "Real-time event streaming via SSE",
34
+ "icon": "⚡",
35
+ "transport": "sse",
36
+ "url": "http://localhost:3000/sse",
37
+ "headers": {
38
+ "Authorization": "Bearer ${env:EVENT_TOKEN}"
39
+ },
40
+ "success": false,
41
+ "tags": ["events", "realtime"]
42
+ },
43
+ "memory": {
44
+ "id": "memory",
45
+ "name": "Memory Server",
46
+ "description": "Persistent memory storage",
47
+ "icon": "🧠",
48
+ "transport": "stdio",
49
+ "command": "docker",
50
+ "args": ["run", "-i", "--rm", "-v", "mcp-memory:/data", "mcp/memory-server"],
51
+ "success": false,
52
+ "tags": ["memory", "docker"]
53
+ }
54
+ },
55
+ "recentConnections": [
56
+ {
57
+ "serverId": "filesystem",
58
+ "lastUsed": "2025-01-12T10:30:00Z",
59
+ "success": true
60
+ },
61
+ {
62
+ "serverId": "api-server",
63
+ "lastUsed": "2025-01-12T09:15:00Z",
64
+ "success": true
65
+ }
66
+ ]
67
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "version": "1.0",
3
+ "servers": {
4
+ "auth-service": {
5
+ "id": "auth-service",
6
+ "name": "Authentication Service",
7
+ "description": "Production authentication API",
8
+ "icon": "🔐",
9
+ "transport": "http",
10
+ "url": "https://auth.company.com/mcp",
11
+ "headers": {
12
+ "X-Service-Key": "${env:AUTH_SERVICE_KEY}",
13
+ "X-Environment": "production"
14
+ },
15
+ "success": false,
16
+ "tags": ["auth", "production", "api"]
17
+ },
18
+ "user-data": {
19
+ "id": "user-data",
20
+ "name": "User Data Service",
21
+ "description": "Production user data API",
22
+ "icon": "👤",
23
+ "transport": "http",
24
+ "url": "https://users.company.com/mcp",
25
+ "headers": {
26
+ "Authorization": "Bearer ${env:USER_SERVICE_TOKEN}",
27
+ "X-Client-Version": "1.0.0"
28
+ },
29
+ "success": false,
30
+ "tags": ["users", "production", "api"]
31
+ },
32
+ "monitoring": {
33
+ "id": "monitoring",
34
+ "name": "Monitoring Events",
35
+ "description": "Real-time monitoring and alerts",
36
+ "icon": "📊",
37
+ "transport": "sse",
38
+ "url": "https://monitor.company.com/events",
39
+ "headers": {
40
+ "Authorization": "Bearer ${env:MONITOR_TOKEN}",
41
+ "X-Stream-Type": "alerts"
42
+ },
43
+ "success": false,
44
+ "tags": ["monitoring", "production", "events"]
45
+ },
46
+ "analytics": {
47
+ "id": "analytics",
48
+ "name": "Analytics Database",
49
+ "description": "Production analytics PostgreSQL",
50
+ "icon": "🐘",
51
+ "transport": "stdio",
52
+ "command": "npx",
53
+ "args": ["-y", "@modelcontextprotocol/server-postgres", "${env:ANALYTICS_DB_URL}"],
54
+ "environment": {
55
+ "PGPASSWORD": "${env:ANALYTICS_DB_PASSWORD}"
56
+ },
57
+ "success": false,
58
+ "tags": ["analytics", "production", "database"]
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,16 @@
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 everything for testing",
9
+ "icon": "🌟",
10
+ "transport": "stdio",
11
+ "command": "npx",
12
+ "args": ["-y", "@modelcontextprotocol/server-everything", "stdio"],
13
+ "success": false
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,140 @@
1
+ {
2
+ "stdio_examples": {
3
+ "npm_package": {
4
+ "connection": {
5
+ "type": "stdio",
6
+ "command": "npx",
7
+ "args": ["-y", "@modelcontextprotocol/server-everything", "stdio"]
8
+ }
9
+ },
10
+ "python_server": {
11
+ "connection": {
12
+ "type": "stdio",
13
+ "command": "python",
14
+ "args": ["server.py", "--mode", "mcp"]
15
+ }
16
+ },
17
+ "node_server": {
18
+ "connection": {
19
+ "type": "stdio",
20
+ "command": "node",
21
+ "args": ["dist/index.js"]
22
+ }
23
+ },
24
+ "go_binary": {
25
+ "connection": {
26
+ "type": "stdio",
27
+ "command": "./mcp-server",
28
+ "args": ["--config", "server.conf"]
29
+ }
30
+ },
31
+ "docker_container": {
32
+ "connection": {
33
+ "type": "stdio",
34
+ "command": "docker",
35
+ "args": ["run", "-i", "my-mcp-server:latest"]
36
+ }
37
+ }
38
+ },
39
+
40
+ "http_examples": {
41
+ "basic_http": {
42
+ "connection": {
43
+ "type": "http",
44
+ "url": "http://localhost:8080/mcp"
45
+ }
46
+ },
47
+ "https_with_auth": {
48
+ "connection": {
49
+ "type": "http",
50
+ "url": "https://api.example.com/mcp",
51
+ "headers": {
52
+ "Authorization": "Bearer ${API_TOKEN}",
53
+ "X-API-Version": "2025-01-01"
54
+ }
55
+ },
56
+ "transport": {
57
+ "http": {
58
+ "tls_min_version": "1.3",
59
+ "timeout": "60s"
60
+ }
61
+ }
62
+ },
63
+ "http_with_proxy": {
64
+ "connection": {
65
+ "type": "http",
66
+ "url": "http://internal.corp.com/mcp"
67
+ },
68
+ "transport": {
69
+ "http": {
70
+ "proxy_url": "http://proxy.corp.com:8080",
71
+ "proxy_headers": {
72
+ "Proxy-Authorization": "Basic ${PROXY_AUTH}"
73
+ }
74
+ }
75
+ }
76
+ }
77
+ },
78
+
79
+ "sse_examples": {
80
+ "basic_sse": {
81
+ "connection": {
82
+ "type": "sse",
83
+ "url": "http://localhost:3000/sse"
84
+ }
85
+ },
86
+ "sse_with_auth": {
87
+ "connection": {
88
+ "type": "sse",
89
+ "url": "https://stream.example.com/mcp/sse",
90
+ "headers": {
91
+ "Authorization": "Bearer ${STREAM_TOKEN}"
92
+ }
93
+ },
94
+ "transport": {
95
+ "sse": {
96
+ "reconnect_interval": "5s",
97
+ "max_reconnect_attempts": 10,
98
+ "buffer_size": 16384,
99
+ "read_timeout": "0s"
100
+ }
101
+ }
102
+ },
103
+ "sse_with_event_filtering": {
104
+ "connection": {
105
+ "type": "sse",
106
+ "url": "http://localhost:3000/events"
107
+ },
108
+ "transport": {
109
+ "sse": {
110
+ "event_types": ["tool", "resource", "log"],
111
+ "ignore_events": ["heartbeat", "ping"]
112
+ }
113
+ }
114
+ }
115
+ },
116
+
117
+ "streamable_http_examples": {
118
+ "basic_streamable": {
119
+ "connection": {
120
+ "type": "streamable-http",
121
+ "url": "http://localhost:8080/mcp/stream"
122
+ }
123
+ },
124
+ "streamable_with_chunking": {
125
+ "connection": {
126
+ "type": "streamable-http",
127
+ "url": "https://api.example.com/v2/mcp"
128
+ },
129
+ "transport": {
130
+ "http": {
131
+ "timeout": "0s",
132
+ "default_headers": {
133
+ "Accept": "application/x-ndjson",
134
+ "X-Stream-Mode": "chunked"
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
package/package.json CHANGED
@@ -1,14 +1,16 @@
1
1
  {
2
2
  "name": "@standardbeagle/mcp-tui",
3
- "version": "0.5.0",
4
- "description": "A Terminal User Interface (TUI) and CLI for Model Context Protocol (MCP) servers",
3
+ "version": "0.6.1",
4
+ "description": "A comprehensive Terminal User Interface (TUI) and Command Line Interface (CLI) for Model Context Protocol (MCP) servers with full tool, prompt, and resource management",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "mcp-tui": "bin/mcp-tui.js"
8
8
  },
9
9
  "scripts": {
10
10
  "postinstall": "node scripts/install.js",
11
- "test": "echo \"Error: no test specified\" && exit 1"
11
+ "test": "go test ./...",
12
+ "build": "go build -o bin/mcp-tui .",
13
+ "prepare": "npm run build"
12
14
  },
13
15
  "repository": {
14
16
  "type": "git",
@@ -21,7 +23,13 @@
21
23
  "terminal",
22
24
  "cli",
23
25
  "ai",
24
- "llm"
26
+ "llm",
27
+ "tools",
28
+ "prompts",
29
+ "resources",
30
+ "server-testing",
31
+ "debugging",
32
+ "development"
25
33
  ],
26
34
  "author": "standardbeagle",
27
35
  "license": "MIT",
@@ -36,8 +44,11 @@
36
44
  "files": [
37
45
  "bin/",
38
46
  "scripts/",
47
+ "examples/",
39
48
  "README.md",
40
- "LICENSE"
49
+ "LICENSE",
50
+ "CHANGELOG.md",
51
+ "QUICK_START.md"
41
52
  ],
42
53
  "engines": {
43
54
  "node": ">=14.0.0"
@@ -61,6 +61,20 @@ async function downloadBinary() {
61
61
  fs.mkdirSync(binariesDir, { recursive: true });
62
62
  }
63
63
 
64
+ // Check if binary is already included in the npm package
65
+ const includedBinaryPath = path.join(__dirname, '..', 'bin', binaryName);
66
+ if (fs.existsSync(includedBinaryPath)) {
67
+ console.log('Using pre-built binary from package...');
68
+ // Copy the binary to the expected location
69
+ fs.copyFileSync(includedBinaryPath, binaryPath);
70
+ // Make binary executable
71
+ if (process.platform !== 'win32') {
72
+ fs.chmodSync(binaryPath, 0o755);
73
+ }
74
+ console.log('Binary installed successfully!');
75
+ return;
76
+ }
77
+
64
78
  // For development, try to build from source if available
65
79
  if (fs.existsSync(path.join(__dirname, '..', '..', 'go.mod'))) {
66
80
  console.log('Development mode: Building from source...');