SingleStore
आधिकारिकSingleStore डेटाबेस प्लेटफ़ॉर्म के साथ इंटरैक्ट करें
SingleStore MCP के साथ आप क्या कर सकते हैं?
- अपने उपयोगकर्ता और संगठन का विवरण प्राप्त करें — सहायक से
get_user_infoऔरorganization_infoके साथ अपने खाते की जानकारी प्राप्त करने के लिए कहें। - कार्यक्षेत्र प्रबंधित करें —
workspaces_info,create_starter_workspace,resume_workspace, औरterminate_starter_workspaceका उपयोग करके कार्यक्षेत्रों को सूचीबद्ध करें, बनाएं, पुनः आरंभ करें या समाप्त करें। - कार्यक्षेत्र पर SQL क्वेरी चलाएँ —
run_sqlके माध्यम से क्वेरी और कनेक्शन विवरण प्रदान करके कनेक्टेड कार्यक्षेत्र पर SQL निष्पादित करें। - नोटबुक बनाएं और शेड्यूल करें —
create_notebook_fileके साथ नोटबुक बनाएं,upload_notebook_fileके साथ फ़ाइलें अपलोड करें, औरcreate_job_from_notebookके साथ जॉब शेड्यूल करें। - स्टेज फ़ाइलें प्रबंधित करें —
stage_list_files,stage_upload_file,stage_move, औरstage_deleteका उपयोग करके स्टेज डिप्लॉयमेंट में फ़ाइलों को सूचीबद्ध करें, अपलोड करें, स्थानांतरित करें और हटाएं।
दस्तावेज़
SingleStore MCP सर्वर
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक मानकीकृत प्रोटोकॉल है जिसे बड़े भाषा मॉडलों (LLMs) और बाहरी प्रणालियों के बीच संदर्भ प्रबंधित करने के लिए डिज़ाइन किया गया है। यह रिपॉजिटरी Singlestore के लिए एक इंस्टॉलर और एक MCP सर्वर प्रदान करती है, जो सहज एकीकरण को सक्षम बनाता है।
MCP के साथ, आप प्राकृतिक भाषा का उपयोग करके SingleStore के साथ इंटरैक्ट करने के लिए Claude Desktop, Claude Code, Cursor, या किसी भी संगत MCP क्लाइंट का उपयोग कर सकते हैं, जिससे जटिल संचालन सहजता से करना आसान हो जाता है।
💡 प्रो टिप: सुनिश्चित नहीं हैं कि MCP सर्वर क्या कर सकता है? बस अपनी चैट में /help प्रॉम्प्ट को कॉल करें!
आवश्यकताएँ
- Python >= v3.10.0
- आपके python परिवेश पर uvx स्थापित
- VS Code, Cursor, Windsurf, Claude Desktop, Claude Code, Goose या कोई अन्य MCP क्लाइंट
शुरू करना
शुरू करना
सबसे पहले, अपने क्लाइंट के साथ SingleStore MCP सर्वर स्थापित करें।
मानक कॉन्फ़िगरेशन अधिकांश उपकरणों में काम करता है:
{
"mcpServers": {
"singlestore-mcp-server": {
"command": "uvx",
"args": [
"singlestore-mcp-server",
"start"
]
}
}
}
कोई API कुंजी, टोकन, या परिवेश चर की आवश्यकता नहीं! सर्वर प्रारंभ होने पर ब्राउज़र OAuth के माध्यम से स्वचालित रूप से प्रमाणीकरण संभालता है।
Claude Desktop
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=claude-desktop
मैन्युअल सेटअप: MCP इंस्टॉल गाइड का पालन करें, ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
Claude Code
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=claude-code
यह आपके लिए स्वचालित रूप से Claude CLI कमांड चलाएगा।
मैन्युअल सेटअप:
claude mcp add singlestore-mcp-server uvx singlestore-mcp-server start
Cursor
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=cursor
मैन्युअल सेटअप:
Cursor Settings -> MCP -> Add new MCP Server पर जाएं। अपनी पसंद के अनुसार नाम दें, command प्रकार का उपयोग करें और कमांड uvx singlestore-mcp-server start दें। आप Edit पर क्लिक करके कॉन्फ़िगरेशन सत्यापित भी कर सकते हैं या कमांड लाइन तर्क जोड़ सकते हैं।
VS Code
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=vscode
मैन्युअल सेटअप: MCP इंस्टॉल गाइड का पालन करें, ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें। आप VS Code CLI का उपयोग करके भी इंस्टॉल कर सकते हैं:
code --add-mcp '{"name":"singlestore-mcp-server","command":"uvx","args":["singlestore-mcp-server","start"]}'
इंस्टॉलेशन के बाद, SingleStore MCP सर्वर VS Code में आपके GitHub Copilot एजेंट के साथ उपयोग के लिए उपलब्ध होगा।
Windsurf
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=windsurf
मैन्युअल सेटअप: Windsurf MCP दस्तावेज़ीकरण का पालन करें। ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
Gemini CLI
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=gemini
मैन्युअल सेटअप: MCP इंस्टॉल गाइड का पालन करें, ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
LM Studio
स्वचालित सेटअप:
uvx singlestore-mcp-server init --client=lm-studio
मैन्युअल सेटअप:
दाएँ साइडबार में Program -> Install -> Edit mcp.json पर जाएं। ऊपर दिए गए मानक कॉन्फ़िगरेशन का उपयोग करें।
Goose
केवल मैन्युअल सेटअप:
Advanced settings -> Extensions -> Add custom extension पर जाएं। अपनी पसंद के अनुसार नाम दें, प्रकार STDIO का उपयोग करें, और command को uvx singlestore-mcp-server start पर सेट करें। "Add Extension" पर क्लिक करें।
Qodo Gen
केवल मैन्युअल सेटअप: VSCode या IntelliJ में Qodo Gen चैट पैनल खोलें → Connect more tools → + Add new MCP → ऊपर दिए गए मानक कॉन्फ़िगरेशन को पेस्ट करें।
Save पर क्लिक करें।
Docker का उपयोग करना
नोट: Docker का उपयोग करते समय एक API कुंजी आवश्यक है क्योंकि Docker कंटेनरों में चलने वाले सर्वरों के लिए OAuth प्रवाह समर्थित नहीं है।
{
"mcpServers": {
"singlestore-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--init", "--pull=always",
"-e", "MCP_API_KEY=your_api_key_here",
"singlestore/mcp-server-singlestore"
]
}
}
}
आप स्वयं Docker इमेज बना सकते हैं:
docker build -t singlestore/mcp-server-singlestore .
बेहतर सुरक्षा के लिए, हम SingleStore MCP सर्वर को कॉन्फ़िगर करने के लिए Docker Desktop का उपयोग करने की अनुशंसा करते हैं—Docker के नए MCP कैटलॉग पर विवरण के लिए यह ब्लॉग पोस्ट देखें।
घटक
उपकरण
सर्वर निम्नलिखित उपकरणों को कार्यान्वित करता है:
-
get_user_info: वर्तमान उपयोगकर्ता के बारे में विवरण प्राप्त करें
- कोई तर्क आवश्यक नहीं
- उपयोगकर्ता की जानकारी और विवरण लौटाता है
-
organization_info: उपयोगकर्ता के वर्तमान संगठन के बारे में विवरण प्राप्त करें
- कोई तर्क आवश्यक नहीं
- संगठन का विवरण लौटाता है
-
choose_organization: उपलब्ध संगठनों में से चुनें (केवल तब उपलब्ध जब API कुंजी परिवेश चर सेट न हो)
- कोई तर्क आवश्यक नहीं
- चुनने के लिए उपलब्ध संगठनों की सूची लौटाता है
-
set_organization: सक्रिय संगठन सेट करें (केवल तब उपलब्ध जब API कुंजी परिवेश चर सेट न हो)
- तर्क:
organization_id(स्ट्रिंग) - निर्दिष्ट संगठन को सक्रिय के रूप में सेट करता है
- तर्क:
-
workspace_groups_info: उपयोगकर्ता के लिए सुलभ कार्यक्षेत्र समूहों के बारे में विवरण प्राप्त करें
- कोई तर्क आवश्यक नहीं
- कार्यक्षेत्र समूहों का विवरण लौटाता है
-
workspaces_info: किसी विशिष्ट कार्यक्षेत्र समूह में कार्यक्षेत्रों के बारे में विवरण प्राप्त करें
- तर्क:
workspace_group_id(स्ट्रिंग) - कार्यक्षेत्रों का विवरण लौटाता है
- तर्क:
-
resume_workspace: एक निलंबित कार्यक्षेत्र को पुनः आरंभ करें
- तर्क:
workspace_id(स्ट्रिंग) - निर्दिष्ट कार्यक्षेत्र को पुनः आरंभ करता है
- तर्क:
-
list_starter_workspaces: उपयोगकर्ता के लिए सुलभ सभी स्टार्टर कार्यक्षेत्रों की सूची बनाएं
- कोई तर्क आवश्यक नहीं
- उपलब्ध स्टार्टर कार्यक्षेत्रों का विवरण लौटाता है
-
create_starter_workspace: एक नया स्टार्टर कार्यक्षेत्र बनाएं
- तर्क: कार्यक्षेत्र कॉन्फ़िगरेशन पैरामीटर
- बनाए गए स्टार्टर कार्यक्षेत्र का विवरण लौटाता है
-
terminate_starter_workspace: एक मौजूदा स्टार्टर कार्यक्षेत्र को समाप्त करें
- तर्क:
workspace_id(स्ट्रिंग) - निर्दिष्ट स्टार्टर कार्यक्षेत्र को समाप्त करता है
- तर्क:
-
list_regions: कार्यक्षेत्रों का समर्थन करने वाले सभी क्षेत्रों की सूची प्राप्त करें
- कोई तर्क आवश्यक नहीं
- उपलब्ध क्षेत्रों की सूची लौटाता है
-
list_sharedtier_regions: साझा स्तरीय क्षेत्रों की सूची प्राप्त करें
- कोई तर्क आवश्यक नहीं
- साझा स्तरीय क्षेत्रों की सूची लौटाता है
-
run_sql: कनेक्टेड कार्यक्षेत्र पर SQL संचालन निष्पादित करें
- तर्क:
workspace_id,database,sql_query, और कनेक्शन पैरामीटर - SQL क्वेरी के परिणाम संरचित प्रारूप में लौटाता है
- तर्क:
-
create_notebook_file: SingleStore Spaces में एक नई नोटबुक फ़ाइल बनाएं
- तर्क:
notebook_name,content(वैकल्पिक) - बनाई गई नोटबुक का विवरण लौटाता है
- तर्क:
-
upload_notebook_file: SingleStore Spaces पर एक नोटबुक फ़ाइल अपलोड करें
- तर्क:
file_path,notebook_name - अपलोड की गई नोटबुक का विवरण लौटाता है
- तर्क:
-
create_job_from_notebook: एक नोटबुक से एक शेड्यूल्ड जॉब बनाएं
- तर्क: जॉब कॉन्फ़िगरेशन जिसमें
notebook_path,schedule_mode, आदि शामिल हैं। - बनाए गए जॉब का विवरण लौटाता है
- तर्क: जॉब कॉन्फ़िगरेशन जिसमें
-
get_job: किसी मौजूदा जॉब का विवरण प्राप्त करें
- तर्क:
job_id(स्ट्रिंग) - निर्दिष्ट जॉब का विवरण लौटाता है
- तर्क:
-
delete_job: किसी मौजूदा जॉब को हटाएं
- तर्क:
job_id(स्ट्रिंग) - निर्दिष्ट जॉब को हटाता है
- तर्क:
-
stage_list_files: Stage परिनियोजन की फ़ाइल प्रणाली में फ़ाइलों और फ़ोल्डरों की सूची बनाएं
- तर्क:
deployment_id(स्ट्रिंग),path(स्ट्रिंग, वैकल्पिक) - फ़ाइलों और उप-फ़ोल्डरों सहित फ़ोल्डर सामग्री लौटाता है
- तर्क:
-
stage_get_file: पथ द्वारा Stage से एक फ़ाइल प्राप्त करें
- तर्क:
deployment_id(स्ट्रिंग),path(स्ट्रिंग),return_type(स्ट्रिंग: 'metadata', 'url', या 'content') - फ़ाइल मेटाडेटा, एक डाउनलोड URL, या पाठ सामग्री लौटाता है
- तर्क:
-
stage_create_folder: Stage में एक फ़ोल्डर बनाएं
- तर्क:
deployment_id(स्ट्रिंग),path(स्ट्रिंग) - निर्माण स्थिति लौटाता है
- तर्क:
-
stage_upload_file: पाठ सामग्री के साथ Stage पर एक फ़ाइल अपलोड करें
- तर्क:
deployment_id(स्ट्रिंग),path(स्ट्रिंग),content(स्ट्रिंग),local_path(स्ट्रिंग) - अपलोड स्थिति लौटाता है
- तर्क:
-
stage_move: Stage में किसी फ़ाइल या फ़ोल्डर को स्थानांतरित या नाम बदलें
- तर्क:
deployment_id(स्ट्रिंग),source_path(स्ट्रिंग),destination_path(स्ट्रिंग) - स्थानांतरण स्थिति लौटाता है
- तर्क:
-
stage_delete: Stage से कोई फ़ाइल या फ़ोल्डर हटाएं
- तर्क:
deployment_id(स्ट्रिंग),path(स्ट्रिंग) - विलोपन स्थिति लौटाता है
- तर्क:
नोट: संगठन प्रबंधन उपकरण (choose_organization और set_organization) केवल तब उपलब्ध होते हैं जब API कुंजी परिवेश चर सेट नहीं होता है, जिससे OAuth प्रमाणीकरण के दौरान इंटरैक्टिव संगठन चयन की अनुमति मिलती है।
विकास
पूर्वापेक्षाएँ
- Python >= 3.11
- निर्भरता प्रबंधन के लिए uv
सेटअप
- रिपॉजिटरी क्लोन करें:
git clone https://github.com/singlestore-labs/mcp-server-singlestore.git
cd mcp-server-singlestore
- निर्भरताएँ स्थापित करें:
uv sync --dev
- प्री-कमिट हुक सेट करें (वैकल्पिक लेकिन अनुशंसित):
uv run pre-commit install
विकास कार्यप्रवाह
# Quick quality checks (fast feedback)
./scripts/check.sh
# Run tests independently
./scripts/test.sh
# Comprehensive validation (before PRs)
./scripts/check-all.sh
# Create and publish releases
./scripts/release.sh
परीक्षण चलाना
# Run test suite with coverage
./scripts/test.sh
# Or use pytest directly
uv run pytest
uv run pytest --cov=src --cov-report=html
कोड गुणवत्ता
हम लिंटिंग और फ़ॉर्मेटिंग दोनों के लिए Ruff का उपयोग करते हैं:
# Format code
uv run ruff format src/ tests/
# Lint code
uv run ruff check src/ tests/
# Lint and fix issues automatically
uv run ruff check --fix src/ tests/
रिलीज़ प्रक्रिया
रिलीज़ git टैग और स्वचालित PyPI प्रकाशन के माध्यम से प्रबंधित की जाती हैं:
- रिलीज़ बनाएं:
./scripts/release.sh(इंटरैक्टिव उपकरण) - स्वचालित प्रकाशन: संस्करण टैग को पुश करने पर ट्रिगर होता है
- कोई मैन्युअल PyPI अपलोड नहीं - पूरी तरह से स्वचालित पाइपलाइन
विस्तृत कार्यप्रवाह दस्तावेज़ीकरण के लिए scripts/dev-workflow.md देखें।