diff --git a/CHANGELOG.md b/CHANGELOG.md index cb6a0eb..2bdf30c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - 修复无法在对话框中使用 mcp resource 的 bug - 调试结果的工作区从 .vscode 迁移到 .openmcp,连接配置文件从 .vscode/openmcp_connection.json 迁移到 .openmcp/connection.json - 技术栈更新:openmcp 全链路组件切换为 esm +- 优化引导界面文字布局。 ## [main] 0.1.4 - 重新实现 openai 协议的底层网络实现,从而支持 Google Gemini 全系列模型。 diff --git a/package.json b/package.json index 37f8edb..40f36b2 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "categories": [ "Other" ], + "activationEvents": [], "main": "./dist/extension.js", "icon": "icons/openmcp.png", "contributes": { diff --git a/renderer/src/components/guide/tour.vue b/renderer/src/components/guide/tour.vue index 327bd53..6d9ee5d 100644 --- a/renderer/src/components/guide/tour.vue +++ b/renderer/src/components/guide/tour.vue @@ -132,11 +132,35 @@
我们目前提供了四种主要调试选项,「资源」、「提词」、「工具」分别和 MCP 协议中的 resources、prompts、tools 对应。 +
+ + + +
而「交互测试」则允许你直接将写好的 mcp 服务器放入大模型中直接做全链路测试,从而更加获取更加真实的反馈和数据,进而改进的你的 mcp 服务器。 +
+
-

- + + +
基于我们在 agent 和 rl 方向的最佳实践,我们后续还会推出更多的调试和数据集聚合制作选项,请期待吧!
@@ -224,10 +248,15 @@ :show-close="false" >
- 🎉恭喜,我的朋友,现在的你已经是半个 mcp 专家了,请充好一杯咖啡,慢慢享用快乐的开发时间吧! + 🎉 恭喜,我的朋友,现在的你已经是半个 mcp 专家了,请充好一杯咖啡,慢慢享用快乐的开发时间吧! + +
+
+ + OpenMCP 官方文档 是我们的文档站点,您在其中能找到非常完整的使用说明和案例教程。

diff --git a/service/tabs.my-browser.json b/service/tabs.my-browser.json index 20914eb..72dded2 100644 --- a/service/tabs.my-browser.json +++ b/service/tabs.my-browser.json @@ -1,5 +1,5 @@ { - "clientId": "b1d793bc-93bc-5793bc4c067-8793bc4c0679c55-79c55b8a", + "clientId": "ea2b1e70-1e70-5b1e705a3ac-8b1e705a3ac8921-c8921324", "currentIndex": 1, "tabs": [ { @@ -410,6 +410,322 @@ }, "enabled": true }, + { + "name": "k_get_full_page_text", + "description": "获取页面所有文本内容", + "inputSchema": { + "type": "object", + "properties": {} + }, + "enabled": true + }, + { + "name": "k_navigate", + "description": "Navigate to a URL", + "inputSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to navigate to" + }, + "launchOptions": { + "type": "object", + "description": "PuppeteerJS LaunchOptions. Default null. If changed and not null, browser restarts. Example: { headless: true, args: ['--no-sandbox'] }" + }, + "allowDangerous": { + "type": "boolean", + "description": "Allow dangerous LaunchOptions that reduce security. When false, dangerous args like --no-sandbox will throw errors. Default false." + } + }, + "required": [ + "url" + ] + }, + "enabled": true + }, + { + "name": "k_screenshot", + "description": "Take a screenshot of the current page or a specific element", + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name for the screenshot" + }, + "selector": { + "type": "string", + "description": "CSS selector for element to screenshot" + }, + "width": { + "type": "number", + "description": "Width in pixels (default: 800)" + }, + "height": { + "type": "number", + "description": "Height in pixels (default: 600)" + } + }, + "required": [ + "name" + ] + }, + "enabled": true + }, + { + "name": "k_click", + "description": "Click an element on the page", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to click" + } + }, + "required": [ + "selector" + ] + }, + "enabled": true + }, + { + "name": "k_fill", + "description": "Fill out an input field", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for input field" + }, + "value": { + "type": "string", + "description": "Value to fill" + } + }, + "required": [ + "selector", + "value" + ] + }, + "enabled": true + }, + { + "name": "k_select", + "description": "Select an element on the page with Select tag", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to select" + }, + "value": { + "type": "string", + "description": "Value to select" + } + }, + "required": [ + "selector", + "value" + ] + }, + "enabled": true + }, + { + "name": "k_hover", + "description": "Hover an element on the page", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to hover" + } + }, + "required": [ + "selector" + ] + }, + "enabled": true + }, + { + "name": "k_evaluate", + "description": "Execute JavaScript in the browser console", + "inputSchema": { + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "JavaScript code to execute" + } + }, + "required": [ + "script" + ] + }, + "enabled": true + }, + { + "name": "k_get_full_page_text", + "description": "获取页面所有文本内容", + "inputSchema": { + "type": "object", + "properties": {} + }, + "enabled": true + }, + { + "name": "k_navigate", + "description": "Navigate to a URL", + "inputSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to navigate to" + }, + "launchOptions": { + "type": "object", + "description": "PuppeteerJS LaunchOptions. Default null. If changed and not null, browser restarts. Example: { headless: true, args: ['--no-sandbox'] }" + }, + "allowDangerous": { + "type": "boolean", + "description": "Allow dangerous LaunchOptions that reduce security. When false, dangerous args like --no-sandbox will throw errors. Default false." + } + }, + "required": [ + "url" + ] + }, + "enabled": true + }, + { + "name": "k_screenshot", + "description": "Take a screenshot of the current page or a specific element", + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name for the screenshot" + }, + "selector": { + "type": "string", + "description": "CSS selector for element to screenshot" + }, + "width": { + "type": "number", + "description": "Width in pixels (default: 800)" + }, + "height": { + "type": "number", + "description": "Height in pixels (default: 600)" + } + }, + "required": [ + "name" + ] + }, + "enabled": true + }, + { + "name": "k_click", + "description": "Click an element on the page", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to click" + } + }, + "required": [ + "selector" + ] + }, + "enabled": true + }, + { + "name": "k_fill", + "description": "Fill out an input field", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for input field" + }, + "value": { + "type": "string", + "description": "Value to fill" + } + }, + "required": [ + "selector", + "value" + ] + }, + "enabled": true + }, + { + "name": "k_select", + "description": "Select an element on the page with Select tag", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to select" + }, + "value": { + "type": "string", + "description": "Value to select" + } + }, + "required": [ + "selector", + "value" + ] + }, + "enabled": true + }, + { + "name": "k_hover", + "description": "Hover an element on the page", + "inputSchema": { + "type": "object", + "properties": { + "selector": { + "type": "string", + "description": "CSS selector for element to hover" + } + }, + "required": [ + "selector" + ] + }, + "enabled": true + }, + { + "name": "k_evaluate", + "description": "Execute JavaScript in the browser console", + "inputSchema": { + "type": "object", + "properties": { + "script": { + "type": "string", + "description": "JavaScript code to execute" + } + }, + "required": [ + "script" + ] + }, + "enabled": true + }, { "name": "k_get_full_page_text", "description": "获取页面所有文本内容",