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 और अन्य में इंस्टॉल होता है

दस्तावेज़

MotherDuck / DuckDB Local MCP Server

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 सर्वर जोड़ेंInstall in Cursor
VS CodeCtrl+Shift+P → "Preferences: Open User Settings (JSON)"Install with UV in VS Code
Kiro~/.kiro/settings/mcp.json (ग्लोबल) या .kiro/settings/mcp.json (प्रोजेक्ट)Add to Kiro

कोई भी 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_querySQL क्वेरी निष्पादित करें (DuckDB डायलेक्ट)sql-
list_databasesसभी डेटाबेस सूचीबद्ध करें (MotherDuck या कई संलग्न DB के लिए उपयोगी)--
list_tablesटेबल और व्यू सूचीबद्ध करें-database, schema
list_columnsटेबल/व्यू के कॉलम सूचीबद्ध करेंtabledatabase, schema
switch_database_connection*विभिन्न डेटाबेस पर स्विच करेंpathcreate_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-tokenmotherduck_token env varMotherDuck एक्सेस टोकन
--read-writeFalseराइट एक्सेस सक्षम करें
--motherduck-saas-modeFalseMotherDuck SaaS मोड (स्थानीय एक्सेस प्रतिबंधित करता है)
--allow-switch-databasesFalseswitch_database_connection उपकरण सक्षम करें
--max-rows1024लौटाई गई अधिकतम पंक्तियाँ
--max-chars50000लौटाए गए अधिकतम वर्ण
--query-timeout-1क्वेरी टाइमआउट सेकंड में (-1 = अक्षम)
--init-sqlNoneस्टार्टअप पर निष्पादित करने के लिए SQL
--motherduck-connection-parameterssession_hint=mcp&
dbinstance_inactivity_ttl=0s
अतिरिक्त MotherDuck कनेक्शन स्ट्रिंग पैरामीटर (key=value जोड़े & द्वारा अलग किए गए)
--ephemeral-connectionsTrueरीड-ओनली स्थानीय फ़ाइलों के लिए अस्थायी कनेक्शन का उपयोग करें
--transportstdioट्रांसपोर्ट प्रकार: stdio या http
--stateless-httpFalseकेवल प्रोटोकॉल संगतता के लिए (जैसे AWS Bedrock AgentCore Runtime के साथ)। सर्वर अभी भी साझा DatabaseClient के माध्यम से वैश्विक स्थिति बनाए रखता है।
--port8000HTTP ट्रांसपोर्ट के लिए पोर्ट
--host127.0.0.1HTTP ट्रांसपोर्ट के लिए होस्ट

पर्यावरण चर

चरविवरण
motherduck_token या MOTHERDUCK_TOKENMotherDuck एक्सेस टोकन (--motherduck-token का विकल्प)
HOMEDuckDB द्वारा एक्सटेंशन और कॉन्फ़िग के लिए उपयोग किया जाता है। सेट न होने पर --home-dir के साथ ओवरराइड करें।
AWS_ACCESS_KEY_IDS3 डेटाबेस कनेक्शन के लिए AWS एक्सेस कुंजी
AWS_SECRET_ACCESS_KEYS3 डेटाबेस कनेक्शन के लिए AWS गुप्त कुंजी
AWS_SESSION_TOKENअस्थायी क्रेडेंशियल के लिए AWS सत्र टोकन (IAM भूमिकाएं, SSO, EC2 इंस्टेंस प्रोफाइल)
AWS_DEFAULT_REGIONS3 कनेक्शन के लिए AWS क्षेत्र
AWS_ENDPOINTS3 कनेक्शन के लिए AWS एंडपॉइंट

समस्या निवारण

  • spawn uvx ENOENT: uvx का पूर्ण पथ निर्दिष्ट करें (इसे खोजने के लिए which uvx चलाएं)
  • फ़ाइल लॉक: सुनिश्चित करें कि --ephemeral-connections चालू है (डिफ़ॉल्ट: true) और आप रीड-राइट मोड में कनेक्ट नहीं हैं

संसाधन

विकास

स्रोत से चलाने के लिए:

{
  "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>"
      }
    }
  }
}

रिलीज़ प्रक्रिया

  1. Release New Version GitHub Action चलाएं
  2. MAJOR.MINOR.PATCH प्रारूप में संस्करण दर्ज करें
  3. वर्कफ़्लो संस्करण बढ़ाता है, PyPI/MCP रजिस्ट्री पर प्रकाशित करता है, और MCPB पैकेज के साथ GitHub रिलीज़ बनाता है

लाइसेंस

MIT लाइसेंस - LICENSE फ़ाइल देखें।

mcp-name: io.github.motherduckdb/mcp-server-motherduck