StarRocks
आधिकारिकStarRocks के साथ इंटरैक्ट करें
Star Rocks MCP के साथ आप क्या कर सकते हैं?
- केवल-पढ़ने योग्य SQL क्वेरी चलाएँ —
read_queryके माध्यम सेSELECT,SHOW, याDESCRIBEस्टेटमेंट निष्पादित करें और वैकल्पिक रूप से बड़े परिणामों को फ़ाइल में सहेजें। - DDL/DML कमांड निष्पादित करें —
write_queryके साथCREATE,INSERT,UPDATE, याDELETEऑपरेशन चलाएँ और पंक्ति-प्रभावित पुष्टिकरण प्राप्त करें। - डेटाबेस स्कीमा एक्सप्लोर करें —
starrocks://संसाधनों के माध्यम से डेटाबेस, टेबल सूचीबद्ध करें औरSHOW CREATE TABLEपरिभाषाएँ प्राप्त करें। - टेबल और डेटाबेस का अवलोकन प्राप्त करें — इन-मेमोरी कैशिंग के साथ कॉलम परिभाषाएँ, पंक्ति गणना और नमूना पंक्तियाँ प्राप्त करने के लिए
table_overviewयाdb_overviewका उपयोग करें। - क्वेरी परिणामों को चार्ट के रूप में विज़ुअलाइज़ करें —
query_and_plotly_chartको एक SQL क्वेरी और Plotly एक्सप्रेशन प्रदान करें और चार्ट इमेज प्राप्त करें। - क्लस्टर स्वास्थ्य और हॉटस्पॉट का निरीक्षण करें —
top_hot_tablesके साथ बार-बार एक्सेस की जाने वाली टेबल याtop_bad_tablesके साथ कम-स्वास्थ्य वाली टेबल पहचानें, औरproc://संसाधनों के माध्यम से आंतरिक सिस्टम मीट्रिक तक पहुँचें।
दस्तावेज़
StarRocks आधिकारिक MCP सर्वर
StarRocks MCP सर्वर AI सहायकों और StarRocks डेटाबेस के बीच एक सेतु का काम करता है। यह जटिल क्लाइंट-साइड सेटअप की आवश्यकता के बिना सीधे SQL निष्पादन, डेटाबेस अन्वेषण, चार्ट के माध्यम से डेटा विज़ुअलाइज़ेशन और विस्तृत स्कीमा/डेटा अवलोकन प्राप्त करने की अनुमति देता है।
विशेषताएँ
- सीधा SQL निष्पादन:
SELECTक्वेरीज़ (read_query) और DDL/DML कमांड (write_query) चलाएँ। - डेटाबेस अन्वेषण: डेटाबेस और तालिकाओं की सूची बनाएँ, तालिका स्कीमा (
starrocks://संसाधन) प्राप्त करें। - सिस्टम जानकारी:
proc://संसाधन पथ के माध्यम से आंतरिक StarRocks मेट्रिक्स और स्थितियों तक पहुँचें। - विस्तृत अवलोकन: कॉलम परिभाषाएँ, पंक्ति गणना और नमूना डेटा सहित तालिकाओं (
table_overview) या संपूर्ण डेटाबेस (db_overview) का व्यापक सारांश प्राप्त करें। - डेटा विज़ुअलाइज़ेशन: एक क्वेरी निष्पादित करें और परिणामों से सीधे एक Plotly चार्ट उत्पन्न करें (
query_and_plotly_chart)। - बुद्धिमान कैशिंग: बार-बार अनुरोधों को गति देने के लिए तालिका और डेटाबेस अवलोकन मेमोरी में कैश किए जाते हैं। आवश्यकता पड़ने पर कैश को बायपास किया जा सकता है।
- लचीला कॉन्फ़िगरेशन: पर्यावरण चर के माध्यम से कनेक्शन विवरण और व्यवहार सेट करें।
पूर्वापेक्षाएँ
- Python 3.11 या नया।
- एक पहुँच योग्य StarRocks क्लस्टर (FE सेवा)। डिफ़ॉल्ट रूप से सर्वर MySQL प्रोटोकॉल पर
localhost:9030से जुड़ता है। uv— Astral का एक तेज़ Python पैकेज और प्रोजेक्ट मैनेजर (pip+virtualenvका एक आधुनिक प्रतिस्थापन)। यह प्रोजेक्ट निर्भरताओं को हल करने, वर्चुअल वातावरण बनाने और सर्वर लॉन्च करने के लिएuvका उपयोग करता है। इस README में दिए गएuv runकमांड पहले उपयोग पर स्वचालित रूप से एक पृथक वातावरण बनाते हैं और आवश्यक निर्भरताएँ स्थापित करते हैं, इसलिए किसी मैन्युअलpip installचरण की आवश्यकता नहीं है।
uv स्थापित करना
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Or via Homebrew / pipx / pip
brew install uv
# pipx install uv
# pip install uv
अन्य विकल्पों के लिए आधिकारिक uv स्थापना गाइड देखें। स्थापित करने के बाद, सत्यापित करें कि यह आपके PATH पर है:
uv --version
स्थापना
आमतौर पर आपको पैकेज को मैन्युअल रूप से स्थापित करने की आवश्यकता नहीं होती है — MCP होस्ट इसे uv के माध्यम से आपके लिए लॉन्च करता है (नीचे कॉन्फ़िगरेशन देखें)। uv मांग पर पैकेज और इसकी निर्भरताएँ प्राप्त करता है।
परीक्षण या विकास के लिए इसे सीधे चलाने हेतु:
# Run the published package in a throwaway environment
uv run --with mcp-server-starrocks mcp-server-starrocks --help
# Or, from a local checkout of this repository
git clone https://github.com/starrocks/mcp-server-starrocks.git
cd mcp-server-starrocks
uv sync # create the virtual environment and install dependencies
uv run mcp-server-starrocks --help
कॉन्फ़िगरेशन
MCP सर्वर आमतौर पर MCP होस्ट के माध्यम से चलाया जाता है। कॉन्फ़िगरेशन होस्ट को पास किया जाता है, यह निर्दिष्ट करते हुए कि StarRocks MCP सर्वर प्रक्रिया कैसे लॉन्च की जाए।
स्ट्रीमेबल HTTP का उपयोग करना (अनुशंसित):
सर्वर को स्ट्रीमेबल HTTP मोड में प्रारंभ करने के लिए:
पहले परीक्षण करें कि StarRocks से कनेक्शन ठीक है (9030 StarRocks MySQL प्रोटोकॉल पोर्ट है, HTTP सर्वर पोर्ट नहीं):
$ STARROCKS_URL=root:@localhost:9030 uv run mcp-server-starrocks --test
सर्वर प्रारंभ करें:
uv run mcp-server-starrocks --mode streamable-http --port 8000
फिर MCP को इस तरह कॉन्फ़िगर करें:
{
"mcpServers": {
"mcp-server-starrocks": {
"url": "http://localhost:8000/mcp"
}
}
}
स्थापित पैकेज के साथ uv का उपयोग करना (व्यक्तिगत पर्यावरण चर):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": ["run", "--with", "mcp-server-starrocks", "mcp-server-starrocks"],
"env": {
"STARROCKS_HOST": "default localhost",
"STARROCKS_PORT": "default 9030",
"STARROCKS_USER": "default root",
"STARROCKS_PASSWORD": "default empty",
"STARROCKS_DB": "default empty"
}
}
}
}
स्थापित पैकेज के साथ uv का उपयोग करना (कनेक्शन URL):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": ["run", "--with", "mcp-server-starrocks", "mcp-server-starrocks"],
"env": {
"STARROCKS_URL": "root:password@localhost:9030/my_database"
}
}
}
}
स्थानीय निर्देशिका के साथ uv का उपयोग करना (विकास के लिए):
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": [
"--directory",
"path/to/mcp-server-starrocks", // <-- Update this path
"run",
"mcp-server-starrocks"
],
"env": {
"STARROCKS_HOST": "default localhost",
"STARROCKS_PORT": "default 9030",
"STARROCKS_USER": "default root",
"STARROCKS_PASSWORD": "default empty",
"STARROCKS_DB": "default empty"
}
}
}
}
स्थानीय निर्देशिका और कनेक्शन URL के साथ uv का उपयोग करना:
{
"mcpServers": {
"mcp-server-starrocks": {
"command": "uv",
"args": [
"--directory",
"path/to/mcp-server-starrocks", // <-- Update this path
"run",
"mcp-server-starrocks"
],
"env": {
"STARROCKS_URL": "root:password@localhost:9030/my_database"
}
}
}
}
कमांड-लाइन तर्क:
सर्वर निम्नलिखित कमांड-लाइन तर्कों का समर्थन करता है:
uv run mcp-server-starrocks --help
--mode {stdio,sse,http,streamable-http}: ट्रांसपोर्ट मोड (डिफ़ॉल्ट: stdio या MCP_TRANSPORT_MODE env var)--host HOST: HTTP मोड के लिए सर्वर होस्ट (डिफ़ॉल्ट: localhost)--port PORT: HTTP मोड के लिए सर्वर पोर्ट--test: कार्यक्षमता सत्यापित करने के लिए परीक्षण मोड में चलाएँ
उदाहरण:
# Start in streamable HTTP mode on custom host/port
uv run mcp-server-starrocks --mode streamable-http --host 0.0.0.0 --port 8080
# Start in stdio mode (default)
uv run mcp-server-starrocks --mode stdio
# Run test mode
uv run mcp-server-starrocks --test
urlफ़ील्ड को आपके MCP सर्वर के स्ट्रीमेबल HTTP एंडपॉइंट की ओर इंगित करना चाहिए (आवश्यकतानुसार होस्ट/पोर्ट समायोजित करें)।- इस कॉन्फ़िगरेशन के साथ, क्लाइंट मानक JSON का उपयोग करके HTTP POST अनुरोधों के माध्यम से सर्वर के साथ इंटरैक्ट कर सकते हैं। किसी विशेष SDK की आवश्यकता नहीं है।
- सभी टूल API ऊपर वर्णित अनुसार मानक JSON स्वीकार करते हैं और लौटाते हैं।
नोट:
sse(सर्वर-सेंट इवेंट्स) मोड पदावनत है और अब इसका रखरखाव नहीं किया जाता है। कृपया सभी नए एकीकरणों के लिए स्ट्रीमेबल HTTP मोड का उपयोग करें।
पर्यावरण चर:
कनेक्शन कॉन्फ़िगरेशन
आप व्यक्तिगत पर्यावरण चर या एकल कनेक्शन URL का उपयोग करके StarRocks कनेक्शन कॉन्फ़िगर कर सकते हैं:
विकल्प 1: व्यक्तिगत पर्यावरण चर
STARROCKS_HOST: (वैकल्पिक) StarRocks FE सेवा का होस्टनाम या IP पता। डिफ़ॉल्टlocalhostहै।STARROCKS_PORT: (वैकल्पिक) StarRocks FE सेवा का MySQL प्रोटोकॉल पोर्ट। डिफ़ॉल्ट9030है।STARROCKS_USER: (वैकल्पिक) StarRocks उपयोगकर्ता नाम। डिफ़ॉल्टrootहै।STARROCKS_PASSWORD: (वैकल्पिक) StarRocks पासवर्ड। डिफ़ॉल्ट खाली स्ट्रिंग है।STARROCKS_PASSWORD_KEYCHAIN_SERVICE: (वैकल्पिक, केवल macOS) कीचेन से पासवर्ड पढ़ते समय उपयोग करने के लिए सामान्य पासवर्ड सेवा नाम। इसका उपयोग केवल तब किया जाता है जबSTARROCKS_PASSWORDयाSTARROCKS_URLके माध्यम से कोई स्पष्ट पासवर्ड प्रदान नहीं किया जाता है।STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT: (वैकल्पिक, केवल macOS) कीचेन से पासवर्ड पढ़ते समय उपयोग करने के लिए सामान्य पासवर्ड खाता नाम। हल किए गए StarRocks उपयोगकर्ता पर डिफ़ॉल्ट होता है।STARROCKS_DB: (वैकल्पिक) यदि टूल तर्कों या संसाधन URI में निर्दिष्ट नहीं है तो उपयोग करने के लिए डिफ़ॉल्ट डेटाबेस। यदि सेट किया गया है, तो कनेक्शन इस डेटाबेस कोUSEकरने का प्रयास करेगा।table_overviewऔरdb_overviewजैसे उपकरण इसका उपयोग करेंगे यदि उनके तर्कों में डेटाबेस भाग छोड़ा गया है। डिफ़ॉल्ट खाली है (कोई डिफ़ॉल्ट डेटाबेस नहीं)।
विकल्प 2: कनेक्शन URL (व्यक्तिगत चर पर प्राथमिकता लेता है)
-
STARROCKS_URL: (वैकल्पिक) एक कनेक्शन URL स्ट्रिंग जिसमें एकल चर में सभी कनेक्शन पैरामीटर शामिल हैं। प्रारूप:[<schema>://]user:password@host:port/database। स्कीमा भाग वैकल्पिक है। जब यह चर सेट किया जाता है, तो यह व्यक्तिगतSTARROCKS_HOST,STARROCKS_PORT,STARROCKS_USER,STARROCKS_PASSWORD, औरSTARROCKS_DBचरों पर प्राथमिकता लेता है।उदाहरण:
root:mypass@localhost:9030/test_dbmysql://admin:secret@db.example.com:9030/productionstarrocks://user:pass@192.168.1.100:9030/analytics
पासवर्ड प्राथमिकता:
STARROCKS_URLमें एम्बेडेड पासवर्ड जीतता है, जिसमेंuser:@host:9030/dbजैसा स्पष्ट खाली पासवर्ड भी शामिल है।- यदि
STARROCKS_URLपासवर्ड छोड़ता है, तो सेट होने परSTARROCKS_PASSWORDका उपयोग किया जाता है। - यदि न तो स्पष्ट पासवर्ड स्रोत सेट है और
STARROCKS_PASSWORD_KEYCHAIN_SERVICEकॉन्फ़िगर किया गया है, तो पासवर्ड macOS कीचेन से पढ़ा जाता है।
macOS कीचेन उदाहरण
पासवर्ड संग्रहीत करें:
security add-generic-password -U -a root -s mcp-server-starrocks -w 'secret'
संग्रहीत पासवर्ड सत्यापित करें:
security find-generic-password -a root -s mcp-server-starrocks -w
इस सर्वर के साथ इसका उपयोग करें:
export STARROCKS_URL=root@localhost:9030/test_db
export STARROCKS_PASSWORD_KEYCHAIN_SERVICE=mcp-server-starrocks
export STARROCKS_PASSWORD_KEYCHAIN_ACCOUNT=root
अतिरिक्त कॉन्फ़िगरेशन
-
STARROCKS_FE_ARROW_FLIGHT_SQL_PORT: (वैकल्पिक) StarRocks FE सेवा का Arrow Flight SQL पोर्ट। सेट होने पर, सर्वर मानक MySQL प्रोटोकॉल के बजाय उच्च-प्रदर्शन Arrow Flight SQL प्रोटोकॉल (ADBC ड्राइवरों के माध्यम से) का उपयोग करके कनेक्ट होता है। डिफ़ॉल्ट MySQL कनेक्शन का उपयोग करने के लिए अनसेट छोड़ दें। होस्ट, उपयोगकर्ता और पासवर्ड ऊपर वर्णित समान कनेक्शन सेटिंग्स से लिए गए हैं। -
STARROCKS_OVERVIEW_LIMIT: (वैकल्पिक) कैश को पॉप्युलेट करने के लिए डेटा प्राप्त करते समय अवलोकन उपकरणों (table_overview,db_overview) द्वारा उत्पन्न कुल टेक्स्ट के लिए एक अनुमानित वर्ण सीमा। यह बहुत बड़ी स्कीमा या कई तालिकाओं के लिए अत्यधिक मेमोरी उपयोग को रोकने में मदद करता है। डिफ़ॉल्ट20000है। -
STARROCKS_MCP_OUTPUT_DIR: (वैकल्पिक)read_queryद्वारा उपयोग की जाने वाली निर्देशिका जब इसकाoutput_fileतर्क एक सापेक्ष पथ है। डिफ़ॉल्ट~/.mcp-server-starrocks/output/है। निर्देशिका मांग पर बनाई जाती है।output_fileको पास किए गए निरपेक्ष पथ (~-उपसर्ग वाले पथों सहित) इस सेटिंग को बायपास करते हैं। नोट: फ़ाइलें उस मशीन पर लिखी जाती हैं जहाँ MCP सर्वर चलता है। Claude Code / Claude Desktop के लिए सर्वर स्थानीय रूप से चलता है, इसलिए फ़ाइलें आपके लैपटॉप पर आती हैं। दूरस्थ/http परिनियोजन के लिए फ़ाइल सर्वर पर आती है, क्लाइंट पर नहीं। -
STARROCKS_CHART_OUTPUT_DIR: (वैकल्पिक) निर्देशिका जहाँquery_and_plotly_chartइंटरैक्टिव HTML चार्ट लिखता है (जबformat="html")। सिस्टम अस्थायी निर्देशिका पर डिफ़ॉल्ट होता है। निर्देशिका मांग पर बनाई जाती है। नोट: अन्य आउटपुट फ़ाइलों की तरह, चार्ट उस मशीन पर लिखे जाते हैं जहाँ MCP सर्वर चलता है। -
STARROCKS_CHART_INCLUDE_PLOTLYJS: (वैकल्पिक) नियंत्रित करता है किplotly.jsको HTML चार्ट में कैसे बंडल किया जाता है।cdn(डिफ़ॉल्ट) फ़ाइलों को छोटा रखता है लेकिन देखते समय नेटवर्क एक्सेस की आवश्यकता होती है;inline/trueऑफ़लाइन उपयोग के लिए पूर्ण लाइब्रेरी एम्बेड करता है;directoryऔरfalseभी स्वीकार किए जाते हैं (Plotly केwrite_htmlको पास किए जाते हैं)। -
STARROCKS_CHART_DEFAULT_FORMAT: (वैकल्पिक)query_and_plotly_chartके लिए डिफ़ॉल्ट आउटपुट स्वरूप जबformatतर्क छोड़ा जाता है।json,png,jpeg(डिफ़ॉल्ट), याhtmlमें से एक। प्रत्येक कॉल परformatपास किए बिना हमेशाSTARROCKS_CHART_OUTPUT_DIRपर एक इंटरैक्टिव चार्ट फ़ाइल (इनलाइन PNG पूर्वावलोकन के साथ) लिखने के लिएhtmlपर सेट करें। अमान्य मान चेतावनी के साथjpegपर वापस आ जाते हैं। -
STARROCKS_MYSQL_AUTH_PLUGIN: (वैकल्पिक) StarRocks FE सेवा से कनेक्ट करते समय उपयोग करने के लिए प्रमाणीकरण प्लगइन निर्दिष्ट करता है। उदाहरण के लिए, यदि आपके StarRocks परिनियोजन को स्पष्ट पाठ पासवर्ड प्रमाणीकरण की आवश्यकता है (जैसे कि कुछ LDAP या बाहरी प्रमाणीकरण सेटअप का उपयोग करते समय) तोmysql_clear_passwordपर सेट करें। इसे केवल तभी सेट करें जब आपके वातावरण को विशेष रूप से इसकी आवश्यकता हो; अन्यथा, डिफ़ॉल्ट auth_plugin का उपयोग किया जाता है।
TLS / SSL कॉन्फ़िगरेशन
ये चर कनेक्शन के लिए TLS को नियंत्रित करते हैं। जब इनमें से कोई भी सेट नहीं होता है, तो अंतर्निहित mysql.connector अपना डिफ़ॉल्ट व्यवहार रखता है (ssl-mode=PREFERRED): यदि सर्वर TLS का समर्थन करता है तो कनेक्शन एन्क्रिप्टेड होता है, लेकिन सर्वर प्रमाणपत्र सत्यापित नहीं होता है। वास्तविक सुरक्षा के लिए, CA प्रमाणपत्र प्रदान करें और सत्यापन सक्षम करें।
STARROCKS_SSL_DISABLED: (वैकल्पिक) TLS को बलपूर्वक अक्षम करने के लिएtrueपर सेट करें। अन्य सभी SSL सेटिंग्स को ओवरराइड करता है। डिफ़ॉल्टfalseहै।STARROCKS_SSL_CA: (वैकल्पिक) StarRocks सर्वर प्रमाणपत्र सत्यापित करने के लिए उपयोग किए जाने वाले CA प्रमाणपत्र (PEM) का पथ।STARROCKS_SSL_CERT: (वैकल्पिक) पारस्परिक TLS (mTLS) के लिए क्लाइंट प्रमाणपत्र (PEM) का पथ।STARROCKS_SSL_KEY: (वैकल्पिक) पारस्परिक TLS (mTLS) के लिए क्लाइंट निजी कुंजी (PEM) का पथ।STARROCKS_SSL_VERIFY_CERT: (वैकल्पिक) CA के विरुद्ध सर्वर प्रमाणपत्र सत्यापित करने के लिएtrueपर सेट करें। डिफ़ॉल्टfalseहै।STARROCKS_SSL_VERIFY_IDENTITY: (वैकल्पिक) यह भी सत्यापित करने के लिएtrueपर सेट करें कि सर्वर होस्टनाम प्रमाणपत्र से मेल खाता है। डिफ़ॉल्टfalseहै।STARROCKS_TLS_VERSIONS: (वैकल्पिक) अनुमत TLS संस्करणों की अल्पविराम-पृथक सूची, जैसेTLSv1.2,TLSv1.3।
उदाहरण (CA प्रमाणपत्र के विरुद्ध सर्वर सत्यापित करें):
"env": {
"STARROCKS_HOST": "your-fe-host",
"STARROCKS_PORT": "9030",
"STARROCKS_USER": "root",
"STARROCKS_PASSWORD": "your-password",
"STARROCKS_SSL_CA": "/path/to/ca.pem",
"STARROCKS_SSL_VERIFY_CERT": "true",
"STARROCKS_SSL_VERIFY_IDENTITY": "true"
}
उच्च-प्रदर्शन Arrow Flight SQL कनेक्शन के लिए (STARROCKS_FE_ARROW_FLIGHT_SQL_PORT के माध्यम से सक्षम), TLS अलग से नियंत्रित किया जाता है:
STARROCKS_FE_ARROW_FLIGHT_SQL_USE_TLS: (वैकल्पिक) सादे टेक्स्टgrpc://के बजायgrpc+tls://का उपयोग करने के लिएtrueपर सेट करें। सक्षम होने पर,STARROCKS_SSL_CAका उपयोग TLS रूट प्रमाणपत्र के रूप में किया जाता है औरSTARROCKS_SSL_VERIFY_CERT=false(डिफ़ॉल्ट) सर्वर प्रमाणपत्र सत्यापन को छोड़ देता है।
सुरक्षा नोट: सादे टेक्स्ट पासवर्ड को सीधे
mcp.jsonमें संग्रहीत करने से बचें। किसी सीक्रेट मैनेजर या पर्यावरण सेSTARROCKS_PASSWORD(और प्रमाणपत्र पथ) इंजेक्ट करना पसंद करें, और कभी भी क्रेडेंशियल्स को संस्करण नियंत्रण में प्रतिबद्ध न करें।
MCP_TRANSPORT_MODE: (वैकल्पिक) संचार मोड जो निर्दिष्ट करता है कि MCP सर्वर अपनी सेवाएँ कैसे प्रस्तुत करता है। उपलब्ध विकल्प:stdio(डिफ़ॉल्ट): मानक इनपुट/आउटपुट के माध्यम से संचार करता है, MCP होस्ट होस्टिंग के लिए उपयुक्त।streamable-http(स्ट्रीमेबल HTTP): एक स्ट्रीमेबल HTTP सर्वर के रूप में प्रारंभ होता है, RESTful API कॉल का समर्थन करता है।sse: (पदावनत, अनुशंसित नहीं) सर्वर-सेंट इवेंट्स (SSE) स्ट्रीमिंग मोड में प्रारंभ होता है, स्ट्रीमिंग प्रतिक्रियाओं की आवश्यकता वाले परिदृश्यों के लिए उपयुक्त। नोट: SSE मोड अब रखरखाव नहीं किया जाता है, समान रूप से स्ट्रीमेबल HTTP मोड का उपयोग करने की अनुशंसा की जाती है।
घटक
उपकरण
-
read_query -
विवरण: एक SELECT क्वेरी या अन्य कमांड निष्पादित करें जो ResultSet लौटाते हैं (जैसे,
SHOW,DESCRIBE)। वैकल्पिक रूप से पूर्ण परिणाम को इनलाइन लौटाने के बजाय एक स्थानीय फ़ाइल में लिखें — यह मॉडल संदर्भ में फ़िट होने के लिए बहुत बड़े परिणामों के लिए उपयोगी है। -
इनपुट:
{ "query": "SQL query string", "db": "database name (optional, uses default database if not specified)", "output_file": "optional path; if set, writes the full result to disk and returns only a summary + small preview. Relative paths resolve against STARROCKS_MCP_OUTPUT_DIR (default: ~/.mcp-server-starrocks/output/); absolute paths and ~ are used as-is", "output_format": "optional: csv | tsv | json | jsonl. If omitted, inferred from output_file extension (.csv/.tsv/.json/.jsonl/.ndjson); defaults to csv" } -
आउटपुट:
output_fileके बिना, हेडर पंक्ति और पंक्ति गणना सारांश के साथ CSV-जैसे प्रारूप में क्वेरी परिणामों वाली टेक्स्ट सामग्री।output_fileके साथ, हल किए गए निरपेक्ष पथ, बाइट गणना और पंक्ति गणना, साथ ही एक छोटा पूर्वावलोकन सहित एक संक्षिप्त सारांश। विफलता पर एक त्रुटि संदेश लौटाता है। -
write_query- विवरण: एक DDL (
CREATE,ALTER,DROP), DML (INSERT,UPDATE,DELETE), या अन्य StarRocks कमांड निष्पादित करें जो ResultSet नहीं लौटाता है। - इनपुट:
{ "query": "SQL command string", "db": "database name (optional, uses default database if not specified)" } - आउटपुट: सफलता की पुष्टि करने वाली टेक्स्ट सामग्री (जैसे, "Query OK, X rows affected") या त्रुटि की रिपोर्ट करना। सफलता पर परिवर्तन स्वचालित रूप से कमिट किए जाते हैं।
- विवरण: एक DDL (
-
analyze_query- विवरण: क्वेरी प्रोफ़ाइल या explain analyze का उपयोग करके किसी क्वेरी का विश्लेषण करें और विश्लेषण परिणाम प्राप्त करें।
- इनपुट:
{ "uuid": "Query ID, a string composed of 32 hexadecimal digits formatted as 8-4-4-4-12", "sql": "Query SQL to analyze", "db": "database name (optional, uses default database if not specified)" } - आउटपुट: क्वेरी विश्लेषण परिणामों वाली टेक्स्ट सामग्री। यदि uuid प्रदान किया गया है तो
ANALYZE PROFILE FROMका उपयोग करता है, अन्यथा यदि sql प्रदान किया गया है तोEXPLAIN ANALYZEका उपयोग करता है।
-
top_hot_tables- विवरण: ऑडिट-लॉग विज़िट काउंट द्वारा शीर्ष हॉट टेबल प्राप्त करें। यह
information_schema.tablesकोstarrocks_audit_db__.starrocks_audit_tbl__के साथ जोड़ता है,rootऔरSHOWस्टेटमेंट को बाहर करता है, ऑडिट SQL टेक्स्ट को टेबल नामों से मिलान करता है, औरvisit_countअवरोही द्वारा ऑर्डर करता है। - इनपुट:
{ "db": "optional database/schema filter", "table": "optional table name substring filter", "min_start_time_ms": 1704067200000, "max_start_time_ms": 1704153600000, "top_n": 20 } - आउटपुट:
db,table, औरvisit_countके साथ रैंक की गई पंक्तियों वाली टेक्स्ट सारांश और संरचित सामग्री।
- विवरण: ऑडिट-लॉग विज़िट काउंट द्वारा शीर्ष हॉट टेबल प्राप्त करें। यह
-
top_bad_tables- विवरण: Star Management Studio के
top-bad-tablesतर्क का अनुसरण करते हुए, टेबल हेल्थ स्कोर द्वारा शीर्ष खराब टेबल प्राप्त करें। यहinformation_schema.be_tabletsऔरinformation_schema.partitions_metaपर आधारित टेबल-हेल्थ गणना का पुन: उपयोग करता है, सिस्टम स्कीमा को फ़िल्टर करता है,table_health_scoreआरोही द्वारा ऑर्डर करता है, और सबसे कम स्कोरिंग टेबल लौटाता है। - इनपुट:
{ "db": "optional database/schema filter", "table": "optional table name substring filter", "top_n": 20 } - आउटपुट:
db,table,tablet_num,replica_score,tablet_score, औरtable_health_scoreजैसे टेबल हेल्थ फ़ील्ड के साथ रैंक की गई पंक्तियों वाली टेक्स्ट सारांश और संरचित सामग्री।
- विवरण: Star Management Studio के
-
query_and_plotly_chart- विवरण: एक SQL क्वेरी निष्पादित करता है, परिणामों को Pandas DataFrame में लोड करता है, और प्रदान की गई Python अभिव्यक्ति का उपयोग करके एक Plotly चार्ट उत्पन्न करता है। समर्थन करने वाले UI में विज़ुअलाइज़ेशन के लिए डिज़ाइन किया गया।
- इनपुट:
{ "query": "SQL query to fetch data", "plotly_expr": "Python expression string using 'px' (Plotly Express) and 'df' (DataFrame). Example: 'px.scatter(df, x=\"col1\", y=\"col2\")'", "db": "database name (optional, uses default database if not specified)" } - आउटपुट: एक सूची जिसमें शामिल है:
TextContent: DataFrame का एक टेक्स्ट प्रतिनिधित्व और एक नोट कि चार्ट UI प्रदर्शन के लिए है।ImageContent: base64 PNG छवि (image/png) के रूप में एन्कोड किया गया उत्पन्न Plotly चार्ट। विफलता पर या यदि क्वेरी कोई डेटा नहीं देती है तो टेक्स्ट त्रुटि संदेश लौटाता है।
-
table_overview- विवरण: किसी विशिष्ट टेबल का अवलोकन प्राप्त करें: कॉलम (
DESCRIBEसे), कुल पंक्ति गणना, और नमूना पंक्तियाँ (LIMIT 3)। जब तकrefreshसत्य न हो, इन-मेमोरी कैश का उपयोग करता है। - इनपुट:
{ "table": "Table name, optionally prefixed with database name (e.g., 'db_name.table_name' or 'table_name'). If database is omitted, uses STARROCKS_DB environment variable if set.", "refresh": false // Optional, boolean. Set to true to bypass the cache. Defaults to false. } - आउटपुट: स्वरूपित अवलोकन (कॉलम, पंक्ति गणना, नमूना डेटा) या एक त्रुटि संदेश वाली टेक्स्ट सामग्री। यदि लागू हो तो कैश्ड परिणामों में पिछली त्रुटियाँ शामिल होती हैं।
- विवरण: किसी विशिष्ट टेबल का अवलोकन प्राप्त करें: कॉलम (
-
db_overview- विवरण: किसी निर्दिष्ट डेटाबेस के भीतर सभी टेबल के लिए एक अवलोकन (कॉलम, पंक्ति गणना, नमूना पंक्तियाँ) प्राप्त करें। जब तक
refreshसत्य न हो, प्रत्येक टेबल के लिए टेबल-स्तरीय कैश का उपयोग करता है। - इनपुट:
{ "db": "database_name", // Optional if default database is set. "refresh": false // Optional, boolean. Set to true to bypass the cache for all tables in the DB. Defaults to false. } - आउटपुट: डेटाबेस में पाई गई सभी टेबल के लिए संयोजित अवलोकनों वाली टेक्स्ट सामग्री, जो हेडर द्वारा अलग की गई है। यदि डेटाबेस तक नहीं पहुँचा जा सकता है या उसमें कोई टेबल नहीं है तो एक त्रुटि संदेश लौटाता है।
- विवरण: किसी निर्दिष्ट डेटाबेस के भीतर सभी टेबल के लिए एक अवलोकन (कॉलम, पंक्ति गणना, नमूना पंक्तियाँ) प्राप्त करें। जब तक
संसाधन
प्रत्यक्ष संसाधन
starrocks:///databases- विवरण: कॉन्फ़िगर किए गए उपयोगकर्ता के लिए सुलभ सभी डेटाबेस को सूचीबद्ध करता है।
- समतुल्य क्वेरी:
SHOW DATABASES - MIME प्रकार:
text/plain
संसाधन टेम्पलेट
-
starrocks:///{db}/{table}/schema- विवरण: किसी विशिष्ट टेबल की स्कीमा परिभाषा प्राप्त करता है।
- समतुल्य क्वेरी:
SHOW CREATE TABLE {db}.{table} - MIME प्रकार:
text/plain
-
starrocks:///{db}/tables- विवरण: किसी विशिष्ट डेटाबेस के भीतर सभी टेबल को सूचीबद्ध करता है।
- समतुल्य क्वेरी:
SHOW TABLES FROM {db} - MIME प्रकार:
text/plain
-
proc:///{+path}- विवरण: Linux
/procके समान, StarRocks आंतरिक सिस्टम जानकारी तक पहुँचता है।pathपैरामीटर वांछित सूचना नोड निर्दिष्ट करता है। - समतुल्य क्वेरी:
SHOW PROC '/{path}' - MIME प्रकार:
text/plain - सामान्य पथ:
/frontends- FE नोड्स के बारे में जानकारी।/backends- BE नोड्स के बारे में जानकारी (गैर-क्लाउड नेटिव परिनियोजन के लिए)।/compute_nodes- CN नोड्स के बारे में जानकारी (क्लाउड नेटिव परिनियोजन के लिए)।/dbs- डेटाबेस के बारे में जानकारी।/dbs/<DB_ID>- ID द्वारा किसी विशिष्ट डेटाबेस के बारे में जानकारी।/dbs/<DB_ID>/<TABLE_ID>- ID द्वारा किसी विशिष्ट टेबल के बारे में जानकारी।/dbs/<DB_ID>/<TABLE_ID>/partitions- किसी टेबल के लिए विभाजन जानकारी।/transactions- डेटाबेस द्वारा समूहीकृत लेन-देन जानकारी।/transactions/<DB_ID>- किसी विशिष्ट डेटाबेस ID के लिए लेन-देन जानकारी।/transactions/<DB_ID>/running- किसी डेटाबेस ID के लिए चल रहे लेन-देन।/transactions/<DB_ID>/finished- किसी डेटाबेस ID के लिए समाप्त लेन-देन।/jobs- अतुल्यकालिक कार्यों (स्कीमा परिवर्तन, रोलअप, आदि) के बारे में जानकारी।/statistic- प्रत्येक डेटाबेस के लिए सांख्यिकी।/tasks- एजेंट कार्यों के बारे में जानकारी।/cluster_balance- लोड संतुलन स्थिति जानकारी।/routine_loads- रूटीन लोड कार्यों के बारे में जानकारी।/colocation_group- कोलोकेशन जॉइन समूहों के बारे में जानकारी।/catalog- कॉन्फ़िगर किए गए कैटलॉग (जैसे, Hive, Iceberg) के बारे में जानकारी।
- विवरण: Linux
प्रॉम्प्ट
इस सर्वर द्वारा कोई परिभाषित नहीं।
कैशिंग व्यवहार
table_overviewऔरdb_overviewउपकरण उत्पन्न अवलोकन टेक्स्ट को संग्रहीत करने के लिए इन-मेमोरी कैश का उपयोग करते हैं।- कैश कुंजी
(database_name, table_name)का एक टपल है। - जब
table_overviewकॉल किया जाता है, तो यह पहले कैश की जाँच करता है। यदि कोई परिणाम मौजूद है औरrefreshपैरामीटरfalse(डिफ़ॉल्ट) है, तो कैश्ड परिणाम तुरंत लौटा दिया जाता है। अन्यथा, यह StarRocks से डेटा प्राप्त करता है, इसे कैश में संग्रहीत करता है, और फिर इसे लौटाता है। - जब
db_overviewकॉल किया जाता है, तो यह डेटाबेस में सभी टेबल को सूचीबद्ध करता है और फिरtable_overviewके समान कैशिंग तर्क का उपयोग करके प्रत्येक टेबल के लिए अवलोकन प्राप्त करने का प्रयास करता है (पहले कैश की जाँच करना, यदि आवश्यक हो तो प्राप्त करना औरrefreshfalseहै या कैश मिस है)। यदिrefreshdb_overviewके लिएtrueहै, तो यह उस डेटाबेस में सभी टेबल के लिए एक रिफ्रेश बाध्य करता है। STARROCKS_OVERVIEW_LIMITएनवायरनमेंट वेरिएबल कैश को पॉप्युलेट करते समय प्रति टेबल उत्पन्न अवलोकन स्ट्रिंग की अधिकतम लंबाई के लिए एक सॉफ्ट टारगेट प्रदान करता है, जो मेमोरी उपयोग को प्रबंधित करने में मदद करता है।- कैश्ड परिणाम, मूल प्राप्ति के दौरान आई किसी भी त्रुटि संदेश सहित, संग्रहीत किए जाते हैं और बाद के कैश हिट पर लौटाए जाते हैं।
डीबग
mcp सर्वर शुरू करने के बाद, आप डीबग करने के लिए इंस्पेक्टर का उपयोग कर सकते हैं:
npx @modelcontextprotocol/inspector
डेमो

