Dbhawk
ใช้ทำอะไรได้
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
- ต่อแบบ ติดตั้งในเครื่อง
- บัญชีหรือคีย์ ต้องมี DBHAWK_BASE_URL, DBHAWK_TOKEN
- หมวด ฐานข้อมูลและชุดข้อมูล
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Secure access to DBHawk datasources: browse schemas, run governed queries, DBHawk AI text-to-SQL.ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 2/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
สมัครและสร้างคีย์ของ Dbhawk
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
เปิดไฟล์ตั้งค่าของแอป Claude บนคอม
SettingsDeveloperEdit Config
วางค่าตั้งนี้แล้วบันทึกไฟล์
{ "mcpServers": { "dbhawk": { "command": "npx", "args": [ "-y", "@dbhawk/mcp" ], "env": { "DBHAWK_BASE_URL": "ใส่ค่าของคุณ", "DBHAWK_TOKEN": "ใส่ค่าของคุณ", "DBHAWK_DEFAULT_DATASOURCE": "ใส่ค่าของคุณ" } } } }วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ปิดแอป Claude แล้วเปิดใหม่
ลองเลย
ใช้ Dbhawk บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Dbhawk หรือมีชื่อเครื่องมือของ Dbhawk ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Dbhawk ไม่ได้
Dbhawk ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
คุณทำแบบนี้แทนได้
ก · ใช้แอปที่ต่อ Dbhawk ได้
- ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
- ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
- ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
ข · ตัวอื่นในหมวด ฐานข้อมูลและชุดข้อมูล ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
- Supabase✓ ChatGPT
- Appwrite MCP✓ ChatGPT
- Pg Aiguide✓ ChatGPT
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
สมัครและสร้างคีย์ของ Dbhawk
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
เปิด Terminal
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
วางคำสั่งนี้แล้วกด Enter
claude mcp add --scope user dbhawk --env DBHAWK_BASE_URL='ใส่ค่าของคุณ' --env DBHAWK_TOKEN='ใส่ค่าของคุณ' --env DBHAWK_DEFAULT_DATASOURCE='ใส่ค่าของคุณ' -- npx -y @dbhawk/mcpแก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
พิมพ์ /mcp ใน Claude Code
ต้องเห็น Dbhawk ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ลองเลย
ใช้ Dbhawk บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Dbhawk หรือมีชื่อเครื่องมือของ Dbhawk ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
สมัครและสร้างคีย์ของ Dbhawk
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
ใส่คีย์ในช่องที่ว่างไว้
ในค่าตั้งของ Dbhawk ช่อง DBHAWK_BASE_URL, DBHAWK_TOKEN, DBHAWK_DEFAULT_DATASOURCE ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
เปิดแชตของ AI ใน Cursor โหมด Agent
ลองเลย
ใช้ Dbhawk บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Dbhawk หรือมีชื่อเครื่องมือของ Dbhawk ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Dbhawk (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
สมัครและสร้างคีย์ของ Dbhawk
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
ใส่คีย์ในช่องที่ว่างไว้
ในค่าตั้งของ Dbhawk ช่อง DBHAWK_BASE_URL, DBHAWK_TOKEN, DBHAWK_DEFAULT_DATASOURCE ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
เปิดแชตของ AI ใน VS Code โหมด Agent
ลองเลย
ใช้ Dbhawk บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Dbhawk หรือมีชื่อเครื่องมือของ Dbhawk ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON
ติดตั้งในเครื่อง
Claude Code
claude mcp add --scope user dbhawk --env DBHAWK_BASE_URL='ใส่ค่าของคุณ' --env DBHAWK_TOKEN='ใส่ค่าของคุณ' --env DBHAWK_DEFAULT_DATASOURCE='ใส่ค่าของคุณ' -- npx -y @dbhawk/mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"dbhawk": {
"command": "npx",
"args": [
"-y",
"@dbhawk/mcp"
],
"env": {
"DBHAWK_BASE_URL": "ใส่ค่าของคุณ",
"DBHAWK_TOKEN": "ใส่ค่าของคุณ",
"DBHAWK_DEFAULT_DATASOURCE": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"dbhawk": {
"command": "npx",
"args": [
"-y",
"@dbhawk/mcp"
],
"env": {
"DBHAWK_BASE_URL": "ใส่ค่าของคุณ",
"DBHAWK_TOKEN": "ใส่ค่าของคุณ",
"DBHAWK_DEFAULT_DATASOURCE": "ใส่ค่าของคุณ"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"dbhawk": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dbhawk/mcp"
],
"env": {
"DBHAWK_BASE_URL": "ใส่ค่าของคุณ",
"DBHAWK_TOKEN": "ใส่ค่าของคุณ",
"DBHAWK_DEFAULT_DATASOURCE": "ใส่ค่าของคุณ"
}
}
}
}ค่าที่ต้องใส่เอง
DBHAWK_BASE_URLจำเป็น envDBHawk base URL, e.g. https://dbhawk.example.com (no trailing /api)DBHAWK_TOKENความลับ จำเป็น envMCP-scoped personal token (dbh_...) from DBHawk User Profile > API TokenDBHAWK_DEFAULT_DATASOURCEenvDatasource used when a request doesn't name one
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
สรุป
ใช้กับโปรแกรมไหนได้
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
คู่มือที่เกี่ยวข้อง
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 12 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันโดเมน datasparc.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด 8 วันที่ผ่านมา
- ✕ ไม่ผ่าน
มีสัญญาอนุญาต (license)
ไม่พบไฟล์ license ใน repo
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
พูดคุย
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
รีวิวจากผู้ใช้
ยังไม่มีรีวิว
เทียบกับตัวอื่นในหมวด ฐานข้อมูลและชุดข้อมูลi
- ดาวมากกว่า 0% ของอีก 1171 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 63% ของอีก 1171 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 50% ของอีก 1171 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Dbhawk ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
ต้องใส่ค่าเหล่านี้: DBHAWK_BASE_URL, DBHAWK_TOKEN
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด 8 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.4.2) เข้า registry 26 วันที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี Dbx, MCP Toolbox for Databases, MCP Toolbox for Databases
ตัวอื่นในหมวดเดียวกัน
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
DBHawk MCP — Claude Code plugin + demo connector
Gives an AI assistant access to DBHawk: list the datasources a user is assigned, browse schema/tables/columns, run queries (with the user's access control and column masking applied), and use DBHawk AI text-to-SQL / optimize / format. Data or schema changes are possible only when the user's MCP tier allows them — the default tier is read-only (see Reads, writes and MCP tiers).
It's a thin bridge over the existing DBHawk REST surface at /api/v2/mcp/**. DBHawk decides what runs: every statement is classified and checked against the tier of the user's groups, whatever role the token owner has.
Sign in, or a personal token. Leave DBHAWK_TOKEN empty and the server signs in to DBHawk through the browser on the first tool call: the DBHawk login page opens (password, LDAP, 2FA or SSO - whatever your DBHawk offers), you approve the access once, and the server keeps a refresh token in your user profile for the next start (%APPDATA%\dbhawk-mcp on Windows, ~/Library/Application Support/dbhawk-mcp on macOS, ~/.config/dbhawk-mcp on Linux). This needs DBHawk 7.0.1 with the MCP connector; what you may do is decided by your MCP tier, exactly as with a token. See UPGRADE-7.1.0.md.
With a personal token, auth is two steps. DBHAWK_TOKEN is a personal token (dbh_ . ), not a JWT — the MCP endpoints won't accept it directly. On its first call the server exchanges it for a short-lived JWT at POST /api/v2/auth/token/exchange (sending the personal token in the X-API-Token header), caches that JWT, and sends it as the Bearer for every /api/v2/mcp/** call. Shortly before the JWT's exp the server exchanges a fresh one up front; if a call still gets a 401 it re-exchanges and retries once — transparent to you.
dbhawk-mcp-plugin/ <- this folder = a Claude Code "marketplace" (push it to git)
├── .claude-plugin/marketplace.json └── dbhawk/ <- the actual plugin (installed by users) ├── .claude-plugin/plugin.json ├── .mcp.json <- declares the "dbhawk" stdio MCP server └── mcp-server/ ├── index.js <- source ├── package.json <- build tooling (maintainers only) └── dist/dbhawk-mcp.mjs <- COMMITTED self-contained bundle (what users run; no npm install)
The bundle in dist/ inlines every dependency, so a bare `git clone` runs with zero install — that's what makes /plugin install work.
For users — install
Claude Code (from the marketplace)
Once this repo is on GitHub (see *Publish* below), point Claude Code at it and install:
/plugin marketplace add datasparc/dbhawk-mcp-plugin
/plugin install dbhawk@dbhawk-marketplace
dbhawk is the plugin name, dbhawk-marketplace is the marketplace name (from marketplace.json). Then set the connection (see *Configure*) and check the tools are live with /mcp.
Prefer to try it without a git host? Load the local folder for one session:
claude --plugin-dir ./dbhawk-mcp-plugin/dbhawk
Claude Desktop (extension, .mcpb) — recommended
Claude Desktop installs this as a Desktop Extension with a proper GUI settings form (no JSON editing). It's the same MCP server, packaged as an .mcpb bundle.
- Download
dbhawk- .mcpbfrom the Releases page. - In Claude Desktop: Settings → Extensions → Advanced settings → Install and pick the file (or just drag the
.mcpbonto the Extensions window). - Fill in the form — DBHawk Base URL, API Token (optional; masked, stored in your OS keychain - leave it empty to sign in through the browser instead), Default Datasource (optional) — and save.
- With no token, the first DBHawk tool call opens the DBHawk sign-in in your browser: sign in, click Allow, and repeat the request if Claude reported that it was waiting for the sign-in.
Claude Desktop does not auto-update file-installed extensions: to upgrade, download the newer .mcpb and install it again. This is independent of the Claude Code plugin — you don't need the marketplace plugin installed.
Claude Desktop (manual config, advanced)
Prefer to wire it by hand instead of the .mcpb? Point Desktop at the bundle with an absolute path. Edit claude_desktop_config.json (Windows: %APPDATA%\Claude\claude_desktop_config.json, macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "dbhawk": { "command": "C:\\Program Files\\nodejs\\node.exe", "args": ["C:\\...\\dbhawk-mcp-plugin\\dbhawk\\mcp-server\\dist\\dbhawk-mcp.mjs"], "env": { "DBHAWK_BASE_URL": "https://demo.dbhawk.example.com", "DBHAWK_TOKEN": "PASTE_MCP_TOKEN_HERE", "DBHAWK_DEFAULT_DATASOURCE": "" } } } }
Restart Claude Desktop fully (including the tray icon).
Configure
The server needs three values (the token owner needs ACCESS_TO_DATA):
| Setting | Required | Meaning |
|---|---|---|
Base URL (DBHAWK_BASE_URL) | yes | Base URL of DBHawk, e.g. https://demo.dbhawk.example.com (no trailing /api) |
API Token (DBHAWK_TOKEN) | no | Empty: sign in through the browser on first use (DBHawk 7.0.1+). Otherwise an MCP-scoped personal token (dbh_…): DBHawk → User Profile → API Token. Exchanged for a JWT at runtime — paste the personal token as-is, not a JWT |
Default Datasource (DBHAWK_DEFAULT_DATASOURCE) | no | Datasource used when a tool call omits datasource |
Claude Code — guided setup dialog (recommended)
The plugin declares these as userConfig fields in dbhawk/.claude-plugin/plugin.json, so Claude Code prompts for them when you enable the plugin — the token field is sensitive, so it's masked on entry and stored in secure storage (OS keychain / ~/.claude/.credentials.json), never in settings.json or git. dbhawk/.mcp.json wires them in via ${user_config.dbhawk_token} etc.
To re-enter or change them later, re-enable the plugin, or set them non-interactively:
claude plugin install dbhawk@dbhawk-marketplace \
--config dbhawk_base_url=https://demo.dbhawk.example.com \ --config dbhawk_token=dbh_... \ --config dbhawk_default_datasource=
Claude Desktop — environment variables
Desktop doesn't understand plugins or userConfig — pass the three values as env in the claude_desktop_config.json block shown above.
Tools
| Tool | DBHawk endpoint |
|---|---|
list_datasources | GET /datasources |
get_datasource | GET /datasources/{ds} |
list_catalogs | GET /datasources/{ds}/catalogs (MSSQL / Snowflake; empty for DBs with no catalog level) |
list_schemas | GET /datasources/{ds}/schemas |
list_objects | GET /datasources/{ds}/schemas/{schema}/objects |
list_columns | GET /datasources/{ds}/schemas/{schema}/objects/{object}/columns |
get_permissions | GET /permissions (the user's MCP tier(s), allowed operations, row cap, confirmations) |
run_query | POST /datasources/{ds}/query with readOnly: true (reads only, even if the tier allows writes; row-capped 200/5000) |
explain_plan | POST /datasources/{ds}/explain (execution plan built and read on one connection; the statement is never executed; needs explain_plan in the tier) |
list_sessions | GET /datasources/{ds}/sessions (active database sessions; needs active_sessions) |
kill_session | POST /datasources/{ds}/sessions/{id}/kill (ends one listed session; destructive, confirm flow; needs kill_session) |
execute_statement | POST /datasources/{ds}/query (data / schema change, only if the MCP tier allows it; confirm flow) |
text_to_sql | POST /datasources/{ds}/ai/ask |
optimize_sql | POST /datasources/{ds}/ai/optimize |
format_sql | POST /format-query |
list_jobs | GET /jobs (your own scheduled jobs; needs view_jobs) |
get_job | GET /jobs/{id} (SQL, schedule, output, delivery; needs view_jobs) |
list_job_executions | GET /jobs/{id}/executions (latest runs with the end of their logs; needs view_jobs) |
explain_cron | POST /jobs/cron/explain (validates and describes a Quartz cron expression) |
create_job | POST /jobs (export job of ONE statement, results to your File Manager or by e-mail - delivery, emailTo, recipients in DBHawk's Allowed Domains; needs manage_jobs + the statement's operations; confirm flow, always when it e-mails anyone but you) |
update_job | PUT /jobs/{id} (fields left out keep their value; delivery switches between File Manager and e-mail; confirm flow) |
delete_job | POST /jobs/{id}/delete (confirm flow; needs manage_jobs) |
pause_job / resume_job | POST /jobs/{id}/pause · /resume (resume re-checks the job's SQL against the tier; confirm flow) |
run_job / interrupt_job | POST /jobs/{id}/run · /interrupt (needs run_jobs; run re-checks the job's SQL; confirm flow) |
The job tools need a DBHawk server with the MCP job scheduler (migration 87 adds view_jobs, manage_jobs and run_jobs, granted to the *Destructive / admin* tier only) and the Job Scheduler license.
The job tools are interactive where the client allows it, but always in plain text:
- Job screen (MCP Apps): off. The HTML screen is commented out - no
ui://dbhawk/jobsresource, and no tool carries_meta.ui.resourceUri. A client that shows MCP Apps is asked in a form like any other. To bring it back, uncomment the marked blocks inmcp-server/index.js. - Forms (clients that support MCP elicitation):
create_jobasks you for whatever the model left out (datasource, name, SQL, schedule, format, delivery). The schedule and the output are never taken from the model unseen: when it brings a valid cron, a format and a delivery, you get one question instead ("Schedule ... Result ... Delivery ... Is that right?"), and clearing the box opens the whole form on what it proposed.update_jobwith only a job id opens the job in a form, and a call your MCP tier wants confirmed asks you in a form. Declining changes nothing. - Chat dialog (every other client):
create_jobis filled in with you in the chat, one question at a time - DBHawk answers with the next question (datasource, name, SQL, schedule, format, delivery) instead of an error, and the assistant puts it to you and calls the tool again with your answer. Each is asked only where the model has not been told it; the schedule, the format and the delivery are never taken from it unseen - where it has all three, they go to you as one question ("Is that right?"), and if you want one of them changed the assistant calls again without it and DBHawk asks you for it. A cron DBHawk cannot read is asked again with the reason, and the confirmation your tier wants is still asked before anything is created.
mcp-server/ui/jobs.html stays in the repository (a copy of DBHawk's own src/main/resources/mcp/ui/jobs.html) but is no longer bundled or served.
Reads, writes and MCP tiers
What a user may do is set in DBHawk, per user group, by its MCP tier (Admin → MCP Management → MCP Tiers). The default tier is read-only; higher tiers add EXPLAIN, DML (INSERT / UPDATE / DELETE / MERGE), DDL and admin operations. get_permissions tells the model what its tier allows.
Reads and writes are separate tools on purpose. run_query is annotated read-only (readOnlyHint), and DBHawk refuses a write sent through it even when the tier allows one. execute_statement is annotated destructive (destructiveHint), so MCP clients such as Claude ask the user before each call - keep it that way, do not "always allow" it. When the tier also asks for confirmation, DBHawk answers the first call with `{ confirmationRequir