MotherDuck
आधिकारिकMotherDuck और स्थानीय DuckDB के साथ डेटा क्वेरी और विश्लेषण करें
MotherDuck MCP के साथ आप क्या कर सकते हैं?
-
SQL एनालिटिक्स चलाएँ — अपने असिस्टेंट से
execute_queryका उपयोग करके स्थानीय DuckDB फ़ाइलों, इन-मेमोरी डेटाबेस, या MotherDuck में क्वेरी करने के लिए कहें, जिसमें पूर्ण DuckDB SQL डायलेक्ट समर्थन हो। -
डेटाबेस संरचना का अन्वेषण करें — अपने असिस्टेंट से
list_databases,list_tables, औरlist_columnsका उपयोग करके डेटाबेस, तालिकाओं और कॉलमों की सूची बनवाएँ ताकि आपका डेटा स्कीमा समझा जा सके। -
डेटाबेस कनेक्शन बदलें — अपने असिस्टेंट को
switch_database_connectionके माध्यम से स्थानीय फ़ाइलों, S3-होस्टेड डेटाबेस, या MotherDuck के बीच तुरंत स्विच करने का निर्देश दें (--allow-switch-databasesफ़्लैग आवश्यक है)। -
डेटा लिखें और संशोधित करें — रीड-राइट मोड सक्षम करें ताकि आपका असिस्टेंट कनेक्टेड डेटाबेस में सीधे रिकॉर्ड इन्सर्ट, अपडेट, या डिलीट कर सके।
-
डेटा इन्जेस्ट और एक्सपोर्ट करें — सर्वर का उपयोग करके स्थानीय और रिमोट डेटाबेस में क्वेरी करें, अपने स्थानीय फ़ाइल सिस्टम से डेटा इन्जेस्ट करें या उसमें एक्सपोर्ट करें।
होस्ट किया गया MCP सर्वर
npx add-mcp 'https://api.motherduck.com/mcp'Claude Code, Codex, Cursor और अन्य में इंस्टॉल होता है
दस्तावेज़
DuckDB / MotherDuck Local MCP Server
AI सहायकों और IDEs के लिए SQL एनालिटिक्स और डेटा इंजीनियरिंग।
DuckDB के शक्तिशाली विश्लेषणात्मक SQL इंजन का उपयोग करके AI सहायकों को अपने डेटा से कनेक्ट करें। स्थानीय DuckDB फ़ाइलों, इन-मेमोरी डेटाबेस, S3-होस्टेड डेटाबेस और MotherDuck से कनेक्शन का समर्थन करता है। SQL रीड- और राइट-क्वेरी निष्पादित करने, डेटाबेस कैटलॉग ब्राउज़ करने और विभिन्न डेटाबेस कनेक्शनों के बीच तुरंत स्विच करने की अनुमति देता है।
MotherDuck के लिए पूरी तरह से प्रबंधित रिमोट MCP सर्वर खोज रहे हैं? → MotherDuck Remote MCP दस्तावेज़ पर जाएं
रिमोट बनाम लोकल MCP
| रिमोट MCP | लोकल MCP (यह रिपॉजिटरी) | |
|---|---|---|
| होस्टिंग | MotherDuck द्वारा होस्ट किया गया | स्थानीय रूप से/स्व-होस्टेड चलता है |
| सेटअप | शून्य-सेटअप | स्थानीय इंस्टॉलेशन की आवश्यकता है |
| एक्सेस | रीड-राइट समर्थित | रीड-राइट समर्थित |
| स्थानीय फ़ाइल सिस्टम | - | स्थानीय और रिमोट डेटाबेस में क्वेरी करें, स्थानीय फ़ाइल सिस्टम से डेटा इनजेस्ट करें / डेटा निर्यात करें |
त्वरित प्रारंभ
पूर्वापेक्षाएँ: uv को pip install uv या brew install uv के माध्यम से इंस्टॉल करें
इन-मेमोरी DuckDB से कनेक्ट करना (डेव मोड)
{
"mcpServers": {
"DuckDB (in-memory, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", ":memory:", "--read-write", "--allow-switch-databases"]
}
}
}
बिना किसी गार्डरेल के पूर्ण लचीलापन — रीड-राइट एक्सेस और रनटाइम पर किसी भी डेटाबेस (स्थानीय फ़ाइलें, S3, या MotherDuck) पर स्विच करने की क्षमता।
स्थानीय DuckDB फ़ाइल से रीड-ओनली मोड में कनेक्ट करना
{
"mcpServers": {
"DuckDB (read-only)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "/absolute/path/to/your.duckdb"]
}
}
}
किसी विशिष्ट DuckDB फ़ाइल से रीड-ओनली मोड में कनेक्ट होता है। फ़ाइल लॉक को धारण नहीं करता, इसलिए उसी DuckDB फ़ाइल में राइट कनेक्शन के साथ उपयोग करना सुविधाजनक है। आप s3://bucket/path.duckdb का उपयोग करके S3 पर रिमोट DuckDB फ़ाइलों से भी कनेक्ट कर सकते हैं — S3 प्रमाणीकरण के लिए पर्यावरण चर देखें। यदि आप MCP तक तृतीय-पक्ष पहुंच पर विचार कर रहे हैं, तो उत्पादन के लिए सुरक्षा देखें।
MotherDuck से रीड-राइट मोड में कनेक्ट करना
{
"mcpServers": {
"MotherDuck (local, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "md:", "--read-write"],
"env": {
"motherduck_token": "<YOUR_MOTHERDUCK_TOKEN>"
}
}
}
}
अधिक विकल्पों के लिए कमांड लाइन पैरामीटर देखें, तैनाती मार्गदर्शन के लिए उत्पादन के लिए सुरक्षा देखें, और समस्याओं का सामना करने पर समस्या निवारण देखें।
क्लाइंट सेटअप
| क्लाइंट | कॉन्फ़िग स्थान | वन-क्लिक इंस्टॉल |
|---|---|---|
| Claude Desktop | सेटिंग्स → डेवलपर → कॉन्फ़िग संपादित करें | .mcpb (MCP बंडल) |
| Claude Code | नीचे CLI कमांड का उपयोग करें | - |
| Codex CLI | नीचे CLI कमांड या ~/.codex/config.toml का उपयोग करें | - |
| Gemini CLI | नीचे CLI कमांड या ~/.gemini/settings.json का उपयोग करें | - |
| Cursor | सेटिंग्स → MCP → नया ग्लोबल MCP सर्वर जोड़ें | |
| VS Code | Ctrl+Shift+P → "Preferences: Open User Settings (JSON)" | |
| Kiro | ~/.kiro/settings/mcp.json (ग्लोबल) या .kiro/settings/mcp.json (प्रोजेक्ट) |
कोई भी MCP-संगत क्लाइंट इस सर्वर का उपयोग कर सकता है। त्वरित प्रारंभ से JSON कॉन्फ़िगरेशन को अपने क्लाइंट के MCP कॉन्फ़िग फ़ाइल में जोड़ें। कॉन्फ़िग फ़ाइल स्थान के लिए अपने क्लाइंट के दस्तावेज़ देखें।
Claude Code CLI कमांड
इन-मेमोरी DuckDB (डेव मोड):
claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases
स्थानीय DuckDB (रीड-ओनली):
claude mcp add --scope user duckdb --transport stdio -- uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
MotherDuck (रीड-राइट):
claude mcp add --scope user motherduck --transport stdio --env motherduck_token=YOUR_TOKEN -- uvx mcp-server-motherduck --db-path md: --read-write
Codex CLI कमांड
इन-मेमोरी DuckDB (डेव मोड):
codex mcp add duckdb -- uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases
स्थानीय DuckDB (रीड-ओनली):
codex mcp add duckdb -- uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
MotherDuck (रीड-राइट):
codex mcp add motherduck --env motherduck_token=YOUR_TOKEN -- uvx mcp-server-motherduck --db-path md: --read-write
Gemini CLI कमांड
इन-मेमोरी DuckDB (डेव मोड):
gemini mcp add -s user duckdb uvx mcp-server-motherduck --db-path :memory: --read-write --allow-switch-databases
स्थानीय DuckDB (रीड-ओनली):
gemini mcp add -s user duckdb uvx mcp-server-motherduck --db-path /absolute/path/to/db.duckdb
MotherDuck (रीड-राइट):
gemini mcp add -s user -e motherduck_token=YOUR_TOKEN motherduck uvx mcp-server-motherduck --db-path md: --read-write
Kiro मैनुअल JSON कॉन्फ़िग
अपने Kiro MCP कॉन्फ़िग फ़ाइल में निम्नलिखित जोड़ें (ग्लोबल के लिए ~/.kiro/settings/mcp.json, या प्रोजेक्ट-स्कोप्ड के लिए .kiro/settings/mcp.json)। अधिक विवरण के लिए Kiro MCP दस्तावेज़ देखें।
इन-मेमोरी DuckDB (डेव मोड):
{
"mcpServers": {
"DuckDB (in-memory, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", ":memory:", "--read-write", "--allow-switch-databases"]
}
}
}
MotherDuck (रीड-राइट):
{
"mcpServers": {
"MotherDuck (local, r/w)": {
"command": "uvx",
"args": ["mcp-server-motherduck", "--db-path", "md:", "--read-write"],
"env": {
"motherduck_token": "<YOUR_MOTHERDUCK_TOKEN>"
}
}
}
}
उपकरण
| उपकरण | विवरण | आवश्यक इनपुट | वैकल्पिक इनपुट |
|---|---|---|---|
execute_query | SQL क्वेरी निष्पादित करें (DuckDB डायलेक्ट) | sql | - |
list_databases | सभी डेटाबेस सूचीबद्ध करें (MotherDuck या कई संलग्न DB के लिए उपयोगी) | - | - |
list_tables | टेबल और व्यू सूचीबद्ध करें | - | database, schema |
list_columns | टेबल/व्यू के कॉलम सूचीबद्ध करें | table | database, schema |
switch_database_connection* | विभिन्न डेटाबेस पर स्विच करें | path | create_if_not_exists |
*--allow-switch-databases फ़्लैग की आवश्यकता है
सभी उपकरण JSON लौटाते हैं। परिणाम डिफ़ॉल्ट रूप से 1024 पंक्तियों / 50,000 वर्णों तक सीमित हैं (--max-rows, --max-chars के माध्यम से कॉन्फ़िगर करने योग्य)।
उत्पादन के लिए सुरक्षा
जब तृतीय पक्षों को स्व-होस्टेड MCP सर्वर तक पहुंच दी जाती है, रीड-ओनली मोड अकेले पर्याप्त नहीं है — यह अभी भी स्थानीय फ़ाइल सिस्टम तक पहुंच, DuckDB सेटिंग्स बदलने और अन्य संभावित संवेदनशील संचालन की अनुमति देता है।
तृतीय-पक्ष पहुंच के साथ उत्पादन तैनाती के लिए, हम MotherDuck Remote MCP की अनुशंसा करते हैं — शून्य-सेटअप, रीड-राइट सक्षम, और MotherDuck द्वारा होस्ट किया गया।
MotherDuck MCP को स्व-होस्ट करना: इस रिपॉजिटरी को फोर्क करें और आवश्यकतानुसार अनुकूलित करें। स्थानीय फ़ाइल एक्सेस को प्रतिबंधित करने के लिए रीड-स्केलिंग टोकन के साथ सेवा खाता का उपयोग करें और SaaS मोड सक्षम करें।
DuckDB MCP को स्व-होस्ट करना: सुरक्षा सेटिंग्स लागू करने के लिए --init-sql का उपयोग करें। उपलब्ध विकल्पों के लिए DuckDB सुरक्षा गाइड देखें।
Docker
पोर्ट 8000 पर Streamable HTTP के साथ सर्वर बनाएं और चलाएं (डिफ़ॉल्ट रूप से इन-मेमोरी DuckDB):
docker build -t mcp-server-motherduck .
docker run --rm -p 8000:8000 mcp-server-motherduck
टोकन पास करके और कमांड को ओवरराइड करके MotherDuck से कनेक्ट करें:
docker run --rm -p 8000:8000 \
-e motherduck_token="$MOTHERDUCK_TOKEN" \
mcp-server-motherduck --transport http --db-path md:
MCP एंडपॉइंट http://localhost:8000/mcp पर उपलब्ध है। नीचे दिए गए CLI फ़्लैग और env vars अभी भी लागू होते हैं।
कमांड लाइन पैरामीटर
| पैरामीटर | डिफ़ॉल्ट | विवरण |
|---|---|---|
--db-path | :memory: | डेटाबेस पथ: स्थानीय फ़ाइल (पूर्ण), md: (MotherDuck), या s3:// URL |
--motherduck-token | motherduck_token env var | MotherDuck एक्सेस टोकन |
--read-write | False | राइट एक्सेस सक्षम करें |
--motherduck-saas-mode | False | MotherDuck SaaS मोड (स्थानीय एक्सेस प्रतिबंधित करता है) |
--allow-switch-databases | False | switch_database_connection उपकरण सक्षम करें |
--max-rows | 1024 | लौटाई गई अधिकतम पंक्तियाँ |
--max-chars | 50000 | लौटाए गए अधिकतम वर्ण |
--query-timeout | -1 | क्वेरी टाइमआउट सेकंड में (-1 = अक्षम) |
--init-sql | None | स्टार्टअप पर निष्पादित करने के लिए SQL |
--motherduck-connection-parameters | session_hint=mcp&dbinstance_inactivity_ttl=0s | अतिरिक्त MotherDuck कनेक्शन स्ट्रिंग पैरामीटर (key=value जोड़े & द्वारा अलग किए गए) |
--ephemeral-connections | True | रीड-ओनली स्थानीय फ़ाइलों के लिए अस्थायी कनेक्शन का उपयोग करें |
--transport | stdio | ट्रांसपोर्ट प्रकार: stdio या http |
--stateless-http | False | केवल प्रोटोकॉल संगतता के लिए (जैसे AWS Bedrock AgentCore Runtime के साथ)। सर्वर अभी भी साझा DatabaseClient के माध्यम से वैश्विक स्थिति बनाए रखता है। |
--port | 8000 | HTTP ट्रांसपोर्ट के लिए पोर्ट |
--host | 127.0.0.1 | HTTP ट्रांसपोर्ट के लिए होस्ट |
पर्यावरण चर
| चर | विवरण |
|---|---|
motherduck_token या MOTHERDUCK_TOKEN | MotherDuck एक्सेस टोकन (--motherduck-token का विकल्प) |
HOME | DuckDB द्वारा एक्सटेंशन और कॉन्फ़िग के लिए उपयोग किया जाता है। सेट न होने पर --home-dir के साथ ओवरराइड करें। |
AWS_ACCESS_KEY_ID | S3 डेटाबेस कनेक्शन के लिए AWS एक्सेस कुंजी |
AWS_SECRET_ACCESS_KEY | S3 डेटाबेस कनेक्शन के लिए AWS गुप्त कुंजी |
AWS_SESSION_TOKEN | अस्थायी क्रेडेंशियल के लिए AWS सत्र टोकन (IAM भूमिकाएं, SSO, EC2 इंस्टेंस प्रोफाइल) |
AWS_DEFAULT_REGION | S3 कनेक्शन के लिए AWS क्षेत्र |
AWS_ENDPOINT | S3 कनेक्शन के लिए AWS एंडपॉइंट |
समस्या निवारण
spawn uvx ENOENT:uvxका पूर्ण पथ निर्दिष्ट करें (इसे खोजने के लिएwhich uvxचलाएं)- फ़ाइल लॉक: सुनिश्चित करें कि
--ephemeral-connectionsचालू है (डिफ़ॉल्ट: true) और आप रीड-राइट मोड में कनेक्ट नहीं हैं
संसाधन
- MotherDuck MCP दस्तावेज़
- Close the Loop: Faster Data Pipelines with MCP, DuckDB & AI (ब्लॉग)
- Faster Data Pipelines with MCP and DuckDB (YouTube)
विकास
स्रोत से चलाने के लिए:
{
"mcpServers": {
"Local DuckDB (Dev)": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-server-motherduck", "run", "mcp-server-motherduck", "--db-path", "md:"],
"env": {
"motherduck_token": "<YOUR_MOTHERDUCK_TOKEN>"
}
}
}
}
रिलीज़ प्रक्रिया
Release New VersionGitHub Action चलाएंMAJOR.MINOR.PATCHप्रारूप में संस्करण दर्ज करें- वर्कफ़्लो संस्करण बढ़ाता है, PyPI/MCP रजिस्ट्री पर प्रकाशित करता है, और MCPB पैकेज के साथ GitHub रिलीज़ बनाता है
लाइसेंस
MIT लाइसेंस - LICENSE फ़ाइल देखें।
mcp-name: io.github.motherduckdb/mcp-server-motherduck