From 7bad738031000ddda5759be056e92bf2b20cc854 Mon Sep 17 00:00:00 2001 From: blankll Date: Fri, 30 Oct 2026 17:29:43 +0800 Subject: [PATCH 1/2] feat(data-studio): add Data Studio plugin for database access via MCP Community contribution from geek-fun. The plugin bundles the Data Studio MCP server (@geek-fun/data-studio-mcp, pinned 0.1.12 via npx) exposing 84-117 data_studio__* tools: 70+ SQL databases through the sqlkit desktop app and Elasticsearch/OpenSearch/MongoDB/DynamoDB through dockit. A data-studio skill teaches agents the tool routing (data_studio__{app}__{backend}__{action}), permission tiers, and the connection_id-first workflow; credentials never leave the desktop apps. README discloses network access (localhost bridges only), credentials handling, and the security model per CONTRIBUTING. --- assets/data-studio/icon.png | Bin 0 -> 44869 bytes external_plugins/data-studio/.mcp.json | 14 ++++ .../data-studio/.zcode-plugin/plugin.json | 25 ++++++ external_plugins/data-studio/README.md | 37 +++++++++ external_plugins/data-studio/README_CN.md | 37 +++++++++ .../data-studio/skills/data-studio/SKILL.md | 52 ++++++++++++ marketplace.json | 74 +++++++++++++++--- 7 files changed, 227 insertions(+), 12 deletions(-) create mode 100644 assets/data-studio/icon.png create mode 100644 external_plugins/data-studio/.mcp.json create mode 100644 external_plugins/data-studio/.zcode-plugin/plugin.json create mode 100644 external_plugins/data-studio/README.md create mode 100644 external_plugins/data-studio/README_CN.md create mode 100644 external_plugins/data-studio/skills/data-studio/SKILL.md diff --git a/assets/data-studio/icon.png b/assets/data-studio/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d65f065148cbbe379d7c19bc56e8f996e94a788 GIT binary patch literal 44869 zcmbrm2Ut_vwl=&H2)zX9DoqqnkRnZ~K|w530TC&|0*FYF8l(kKL8%Hz6M`b3fWj6P zfj~lULTFN@_nr_+0s;Pod*5^J{_eToJ@@+`h2&XTYh|uE$9Ts(-Z3W6OpNr|Sq`%R z0Kk6vlI}GCfP!zK022fFvX1K6246()T)Jim0FNX90R0#M4i2H`0Ki8c02b^4KrICT z_&r{in`(d`oOQTy+0oDtI0e3E0w59206q8)0{$EZf51CuLI2|jJ&;BB&-Vu(5_y{> z!54l>Y4kSNFTlj{g7s1=D-ltl$Mw|M&)P zXIBR=?^~`O|NS+e7lnJkYYrV;12V-Oe(Acakwc7|Zy_8c#yo;-y7tu|)dy+qbm9x8Ofc&cjYCwQNt9f3p z6^vVux`POvw zyT)N48zMglK_x~#m}`H)CE|y1yv67l<(qch&MpsSz_D zi;Uqqui!t}x>}rG7Au5YU&Fjao)B9O!&JZ25sOx#W5)$d;g)LB+@IxA*ev{Q1x$ej z21WTBjP5pi*lh;Xh9PmI6tCJITKY+{g4(%xcl<<+d1>^C%G>7}=A8&E5GAZmc%PBP z{ZNOa%=BNyaMjl_)3>I)nD5n>crsiOc(JecW-%il+Z!y-f?yYTfbJ_2t=eRvEJ%;J z6p7hY0852*wXO!fv(A1L8KP0ri>T{pT5M+GX}wzkFNQqPGO5kq;Y?S=?_T||v%*7& z*L3*6<~SU7-McN(ZSulRoU0uV`iwn;JCd>JwO%0ApE%9`GGlKu=5Dpz(!z%|$EuXA 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 literal 0 HcmV?d00001 diff --git a/external_plugins/data-studio/.mcp.json b/external_plugins/data-studio/.mcp.json new file mode 100644 index 00000000..1503f35b --- /dev/null +++ b/external_plugins/data-studio/.mcp.json @@ -0,0 +1,14 @@ +{ + "mcpServers": { + "data-studio": { + "type": "stdio", + "command": "npx", + "args": [ + "-y", + "@geek-fun/data-studio-mcp@0.1.12" + ], + "enabled": true, + "timeoutMs": 60000 + } + } +} diff --git a/external_plugins/data-studio/.zcode-plugin/plugin.json b/external_plugins/data-studio/.zcode-plugin/plugin.json new file mode 100644 index 00000000..fd17e99f --- /dev/null +++ b/external_plugins/data-studio/.zcode-plugin/plugin.json @@ -0,0 +1,25 @@ +{ + "name": "data-studio", + "version": "0.1.12", + "description": "Secure database access for AI agents via the data_studio__* MCP tools: 70+ SQL databases through SqlKit, Elasticsearch/OpenSearch/MongoDB/DynamoDB through DocKit. Credentials never leave your desktop apps.", + "description_i18n": { + "en": "Secure database access for AI agents via the data_studio__* MCP tools: 70+ SQL databases through SqlKit, Elasticsearch/OpenSearch/MongoDB/DynamoDB through DocKit. Credentials never leave your desktop apps.", + "zh-CN": "让 AI 编码助手通过 data_studio__* MCP 工具安全访问数据库:经 SqlKit 支持 70+ 种 SQL 数据库,经 DocKit 支持 Elasticsearch/OpenSearch/MongoDB/DynamoDB。凭据永不离开桌面应用。" + }, + "author": { + "name": "GeekFun", + "url": "https://github.com/geek-fun" + }, + "homepage": "https://www.geekfun.club/products/data-studio-agent/", + "repository": "https://github.com/geek-fun/data-studio-agent", + "license": "Apache-2.0", + "keywords": [ + "database", + "sql", + "nosql", + "elasticsearch", + "mongodb", + "dynamodb", + "mcp" + ] +} diff --git a/external_plugins/data-studio/README.md b/external_plugins/data-studio/README.md new file mode 100644 index 00000000..34ca48a2 --- /dev/null +++ b/external_plugins/data-studio/README.md @@ -0,0 +1,37 @@ +# Data Studio — ZCode Plugin + +**Let your AI coding agent securely access all your databases, in plain language.** + +A ZCode plugin that bundles the [Data Studio MCP server](https://www.npmjs.com/package/@geek-fun/data-studio-mcp) (`data_studio__*` tools, 117 total) with agent usage guidance. + +- **SQL** (via [sqlkit](https://github.com/geek-fun/sqlkit)): 70+ databases (PostgreSQL, MySQL, SQL Server, Oracle, SQLite, DuckDB, ClickHouse, Snowflake, BigQuery, and more). +- **NoSQL** (via [dockit](https://github.com/geek-fun/dockit)): Elasticsearch, OpenSearch, MongoDB, DynamoDB. + +简体中文说明见 [README_CN.md](README_CN.md)。 + +## Prerequisites + +1. Install and launch [dockit](https://github.com/geek-fun/dockit) and/or [sqlkit](https://github.com/geek-fun/sqlkit); add a database connection. +2. Keep **Settings → MCP Bridge → Auto-start** enabled in the desktop apps (on by default). +3. Node.js ≥ 18 on PATH (the MCP server is started via `npx -y @geek-fun/data-studio-mcp@0.1.12`). + +## Disclosure + +| Item | Detail | +|---|---| +| MCP server | One stdio server: `npx -y @geek-fun/data-studio-mcp@0.1.12` (npm package `@geek-fun/data-studio-mcp`) | +| Network access | `127.0.0.1` only: talks to the dockit/sqlkit local bridges (ports 9120/9121). npm registry access during the first `npx` download. No other endpoints; no telemetry. | +| Credentials | Never collected, stored, or transmitted. The LLM only sees opaque `connection_id`s; real credentials are resolved inside the desktop apps. | +| Command execution | Spawns the MCP server process (Node.js). No shell scripts, no hooks. | +| File writes | None by the plugin itself. | +| External services | None. | + +## Security model + +- Credentials never leave the desktop apps: tools accept `connection_id` only. +- Three-tier permissions, configured in dockit/sqlkit: Read Only / Data Read-Write / Full Access. +- Destructive operations (DELETE, DROP, TRUNCATE) always surface an explicit confirmation prompt in the client. + +## License + +Apache 2.0. See [LICENSE](../../LICENSE) in the repository root. diff --git a/external_plugins/data-studio/README_CN.md b/external_plugins/data-studio/README_CN.md new file mode 100644 index 00000000..b04ae351 --- /dev/null +++ b/external_plugins/data-studio/README_CN.md @@ -0,0 +1,37 @@ +# Data Studio — ZCode 插件 + +**让 AI 编码助手用自然语言安全地访问你的所有数据库。** + +本插件打包了 [Data Studio MCP server](https://www.npmjs.com/package/@geek-fun/data-studio-mcp)(117 个 `data_studio__*` 工具)与 agent 使用指引。 + +- **SQL**(经 [sqlkit](https://github.com/geek-fun/sqlkit)):70+ 种数据库(PostgreSQL、MySQL、SQL Server、Oracle、SQLite、DuckDB、ClickHouse、Snowflake、BigQuery 等)。 +- **NoSQL**(经 [dockit](https://github.com/geek-fun/dockit)):Elasticsearch、OpenSearch、MongoDB、DynamoDB。 + +English documentation in [README.md](README.md)。 + +## 前置条件 + +1. 安装并启动 [dockit](https://github.com/geek-fun/dockit) 和/或 [sqlkit](https://github.com/geek-fun/sqlkit),并添加数据库连接。 +2. 保持桌面应用 **Settings → MCP Bridge → Auto-start** 开启(默认开启)。 +3. PATH 中需有 Node.js ≥ 18(MCP server 通过 `npx -y @geek-fun/data-studio-mcp@0.1.12` 启动)。 + +## 披露信息 + +| 项目 | 说明 | +|---|---| +| MCP server | 一个 stdio server:`npx -y @geek-fun/data-studio-mcp@0.1.12`(npm 包 `@geek-fun/data-studio-mcp`) | +| 网络访问 | 仅 `127.0.0.1`,与 dockit/sqlkit 本地 bridge 通信(端口 9120/9121);首次 `npx` 下载会访问 npm registry;无其他端点,无遥测 | +| 凭据 | 不收集、不存储、不传输;LLM 只能看到不透明的 `connection_id`,真实凭据在桌面应用内部解析 | +| 命令执行 | 仅启动 MCP server 进程(Node.js);无 shell 脚本,无 hooks | +| 文件写入 | 插件本身不写入任何文件 | +| 外部服务 | 无 | + +## 安全模型 + +- 凭据永不离开桌面应用:工具只接受 `connection_id`。 +- 三级权限,在 dockit/sqlkit 中配置:Read Only / Data Read-Write / Full Access。 +- 破坏性操作(DELETE、DROP、TRUNCATE)始终在客户端弹出显式确认。 + +## 许可证 + +Apache 2.0,见仓库根目录 [LICENSE](../../LICENSE)。 diff --git a/external_plugins/data-studio/skills/data-studio/SKILL.md b/external_plugins/data-studio/skills/data-studio/SKILL.md new file mode 100644 index 00000000..1f232067 --- /dev/null +++ b/external_plugins/data-studio/skills/data-studio/SKILL.md @@ -0,0 +1,52 @@ +--- +name: data-studio +description: >- + Query and explore the user's databases through the data_studio__* MCP tools: + 70+ SQL databases (PostgreSQL, MySQL, SQL Server, Oracle, SQLite, DuckDB, + ClickHouse, Snowflake and more) via SqlKit, plus Elasticsearch, OpenSearch, + MongoDB and DynamoDB via DocKit. Use when the user asks to list tables or + schemas, run SQL or queries, inspect indexes/mappings/collections, analyze or + visualize stored data, troubleshoot slow queries, or mentions + 数据库/查询/表结构/索引/集合. Credentials stay inside the desktop apps; tools + take a connection_id only. Requires dockit and/or sqlkit running locally with + the MCP bridge enabled. +--- + +# Data Studio + +MCP tools prefixed `data_studio__*` route to the user's local [dockit](https://github.com/geek-fun/dockit) (NoSQL) and [sqlkit](https://github.com/geek-fun/sqlkit) (SQL) desktop apps over a localhost-only bridge (127.0.0.1). This skill explains how to use them well. + +## Prerequisites + +- dockit and/or sqlkit installed and running, with at least one database connection added. +- **Settings → MCP Bridge → Auto-start** enabled in the desktop apps (on by default). + +If tools fail to connect, tell the user to launch the desktop apps and check Settings → MCP Bridge. Never ask the user for credentials: real credentials are resolved inside the apps, and tools only ever accept an opaque `connection_id`. + +## Workflow + +1. Start with `data_studio__list_connections` (or `data_studio__get_status`) to discover running backends and connection IDs. These two tools have no app segment; all others are four-segment names. +2. Route by app + backend; tool names follow `data_studio__{app}__{backend}__{action}`: + - SQL databases: `data_studio__sqlkit__sqlkit__*` (e.g. `data_studio__sqlkit__sqlkit__execute_query`) + - Elasticsearch/OpenSearch: `data_studio__dockit__es__*` + - MongoDB: `data_studio__dockit__mongo__*` + - DynamoDB: `data_studio__dockit__dynamo__*` +3. Explore before querying: `list_databases` → `list_tables` / `cat_indices` / `list_collections` → `describe_table` / `get_mapping` → then `execute_query` / `search` / `find`. +4. Reference connections strictly by a `connection_id` returned by the listing tools; never fabricate IDs. +5. Show the user every statement executed, with row/record counts and a short interpretation. + +## Permission tiers + +| Tier | Examples | Behavior | +|---|---|---| +| Safe (Read Only) | schema reads, `execute_query`, `search`, `find` | run freely under the default Read Only mode | +| Elevated | `execute_write`, index/mapping/alias changes, `insert_*`, `update_*` | allowed only when the app is in Data Read-Write mode | +| Destructive | `execute_delete`, `execute_ddl`, `drop_*`, `delete_*`, `truncate_*` | require Full Access AND explicit user confirmation in the client | + +Before any destructive call, state exactly what will be deleted or dropped and wait for the user's confirmation. Never chain destructive operations into batch scripts. If a call is rejected by the policy, explain which permission mode it requires instead of retrying. + +## Conventions + +- The documented matrix is 117 tools; the runtime set depends on the apps' permission mode and configured connections. Prefer the most specific tool: `explain_query` for plan analysis, `get_slow_queries` for performance troubleshooting, `es__count` before broad `search` calls. +- Results are capped. Use limit/pagination arguments for large datasets instead of unbounded scans. +- Prefer read-only tools unless the user explicitly asks for changes. diff --git a/marketplace.json b/marketplace.json index c7f09a06..b4dbb1e8 100644 --- a/marketplace.json +++ b/marketplace.json @@ -10,7 +10,10 @@ "url": "https://z.ai" }, "unlistedPlugins": [ - { "name": "openpencil", "source": "./external_plugins/openpencil" } + { + "name": "openpencil", + "source": "./external_plugins/openpencil" + } ], "plugins": [ { @@ -827,7 +830,9 @@ }, { "name": "excalidraw", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "Excalidraw", "displayName_i18n": { "en": "Excalidraw", @@ -850,7 +855,9 @@ "name": "photocraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/photocraft/icon.png", "source": "./external_plugins/photocraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "PhotoCraft", "displayName_i18n": { "en": "PhotoCraft", @@ -877,7 +884,9 @@ "name": "vectorcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/vectorcraft/icon.png", "source": "./external_plugins/vectorcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "VectorCraft", "displayName_i18n": { "en": "VectorCraft", @@ -904,7 +913,9 @@ "name": "pdfcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/pdfcraft/icon.png", "source": "./external_plugins/pdfcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "PdfCraft", "displayName_i18n": { "en": "PdfCraft", @@ -931,7 +942,9 @@ "name": "designcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/designcraft/icon.png", "source": "./external_plugins/designcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "DesignCraft", "displayName_i18n": { "en": "DesignCraft", @@ -958,7 +971,9 @@ "name": "wordcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/wordcraft/icon.png", "source": "./external_plugins/wordcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "WordCraft", "displayName_i18n": { "en": "WordCraft", @@ -985,7 +1000,9 @@ "name": "gridcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/gridcraft/icon.png", "source": "./external_plugins/gridcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "GridCraft", "displayName_i18n": { "en": "GridCraft", @@ -1012,7 +1029,9 @@ "name": "deckcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/deckcraft/icon.png", "source": "./external_plugins/deckcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "DeckCraft", "displayName_i18n": { "en": "DeckCraft", @@ -1039,7 +1058,9 @@ "name": "cadcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/cadcraft/icon.png", "source": "./external_plugins/cadcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "CADCraft", "displayName_i18n": { "en": "CADCraft", @@ -1066,7 +1087,9 @@ "name": "soundcraft", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/soundcraft/icon.png", "source": "./external_plugins/soundcraft", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "SoundCraft", "displayName_i18n": { "en": "SoundCraft", @@ -1149,7 +1172,9 @@ }, "category": "developer-tools", "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/kicad/icon.png", - "componentTypes": ["ui"], + "componentTypes": [ + "ui" + ], "displayName": "KiCad", "displayName_i18n": { "en": "KiCad", @@ -1443,6 +1468,31 @@ "mcp", "verification" ] + }, + { + "name": "data-studio", + "source": "./external_plugins/data-studio", + "description": "Secure database access for AI agents via the data_studio__* MCP tools: 70+ SQL databases through SqlKit, Elasticsearch/OpenSearch/MongoDB/DynamoDB through DocKit. Credentials never leave your desktop apps.", + "description_i18n": { + "en": "Secure database access for AI agents via the data_studio__* MCP tools: 70+ SQL databases through SqlKit, Elasticsearch/OpenSearch/MongoDB/DynamoDB through DocKit. Credentials never leave your desktop apps.", + "zh-CN": "让 AI 编码助手通过 data_studio__* MCP 工具安全访问数据库:经 SqlKit 支持 70+ 种 SQL 数据库,经 DocKit 支持 Elasticsearch/OpenSearch/MongoDB/DynamoDB。凭据永不离开桌面应用。" + }, + "version": "0.1.12", + "author": { + "name": "GeekFun", + "url": "https://github.com/geek-fun" + }, + "category": "developer-tools", + "keywords": [ + "database", + "sql", + "nosql", + "elasticsearch", + "mongodb", + "dynamodb", + "mcp" + ], + "icon": "https://cdn-zcode.z.ai/zcode/official-plugin/assets/data-studio/icon.png" } ] } \ No newline at end of file From 15e4587ff768005e492e03ea262ce55998ef39c4 Mon Sep 17 00:00:00 2001 From: blankll Date: Sun, 1 Nov 2026 23:05:24 +0800 Subject: [PATCH 2/2] fix(data-studio): regenerate icon with a working alpha channel Previous icon.png had alpha=0 for every pixel (mask drawn with default black fill on xc:none then collapsed by -alpha off before CopyOpacity), so GitHub and the ZCode client rendered it as fully transparent. Rebuilt with an explicit white-on-black mask; verified alpha range [0,1] with opaque center and transparent rounded corners. --- assets/data-studio/icon.png | Bin 44869 -> 47158 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/data-studio/icon.png b/assets/data-studio/icon.png index 9d65f065148cbbe379d7c19bc56e8f996e94a788..877a3fa9a27f141fbaa7447061ba4fde692587a7 100644 GIT binary patch literal 47158 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 kc=v?CdG-4{S(Yd?p22FXh>C(E5cqRopP_b z!54l>Y4kSNFTlj{g7s1=D-ltl$Mw|M&)P zXIBR=?^~`O|NS+e7lnJkYYrV;12V-Oe(Acakwc7|Zy_8c#yo;-y7tu|)dy+qbm9x8Ofc&cjYCwQNt9f3p z6^vVux`POvw zyT)N48zMglK_x~#m}`H)CE|y1yv67l<(qch&MpsSz_D zi;Uqqui!t}x>}rG7Au5YU&Fjao)B9O!&JZ25sOx#W5)$d;g)LB+@IxA*ev{Q1x$ej z21WTBjP5pi*lh;Xh9PmI6tCJITKY+{g4(%xcl<<+d1>^C%G>7}=A8&E5GAZmc%PBP z{ZNOa%=BNyaMjl_)3>I)nD5n>crsiOc(JecW-%il+Z!y-f?yYTfbJ_2t=eRvEJ%;J z6p7hY0852*wXO!fv(A1L8KP0ri>T{pT5M+GX}wzkFNQqPGO5kq;Y?S=?_T||v%*7& z*L3*6<~SU7-McN(ZSulRoU0uV`iwn;JCd>JwO%0ApE%9`GGlKu=5Dpz(!z%|$EuXA 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