QueryWeaver
An MCP server for Text2SQL: transforms natural language into SQL using graph schema understanding.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Secure SQL proxy for AI agents — NL→SQL, AST safety, per-agent RLS, audit log.เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 14 พ.ย. 2569
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Queryshield (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
คัดลอกข้อความนี้ไปวางในแชตของ Claude AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Queryshield ให้ Claude ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี uv ด้วยคำสั่ง uv --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://docs.astral.sh/uv/getting-started/installation/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "queryshield": { "command": "uvx", "args": [ "queryshield-mcp" ], "env": { "QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ" } } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง QUERYSHIELD_API_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Queryshield ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
uv --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: uv ไม่มีตัวติดตั้งแบบกดเอง คัดลอกคำสั่งหนึ่งบรรทัดของเครื่องคุณ (macOS หรือ Windows) จากหน้าทางการของ uv ไปวางใน Terminal · ไม่ต้องลง Python แยก uv ดาวน์โหลดให้เองเมื่อต้องใช้
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: uv --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ uv
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
SettingsDeveloperEdit Config
{
"mcpServers": {
"queryshield": {
"command": "uvx",
"args": [
"queryshield-mcp"
],
"env": {
"QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Queryshield บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Queryshield หรือมีชื่อเครื่องมือของ Queryshield ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
QUERYSHIELD_BASE_URL Override the default endpoint.คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Queryshield ไม่ได้
Queryshield ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ Queryshield ได้
ข · ตัวอื่นในหมวด ฐานข้อมูลและชุดข้อมูล ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Queryshield (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Claude Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Queryshield ให้ Claude Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี uv ด้วยคำสั่ง uv --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://docs.astral.sh/uv/getting-started/installation/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): claude mcp add --scope user queryshield --env QUERYSHIELD_API_KEY='ใส่ค่าของคุณ' -- uvx queryshield-mcp 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง QUERYSHIELD_API_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Queryshield ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
uv --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: uv ไม่มีตัวติดตั้งแบบกดเอง คัดลอกคำสั่งหนึ่งบรรทัดของเครื่องคุณ (macOS หรือ Windows) จากหน้าทางการของ uv ไปวางใน Terminal · ไม่ต้องลง Python แยก uv ดาวน์โหลดให้เองเมื่อต้องใช้
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: uv --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ uv
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --scope user queryshield --env QUERYSHIELD_API_KEY='ใส่ค่าของคุณ' -- uvx queryshield-mcpแก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ต้องเห็น Queryshield ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ Queryshield บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Queryshield หรือมีชื่อเครื่องมือของ Queryshield ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
QUERYSHIELD_BASE_URL Override the default endpoint.คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Queryshield (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Cursor AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Queryshield ให้ Cursor ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี uv ด้วยคำสั่ง uv --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://docs.astral.sh/uv/getting-started/installation/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "queryshield": { "command": "uvx", "args": [ "queryshield-mcp" ], "env": { "QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ" } } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง QUERYSHIELD_API_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Queryshield ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
uv --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: uv ไม่มีตัวติดตั้งแบบกดเอง คัดลอกคำสั่งหนึ่งบรรทัดของเครื่องคุณ (macOS หรือ Windows) จากหน้าทางการของ uv ไปวางใน Terminal · ไม่ต้องลง Python แยก uv ดาวน์โหลดให้เองเมื่อต้องใช้
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: uv --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ uv
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
ในค่าตั้งของ Queryshield ช่อง QUERYSHIELD_API_KEY ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Queryshield บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Queryshield หรือมีชื่อเครื่องมือของ Queryshield ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
QUERYSHIELD_BASE_URL Override the default endpoint.คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Queryshield (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ VS Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Queryshield ให้ VS Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี uv ด้วยคำสั่ง uv --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://docs.astral.sh/uv/getting-started/installation/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "servers": { "queryshield": { "type": "stdio", "command": "uvx", "args": [ "queryshield-mcp" ], "env": { "QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ" } } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง QUERYSHIELD_API_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Queryshield ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
uv --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: uv ไม่มีตัวติดตั้งแบบกดเอง คัดลอกคำสั่งหนึ่งบรรทัดของเครื่องคุณ (macOS หรือ Windows) จากหน้าทางการของ uv ไปวางใน Terminal · ไม่ต้องลง Python แยก uv ดาวน์โหลดให้เองเมื่อต้องใช้
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: uv --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ uv
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
ในค่าตั้งของ Queryshield ช่อง QUERYSHIELD_API_KEY ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Queryshield บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Queryshield หรือมีชื่อเครื่องมือของ Queryshield ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
QUERYSHIELD_BASE_URL Override the default endpoint.คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
Claude Code
claude mcp add --scope user queryshield --env QUERYSHIELD_API_KEY='ใส่ค่าของคุณ' -- uvx queryshield-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"queryshield": {
"command": "uvx",
"args": [
"queryshield-mcp"
],
"env": {
"QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"queryshield": {
"command": "uvx",
"args": [
"queryshield-mcp"
],
"env": {
"QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"queryshield": {
"type": "stdio",
"command": "uvx",
"args": [
"queryshield-mcp"
],
"env": {
"QUERYSHIELD_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}QUERYSHIELD_API_KEY ความลับ จำเป็น envQUERYSHIELD_BASE_URL envคำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 15 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub bch1212 ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 25 วันที่ผ่านมา
ใช้ MIT
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ยังไม่ได้ตรวจ
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: QUERYSHIELD_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 25 วันที่ผ่านมา และส่งรุ่นล่าสุด (1.0.1) เข้า registry 6 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี QueryWeaver, Supabase, Neon, DBCode, Keboola MCP
หมวดเดียวกันจากผู้ทำคนอื่น ผ่านตัวตรวจคำสั่งแล้ว ตัวทางการขึ้นก่อน แล้วเรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
An MCP server for Text2SQL: transforms natural language into SQL using graph schema understanding.
server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ
Official Neon MCP server for managing Neon projects and Lakebase Postgres databases.
Query and explore 100+ databases through your DBCode connections.
Connect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Agent security suite. QueryShield is the lead product: a secure SQL proxy and a named credential vault, one qs_ API key, one Stripe customer, and this docs site.
Agents call a single endpoint in plain English (or structured SQL). QueryShield:
SELECT is allowed, no stacked statements, no forbidden functions, LIMIT required.WHERE clause injection.Agents never see connection strings.
The credential vault stores other secrets (API tokens the agent is allowed to use). It is the AgentVault product, folded into this service. Permission patterns decide which names an agent can read. Database connection strings stay in a separate encrypted store and are not readable through the vault.
Free tier / funnel: InjectShield scans untrusted text for prompt injection. It stays in its own repository (bch1212/injectshield) and its own API (api.injectshield.dev). Start there, then create one QueryShield workspace when an agent needs a database or a vault. Docs: injectshield.dev/docs. Suite page on this service: /suite.
pip install -r requirements.txt
cp .env.example .env
python -m queryshield.start
Generate a Fernet key for VAULT_KEY once and never lose it. Credential encryption and session signing both require VAULT_KEY (or SESSION_KEY for cookies). If it is unset, those operations fail instead of using a built-in key:
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
# 1) Boot a tenant. Returns the admin API key — copy it.
curl -X POST localhost:8000/v1/tenants?name=Acme
curl -X POST localhost:8000/v1/databases \ -H 'X-Admin-Key: qs_...' \ -H 'Content-Type: application/json' \ -d '{ "alias": "prod", "db_type": "postgresql", "connection_string": "postgresql://READER:PASSWORD@db.example.internal:5432/app", "allowed_tables": ["users", "orders"] }'
curl -X POST localhost:8000/v1/agents \ -H 'X-Admin-Key: qs_...' \ -H 'Content-Type: application/json' \ -d '{ "name": "reporting", "tenant_id": " " }'
curl -X POST localhost:8000/v1/policies \ -H 'X-Admin-Key: qs_...' \ -H 'Content-Type: application/json' \ -d '{ "agent_id": " ", "database_alias": "prod", "allowed_tables": ["users", "orders"], "row_filters": { "users": "tenant_id = 42" } }'
curl -X POST localhost:8000/v1/credentials \ -H 'X-Admin-Key: qs_...' \ -H 'Content-Type: application/json' \ -d '{ "name": "openai_key", "provider": "openai", "value": "YOUR_SECRET" }'
curl -X POST localhost:8000/v1/agents \ -H 'X-Admin-Key: qs_...' \ -H 'Content-Type: application/json' \ -d '{ "name": "writer", "tenant_id": " ", "credential_permissions": ["openai_*"], "budget_daily": 5 }'
curl -X POST localhost:8000/v1/vault/get/openai_key \ -H 'X-API-Key: qs_...'
curl -X POST localhost:8000/v1/query \ -H 'X-API-Key: qs_...' \ -H 'Content-Type: application/json' \ -d '{ "database_alias": "prod", "query": "how many active users do we have?", "mode": "nl", "max_rows": 10 }'
Listed in the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=queryshield) as `io.github.bch1212/queryshield`.
Install the client:
pip install queryshield-mcp
Then drop this into your Claude Desktop / Cursor / agent config:
{
"queryshield": { "command": "queryshield-mcp", "env": { "QUERYSHIELD_API_KEY": "qs_..." } } }
Source for the standalone PyPI package lives in packages/queryshield-mcp/.
For MCP directory evaluators such as Glama, the repository root also includes a slim Dockerfile that launches the published queryshield-mcp stdio server for tool introspection. The container does not need QUERYSHIELD_API_KEY for MCP initialization/tool discovery; the key is only required when a discovered tool is actually invoked against a QueryShield API tenant.
Drop this into any MCP-aware client (Claude Desktop, Cursor, custom agents):
{
"queryshield": { "command": "python", "args": ["-m", "queryshield.mcp_server"], "env": { "QUERYSHIELD_API_KEY": "qs_...", "QUERYSHIELD_BASE_URL": "https://api.queryshield.io" } } }
Tools exposed:
query_database(database_alias, question, max_rows) — natural-languagequery_database_sql(database_alias, sql, max_rows) — pre-built SELECTlist_credentials() — names this agent may readget_credential(name, cost) — one permitted secret, same API keyget_audit_log(limit) — recent attempts for the calling agentThe PyPI package queryshield-mcp picks up the vault tools on its next release. Until then, python -m queryshield.mcp_server from this repo already exposes them.
| Threat | Defense |
|---|---|
Agent crafts a DROP TABLE | sqlglot AST refuses non-SELECT |
Agent sneaks ; and a second statement | parser rejects len(statements) > 1 |
Agent uses pg_sleep, xp_cmdshell, ... | function deny-list at the AST node level |
| Agent reads tables outside its scope | RLS schema + table whitelist |
| Agent reads other tenants' rows | row_filters injected via AST .where() |
| Connection string leaks via stack traces | Fernet-encrypted, never returned in any API |
| Agent reads a secret it was not granted | fnmatch permissions; empty list fails closed |
| Vault audit becomes the secret | credential access log stores metadata only |
| Audit log becomes the data exfil vector | only metadata is stored — never rows |
VAULT_KEY rotation | re-encrypt rows under new key (script-driven) |
safety.py is the single most important module. Every additional check that lands there should ship with a test in tests/test_safety.py.
| Tier | Monthly | Databases | Credentials | Queries / month | Notes |
|---|---|---|---|---|---|
| InjectShield | free | — | — | — | prompt-injection funnel, separate site |
| Starter | $500 | 3 | 25 | 1,000,000 | |
| Pro | $1,500 | 10 | 100 | 10,000,000 | audit export |
| Enterprise | $3,500 | unlimited | unlimited | unlimited | SSO, SIEM webhook |
QueryShield tiers are one Stripe customer. InjectShield sign-up stays on injectshield.dev until that billing is folded in. Targets $32.5K MRR @ 15 customers (10 Pro + 5 Enterprise).
The repo is Railway-ready. python -m queryshield.start is the entrypoint (reads PORT via os.getenv, since Railway exec's the start command without a shell). Provision Postgres + (optionally) Redis from Railway's marketplace and the rest is env vars.
railway up
/health is the liveness check. /ready returns 503 if the control-plane DB is unreachable.
pip install pytest
python -m pytest tests/
102 tests cover the original safety, RLS, proxy, and HTTP suites plus the credential vault (encryption, qs_ key hashing, permission checks, budgets, tenant isolation, and the column migration for existing databases) and fail-closed VAULT_KEY / SESSION_KEY checks. The original cases: