From ac9bd436543eda845f754db1bf558876b77b49f3 Mon Sep 17 00:00:00 2001 From: AmeZora <3951001763@qq.com> Date: Fri, 23 May 2025 01:17:48 +0800 Subject: [PATCH 1/5] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4169476..6ef2348 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ 加入 OpenMCP Discord频道 + 📄OpenMCP 文档仓库 + @@ -17,6 +19,7 @@ 一款用于 MCP 服务端调试的一体化 vscode/trae/cursor 插件。 + From d1a392bb87240770b7b450a246eda023306848cc Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Fri, 23 May 2025 19:14:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20mcp=20=E7=9A=84?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- renderer/src/views/connect/core.ts | 3 ++- renderer/src/views/connect/index.vue | 6 +++--- service/tabs.my-browser.json | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/renderer/src/views/connect/core.ts b/renderer/src/views/connect/core.ts index 06df6fc..92ded29 100644 --- a/renderer/src/views/connect/core.ts +++ b/renderer/src/views/connect/core.ts @@ -471,7 +471,8 @@ class McpClientAdapter { for (const item of launchSignature) { // 创建一个新的客户端 - const client = reactive(new McpClient()); + // const client = reactive(new McpClient()); + const client = new McpClient(); // 同步连接参数 await client.acquireConnectionSignature(item); diff --git a/renderer/src/views/connect/index.vue b/renderer/src/views/connect/index.vue index 7260ee3..7fe319e 100644 --- a/renderer/src/views/connect/index.vue +++ b/renderer/src/views/connect/index.vue @@ -62,11 +62,11 @@ function selectServer(index: number) { } function addServer() { - const client = reactive(new McpClient()); + // const client = reactive(new McpClient()); + const client = new McpClient(); mcpClientAdapter.clients.push(client); mcpClientAdapter.currentClientIndex = mcpClientAdapter.clients.length - 1; - - client.handleEnvSwitch(true); + mcpClientAdapter.clients.at(-1)!.handleEnvSwitch(true); } diff --git a/service/tabs.my-browser.json b/service/tabs.my-browser.json index f53d63c..4be6e3b 100644 --- a/service/tabs.my-browser.json +++ b/service/tabs.my-browser.json @@ -1,6 +1,6 @@ { "clientId": "83313e18-3e18-513e1883c06-813e1883c060a6b-60a6b641", - "currentIndex": 1, + "currentIndex": 0, "tabs": [ { "name": "交互测试", From 13d05462fe58972aa54699412b0dd081895bf7d5 Mon Sep 17 00:00:00 2001 From: kirigaya Date: Sun, 25 May 2025 22:19:00 +0800 Subject: [PATCH 3/5] fix some bug --- CHANGELOG.md | 4 ++++ service/src/mcp/client.service.ts | 6 +++++- src/sidebar/installed.controller.ts | 4 ++-- src/sidebar/workspace.controller.ts | 4 ++-- src/sidebar/workspace.service.ts | 7 +++++++ src/webview/webview.controller.ts | 6 +++--- src/webview/webview.service.ts | 2 +- 7 files changed, 24 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6312fea..018bb9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## [main] 0.1.1 +- 修复 SSH 连接 Ubuntu 的情况下的部分 bug +- 修复 python 项目点击 openmcp 进行连接时,初始化参数错误的问题 + ## [main] 0.1.0 - 新特性:支持同时连入多个 mcp server - 新特性:更新协议内容,支持 streamable http 协议,未来将逐步取代 SSE 的连接方式 diff --git a/service/src/mcp/client.service.ts b/service/src/mcp/client.service.ts index d0b6638..4eb1af5 100644 --- a/service/src/mcp/client.service.ts +++ b/service/src/mcp/client.service.ts @@ -133,8 +133,12 @@ export class McpClient { // 调用工具 public async callTool(options: { name: string; arguments: Record, callToolOption?: any }) { const { callToolOption, ...methodArgs } = options; + console.log('methodArgs', methodArgs); console.log('callToolOption', callToolOption); - return await this.client.callTool(methodArgs, undefined, callToolOption); + const res = await this.client.callTool(methodArgs, undefined, callToolOption); + console.log('callTool res', res); + + return res; } } diff --git a/src/sidebar/installed.controller.ts b/src/sidebar/installed.controller.ts index ea1ee95..72c70c2 100644 --- a/src/sidebar/installed.controller.ts +++ b/src/sidebar/installed.controller.ts @@ -22,8 +22,8 @@ export class McpInstalledConnectProvider implements vscode.TreeDataProvider { // 连接的名字 - item = Array.isArray(item)? item[0] : item; - const itemName = `${item.name} (${item.type || item.connectionType})` + const nItem = Array.isArray(item)? item[0] : item; + const itemName = `${nItem.name} (${nItem.type || nItem.connectionType})` return new ConnectionViewItem(itemName, vscode.TreeItemCollapsibleState.None, item, 'server'); }) diff --git a/src/sidebar/workspace.controller.ts b/src/sidebar/workspace.controller.ts index 3545919..8d8a802 100644 --- a/src/sidebar/workspace.controller.ts +++ b/src/sidebar/workspace.controller.ts @@ -22,8 +22,8 @@ export class McpWorkspaceConnectProvider implements vscode.TreeDataProvider { // 连接的名字 - item = Array.isArray(item) ? item[0] : item; - const itemName = `${item.name} (${item.type || item.connectionType})` + const nItem = Array.isArray(item) ? item[0] : item; + const itemName = `${nItem.name} (${nItem.type || nItem.connectionType})` return new ConnectionViewItem(itemName, vscode.TreeItemCollapsibleState.None, item, 'server'); }) diff --git a/src/sidebar/workspace.service.ts b/src/sidebar/workspace.service.ts index 0981d2a..4f521ef 100644 --- a/src/sidebar/workspace.service.ts +++ b/src/sidebar/workspace.service.ts @@ -5,6 +5,9 @@ export async function deleteUserConnection(item: McpOptions[] | McpOptions) { // 弹出确认对话框 const masterNode = Array.isArray(item) ? item[0] : item; const name = masterNode.name; + + console.log('enter delete'); + const confirm = await vscode.window.showWarningMessage( `确定要删除连接 "${name}" 吗?`, { modal: true }, @@ -18,6 +21,10 @@ export async function deleteUserConnection(item: McpOptions[] | McpOptions) { const workspaceConnectionConfig = getWorkspaceConnectionConfig(); // 从配置中移除该连接项 + console.log(item); + console.log(workspaceConnectionConfig.items); + // TODO: 改成基于 path 进行搜索 + const index = workspaceConnectionConfig.items.indexOf(item); if (index !== -1) { workspaceConnectionConfig.items.splice(index, 1); diff --git a/src/webview/webview.controller.ts b/src/webview/webview.controller.ts index 407b47e..71f0d24 100644 --- a/src/webview/webview.controller.ts +++ b/src/webview/webview.controller.ts @@ -1,7 +1,8 @@ import * as vscode from 'vscode'; import { RegisterCommand } from "../common"; -import { getDefaultLanunchSignature, getLaunchCWD, revealOpenMcpWebviewPanel } from './webview.service'; +import { getDefaultLanunchSignature, getWorkspacePath, revealOpenMcpWebviewPanel } from './webview.service'; import { getWorkspaceConnectionConfigItemByPath } from '../global'; +import path from 'path'; export class WebviewController { @RegisterCommand('openmcp.showOpenMCP') @@ -10,8 +11,7 @@ export class WebviewController { if (!connectionItem) { // 项目不存在连接信息 - const cwd = getLaunchCWD(context, uri); - + const cwd = path.dirname(uri.fsPath); const signature = getDefaultLanunchSignature(uri.fsPath, cwd); if (!signature) { diff --git a/src/webview/webview.service.ts b/src/webview/webview.service.ts index 6d7c529..6ceebce 100644 --- a/src/webview/webview.service.ts +++ b/src/webview/webview.service.ts @@ -24,7 +24,7 @@ export function getWebviewContent(context: vscode.ExtensionContext, panel: vscod return html; } -export function getLaunchCWD(context: vscode.ExtensionContext, uri: vscode.Uri) { +export function getWorkspacePath(context: vscode.ExtensionContext, uri: vscode.Uri) { // TODO: 启动上下文? // 获取当前打开的项目的路径 const workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); From f0b8b88fbcf88884ef58f4f78bfbb5f7b08a57ba Mon Sep 17 00:00:00 2001 From: kirigaya Date: Sun, 25 May 2025 23:04:41 +0800 Subject: [PATCH 4/5] fix some bug --- service/src/common/router.ts | 1 + service/src/mcp/connect.service.ts | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/service/src/common/router.ts b/service/src/common/router.ts index 5ff9ab9..630e037 100644 --- a/service/src/common/router.ts +++ b/service/src/common/router.ts @@ -30,6 +30,7 @@ export async function routeMessage(command: string, data: any, webview: PostMess webview.postMessage({ command, data: res }); } } catch (error) { + console.error(error); webview.postMessage({ command, data: { code: 500, diff --git a/service/src/mcp/connect.service.ts b/service/src/mcp/connect.service.ts index ec7bf7c..5f7e50a 100644 --- a/service/src/mcp/connect.service.ts +++ b/service/src/mcp/connect.service.ts @@ -249,12 +249,15 @@ export async function connectService( const uuid = await deterministicUUID(JSON.stringify(option)); const reuseConntion = clientMap.has(uuid); - if (!clientMap.has(uuid)) { - const client = await connect(option); - clientMap.set(uuid, client); - } + + // if (!clientMap.has(uuid)) { + // const client = await connect(option); + // clientMap.set(uuid, client); + // } + // const client = clientMap.get(uuid)!; - const client = clientMap.get(uuid)!; + const client = await connect(option); + clientMap.set(uuid, client); const versionInfo = client.getServerVersion(); From b4544f08f4b447bbd7079f5b98e9187d51b5b4c0 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Mon, 26 May 2025 02:04:19 +0800 Subject: [PATCH 5/5] fix some bugs --- CHANGELOG.md | 2 ++ package.json | 2 +- renderer/src/views/about/index.vue | 2 +- renderer/src/views/connect/core.ts | 4 ++++ renderer/src/views/debug/welcome.vue | 5 ++--- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 018bb9f..1d3d061 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## [main] 0.1.1 - 修复 SSH 连接 Ubuntu 的情况下的部分 bug - 修复 python 项目点击 openmcp 进行连接时,初始化参数错误的问题 +- 取消 service 底层的 mcp 连接复用技术,防止无法刷新 +- 修复连接后,可能无法在欢迎界面选择调试选项的 bug ## [main] 0.1.0 - 新特性:支持同时连入多个 mcp server diff --git a/package.json b/package.json index 7f48db8..5c2aa84 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "openmcp", "displayName": "OpenMCP", "description": "An all in one MCP Client/TestTool", - "version": "0.1.0", + "version": "0.1.1", "publisher": "kirigaya", "author": { "name": "kirigaya", diff --git a/renderer/src/views/about/index.vue b/renderer/src/views/about/index.vue index 259a6d1..7882624 100644 --- a/renderer/src/views/about/index.vue +++ b/renderer/src/views/about/index.vue @@ -6,7 +6,7 @@

- OpenMCP Client 0.1.0 由 OpenMCP@锦恢 开发 + OpenMCP Client 0.1.1 由 OpenMCP@锦恢 开发

diff --git a/renderer/src/views/connect/core.ts b/renderer/src/views/connect/core.ts index 92ded29..803c1c9 100644 --- a/renderer/src/views/connect/core.ts +++ b/renderer/src/views/connect/core.ts @@ -563,6 +563,10 @@ class McpClientAdapter { return msg; } + public get connected() { + return this.clients.length > 0 && this.clients[0].connectionResult.success; + } + public async loadPanels() { const masterNode = this.clients[0]; await loadPanels(masterNode); diff --git a/renderer/src/views/debug/welcome.vue b/renderer/src/views/debug/welcome.vue index 6af7184..d0c9111 100644 --- a/renderer/src/views/debug/welcome.vue +++ b/renderer/src/views/debug/welcome.vue @@ -7,7 +7,7 @@