asm-mcp-proxy 2.0.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/README.md ADDED
@@ -0,0 +1,109 @@
1
+ # ASM MCP Proxy
2
+
3
+ Stdio to HTTP proxy for ASM MCP Gateway. Connects Model Context Protocol (MCP) clients like Windsurf, Cursor, and Claude Desktop to ASM Platform running on Cloudflare Workers.
4
+
5
+ ## Features
6
+
7
+ - ✅ **Stdio ↔ HTTP Bridge**: Converts MCP stdio protocol to HTTP/JSON-RPC
8
+ - ✅ **JWT Authentication**: Secure token-based auth with auto-refresh
9
+ - ✅ **Local Tools**: File operations, git, terminal commands
10
+ - ✅ **Intelligent Router**: Routes tools between local and cloud
11
+ - ✅ **29+ ASM Tools**: Full access to ASM Platform capabilities
12
+
13
+ ## Quick Start
14
+
15
+ ### Option 1: NPX (Recommended)
16
+
17
+ No installation needed! Use directly in your MCP config:
18
+
19
+ ```json
20
+ {
21
+ "mcpServers": {
22
+ "asm-platform": {
23
+ "command": "npx",
24
+ "args": ["-y", "asm-mcp-proxy"],
25
+ "env": {
26
+ "MCP_JWT_TOKEN": "your-jwt-token-here",
27
+ "MCP_GATEWAY_URL": "https://asm-api-gateway.vitor-9a3.workers.dev"
28
+ }
29
+ }
30
+ }
31
+ }
32
+ ```
33
+
34
+ ### Option 2: Global Install
35
+
36
+ ```bash
37
+ npm install -g asm-mcp-proxy
38
+ ```
39
+
40
+ Then in your MCP config:
41
+
42
+ ```json
43
+ {
44
+ "mcpServers": {
45
+ "asm-platform": {
46
+ "command": "asm-mcp-proxy",
47
+ "env": {
48
+ "MCP_JWT_TOKEN": "your-jwt-token-here"
49
+ }
50
+ }
51
+ }
52
+ }
53
+ ```
54
+
55
+ ## Getting Your JWT Token
56
+
57
+ ```bash
58
+ curl -X POST https://asm-api-gateway.vitor-9a3.workers.dev/auth/login \
59
+ -H "Content-Type: application/json" \
60
+ -d '{"email":"your-email@example.com","password":"your-password"}'
61
+ ```
62
+
63
+ Copy the `token` field from the response.
64
+
65
+ ## Environment Variables
66
+
67
+ - `MCP_JWT_TOKEN` (required): Your authentication token
68
+ - `MCP_GATEWAY_URL` (optional): Gateway URL (default: https://asm-api-gateway.vitor-9a3.workers.dev)
69
+ - `MCP_DEBUG` (optional): Enable debug logging (true/false)
70
+
71
+ ## Supported Clients
72
+
73
+ - ✅ Windsurf (Codeium)
74
+ - ✅ Cursor
75
+ - ✅ Claude Desktop
76
+ - ✅ Any MCP-compatible client
77
+
78
+ ## Architecture
79
+
80
+ ```
81
+ MCP Client (Windsurf/Cursor)
82
+ ↓ stdio (JSON-RPC 2.0)
83
+ asm-mcp-proxy
84
+ ↓ HTTPS (JSON-RPC 2.0)
85
+ ASM API Gateway (Cloudflare Workers)
86
+
87
+ ASM Platform (29+ tools)
88
+ ```
89
+
90
+ ## Available Tools
91
+
92
+ The proxy provides access to 29+ ASM tools including:
93
+
94
+ - Memory management (L1/L2/L3)
95
+ - Pattern storage and search
96
+ - Code generation (Nuxt, components, APIs)
97
+ - Validation (Gate5, AI review)
98
+ - Git operations
99
+ - File operations (read, write, edit)
100
+ - Terminal commands
101
+ - And more...
102
+
103
+ ## License
104
+
105
+ MIT
106
+
107
+ ## Support
108
+
109
+ For issues and questions, visit: https://github.com/vitor606/ASM-MCP
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Gateway Client - Forward tools to cloud gateway
3
+ */
4
+ import { ToolResult } from './local-tools';
5
+ /**
6
+ * Forward tool call to gateway via JSON-RPC
7
+ */
8
+ export declare function forwardToGateway(toolName: string, args: Record<string, unknown>, gatewayUrl: string, jwtToken: string): Promise<ToolResult>;
9
+ /**
10
+ * List tools from gateway
11
+ */
12
+ export declare function listToolsFromGateway(gatewayUrl: string, jwtToken: string): Promise<ToolResult>;
13
+ /**
14
+ * Refresh JWT token
15
+ */
16
+ export declare function refreshToken(email: string, password: string, gatewayUrl: string): Promise<{
17
+ success: boolean;
18
+ token?: string;
19
+ error?: string;
20
+ }>;
21
+ //# sourceMappingURL=gateway-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CAsGrB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CA8ErB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8D/D"}
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ /**
3
+ * Gateway Client - Forward tools to cloud gateway
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.forwardToGateway = forwardToGateway;
40
+ exports.listToolsFromGateway = listToolsFromGateway;
41
+ exports.refreshToken = refreshToken;
42
+ const https = __importStar(require("https"));
43
+ const http = __importStar(require("http"));
44
+ /**
45
+ * Forward tool call to gateway via JSON-RPC
46
+ */
47
+ async function forwardToGateway(toolName, args, gatewayUrl, jwtToken) {
48
+ return new Promise((resolve) => {
49
+ const url = new URL('/api/mcp', gatewayUrl);
50
+ const isHttps = url.protocol === 'https:';
51
+ const jsonRpcRequest = {
52
+ jsonrpc: '2.0',
53
+ id: Date.now(),
54
+ method: 'tools/call',
55
+ params: {
56
+ name: toolName,
57
+ arguments: args,
58
+ },
59
+ };
60
+ const postData = JSON.stringify(jsonRpcRequest);
61
+ const options = {
62
+ hostname: url.hostname,
63
+ port: url.port || (isHttps ? 443 : 80),
64
+ path: url.pathname,
65
+ method: 'POST',
66
+ headers: {
67
+ 'Content-Type': 'application/json',
68
+ 'Content-Length': Buffer.byteLength(postData),
69
+ 'Authorization': `Bearer ${jwtToken}`,
70
+ },
71
+ };
72
+ const client = isHttps ? https : http;
73
+ const req = client.request(options, (res) => {
74
+ let data = '';
75
+ res.on('data', (chunk) => {
76
+ data += chunk;
77
+ });
78
+ res.on('end', () => {
79
+ try {
80
+ const response = JSON.parse(data);
81
+ // JSON-RPC error
82
+ if (response.error) {
83
+ resolve({
84
+ success: false,
85
+ error: response.error.message || 'Gateway error',
86
+ });
87
+ return;
88
+ }
89
+ // JSON-RPC success
90
+ if (response.result) {
91
+ // MCP tools/call retorna { content: [...], isError: boolean }
92
+ if (response.result.isError) {
93
+ resolve({
94
+ success: false,
95
+ error: response.result.content?.[0]?.text || 'Tool execution failed',
96
+ });
97
+ return;
98
+ }
99
+ // Parse output do content[0].text
100
+ let output;
101
+ try {
102
+ const textContent = response.result.content?.[0]?.text || '{}';
103
+ output = JSON.parse(textContent);
104
+ }
105
+ catch {
106
+ output = response.result.content?.[0]?.text || response.result;
107
+ }
108
+ resolve({
109
+ success: true,
110
+ output,
111
+ });
112
+ return;
113
+ }
114
+ // Fallback
115
+ resolve({
116
+ success: false,
117
+ error: 'Invalid gateway response',
118
+ });
119
+ }
120
+ catch (error) {
121
+ resolve({
122
+ success: false,
123
+ error: `Failed to parse gateway response: ${error.message}`,
124
+ });
125
+ }
126
+ });
127
+ });
128
+ req.on('error', (error) => {
129
+ resolve({
130
+ success: false,
131
+ error: `Gateway request failed: ${error.message}`,
132
+ });
133
+ });
134
+ req.write(postData);
135
+ req.end();
136
+ });
137
+ }
138
+ /**
139
+ * List tools from gateway
140
+ */
141
+ async function listToolsFromGateway(gatewayUrl, jwtToken) {
142
+ return new Promise((resolve) => {
143
+ const url = new URL('/api/mcp', gatewayUrl);
144
+ const isHttps = url.protocol === 'https:';
145
+ const jsonRpcRequest = {
146
+ jsonrpc: '2.0',
147
+ id: Date.now(),
148
+ method: 'tools/list',
149
+ params: {},
150
+ };
151
+ const postData = JSON.stringify(jsonRpcRequest);
152
+ const options = {
153
+ hostname: url.hostname,
154
+ port: url.port || (isHttps ? 443 : 80),
155
+ path: url.pathname,
156
+ method: 'POST',
157
+ headers: {
158
+ 'Content-Type': 'application/json',
159
+ 'Content-Length': Buffer.byteLength(postData),
160
+ 'Authorization': `Bearer ${jwtToken}`,
161
+ },
162
+ };
163
+ const client = isHttps ? https : http;
164
+ const req = client.request(options, (res) => {
165
+ let data = '';
166
+ res.on('data', (chunk) => {
167
+ data += chunk;
168
+ });
169
+ res.on('end', () => {
170
+ try {
171
+ const response = JSON.parse(data);
172
+ if (response.error) {
173
+ resolve({
174
+ success: false,
175
+ error: response.error.message || 'Gateway error',
176
+ });
177
+ return;
178
+ }
179
+ if (response.result?.tools) {
180
+ resolve({
181
+ success: true,
182
+ output: response.result.tools,
183
+ });
184
+ return;
185
+ }
186
+ resolve({
187
+ success: false,
188
+ error: 'Invalid tools/list response',
189
+ });
190
+ }
191
+ catch (error) {
192
+ resolve({
193
+ success: false,
194
+ error: `Failed to parse gateway response: ${error.message}`,
195
+ });
196
+ }
197
+ });
198
+ });
199
+ req.on('error', (error) => {
200
+ resolve({
201
+ success: false,
202
+ error: `Gateway request failed: ${error.message}`,
203
+ });
204
+ });
205
+ req.write(postData);
206
+ req.end();
207
+ });
208
+ }
209
+ /**
210
+ * Refresh JWT token
211
+ */
212
+ async function refreshToken(email, password, gatewayUrl) {
213
+ return new Promise((resolve) => {
214
+ const url = new URL('/auth/login', gatewayUrl);
215
+ const isHttps = url.protocol === 'https:';
216
+ const postData = JSON.stringify({ email, password });
217
+ const options = {
218
+ hostname: url.hostname,
219
+ port: url.port || (isHttps ? 443 : 80),
220
+ path: url.pathname,
221
+ method: 'POST',
222
+ headers: {
223
+ 'Content-Type': 'application/json',
224
+ 'Content-Length': Buffer.byteLength(postData),
225
+ },
226
+ };
227
+ const client = isHttps ? https : http;
228
+ const req = client.request(options, (res) => {
229
+ let data = '';
230
+ res.on('data', (chunk) => {
231
+ data += chunk;
232
+ });
233
+ res.on('end', () => {
234
+ try {
235
+ const response = JSON.parse(data);
236
+ if (response.success && response.token) {
237
+ resolve({
238
+ success: true,
239
+ token: response.token,
240
+ });
241
+ return;
242
+ }
243
+ resolve({
244
+ success: false,
245
+ error: response.error || 'Login failed',
246
+ });
247
+ }
248
+ catch (error) {
249
+ resolve({
250
+ success: false,
251
+ error: `Failed to parse login response: ${error.message}`,
252
+ });
253
+ }
254
+ });
255
+ });
256
+ req.on('error', (error) => {
257
+ resolve({
258
+ success: false,
259
+ error: `Login request failed: ${error.message}`,
260
+ });
261
+ });
262
+ req.write(postData);
263
+ req.end();
264
+ });
265
+ }
266
+ //# sourceMappingURL=gateway-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ASM MCP Proxy - Thin Local Proxy
4
+ * stdio ↔ HTTP + JWT auth + Local Tools + Router Inteligente
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG"}