返回目录

dsh-db-mcp

精选清单收录维护状态: 活跃

halcyon6669/dsh-db-mcp

提供 SQLite、PostgreSQL、MySQL 和 Oracle 数据源面板,并通过 Python MCP 服务向智能体开放数据源。

前往 GitHub
$ dsh plugin add dsh-db-mcp

安装

dsh 没有统一的安装命令——把该插件 README 中的配置行加入你的 profile/patch 配置,然后重启即可。

了解安装方式

1

星标

0

Fork

JavaScript

语言

Apache-2.0

许可证

2026-11-07

创建于

2026-11-13

最近推送

README

dsh-db-mcp

License: Apache-2.0 npm npm downloads per month npm downloads in total

English | 中文

A DSH plugin that hands your databases to the agent. Register a connection once, then just ask — the agent queries it through MCP tools and answers in the conversation.

The fastest path is the one you already walked: import the connections DBeaver already knows, saved passwords included, and skip typing anything.

Three things you do not have to do

  • Do not retype connections. The importer reads your DBeaver workspace (data-sources.json) and decrypts credentials-config.json with DBeaver's own key, so host, port, database, user and the saved password arrive together. Tick the boxes, click import, done. Existing endpoints are marked, so the same connection is never added twice.
  • Do not configure DSH. The bundle inserts one Loader row. The plugin starts its own Python MCP server and registers the tools itself — no dsh-mcp-client row, no JSON to edit, no environment variable to export.
  • Do not prepare a Python environment. No venv to create, no pip install to run by hand: the panel finds an interpreter, builds .venv and installs the driver packages from Runtime → Install / repair dependencies.

How it works, on one page

Left: what you do in the panel. Right: what happens in the conversation once a source exists.

The path from a DBeaver connection to an answer in chat

Screenshots

The source list. A health strip across the top, sources grouped the way you grouped them, engine badges, the identifier each tool call needs, and a failed probe stays inline with its full error and a copy button. The Import from DBeaver tab sits right next to it.

Data source list

One set of sources, every DSH you run

The registry lives in ~/.dsh/db-mcp/ (datasources.json + secrets.json, mode 0600), not inside a profile. So:

  • Install it in the desktop app, the web UI, or both — they read the same file, so a source imported once shows up everywhere.
  • Run several DSH windows at the same time. Each instance starts its own Python service; the first takes the HTTP port and the next ones step to the following free port automatically, so nothing refuses to start.
  • Upgrade or reinstall without redoing the setup. Sources, groups, settings and the audit log survive; only the plugin code is replaced.

The same server, for your other agents

The panel publishes the identical MCP server over streamable HTTP. The Connect tab shows the address (http://127.0.0.1:8765/dsh-db-mcp) and writes the entry for you with one click:

Client Written as
VS Code / VS Code Insiders HTTP entry in mcp.json
Cursor HTTP entry in ~/.cursor/mcp.json
Claude Code HTTP entry in ~/.claude.json
Claude Desktop stdio entry in claude_desktop_config.json
Codex CLI [mcp_servers.dsh-db-mcp] in ~/.codex/config.toml

Point JetBrains AI or anything else that speaks MCP at the same URL and it works too. Data sources, the read-only flag, the writable schemas and the DDL switch are shared; the audit log, the tool list and the conversation-level limit stay inside DSH. The safety page has the line-by-line table; clients.md walks through the endpoint.

Requirements

Needs
DSH >= 0.2.0-rc.2 (declared in engines.dsh)
Node.js the runtime DSH itself ships (24.x). The plugin only uses node:sqlite — available from 22.5 — for the in-process SQLite probe; if it is missing, the Python driver covers SQLite and the panel says so
Python 3.10 or newer for the bundled server (mcp, psycopg, oracledb and pydantic all require 3.10+; tested on 3.13). The panel creates the venv; you only need an interpreter on PATH or set pythonPath in the plugin config
Database drivers installed by the panel into that venv: mcp, psycopg[binary], py-opengauss, PyMySQL, oracledb, cryptography. SQLite needs nothing extra
OS Windows, macOS or Linux. Venv paths (.venv/Scripts/python.exe vs .venv/bin/python) and the DBeaver workspace location are detected per platform

Run

dsh plugin --profile desktop add dsh-db-mcp   # desktop app
dsh plugin --profile web add dsh-db-mcp       # web UI

--profile picks the profile to install into (desktop and web ship with DSH; any other name is created on first use). Remove with dsh plugin --profile desktop remove dsh-db-mcp.

Upgrading has its own traps — pnpm's metadata cache, its release cooldown, and Windows holding the old files open. See Updating from the app; if the app asks you to disable other configurations first, restart DSH and update again (that releases the running app's hold on the bundle).

Then:

  1. Sidebar → Data sources.
  2. Import from DBeaver → tick the connections → Import selected.
  3. Ask the agent something like "which tables does my Chinook database have?"

A connection whose password was never saved shows no password; open the source once and type it — it goes to secrets.json and never comes back to the page.

在 GitHub 阅读完整 README →

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。