MCP Toolbox for Databases Server

आधिकारिक

ओपन सोर्स MCP सर्वर जो डेटाबेस के लिए आसान, तेज़ और सुरक्षित टूल्स में विशेषज्ञता रखता है।

दस्तावेज़

logo

डेटाबेस के लिए MCP टूलबॉक्स

googleapis%2Fmcp-toolbox | Trendshift

Go Report Card लाइसेंस: Apache
2.0 Docs Discord Medium

Python SDK JS/TS SDK Go SDK Java SDK

डेटाबेस के लिए MCP टूलबॉक्स एक ओपन सोर्स मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वर है जो आपके AI एजेंटों, IDE और अनुप्रयोगों को सीधे आपके एंटरप्राइज़ डेटाबेस से जोड़ता है।

architecture

यह दोहरा उद्देश्य पूरा करता है:

  1. उपयोग के लिए तैयार MCP सर्वर (बिल्ड-टाइम): हमारे पूर्व-निर्मित सामान्य उपकरणों का उपयोग करके Gemini CLI, Google Antigravity, Claude Code, Codex, या अन्य MCP क्लाइंट को तुरंत अपने डेटाबेस से कनेक्ट करें। बॉयलरप्लेट लिखे बिना अपने डेटा से बात करें, स्कीमा एक्सप्लोर करें और कोड जनरेट करें।
  2. कस्टम टूल्स फ्रेमवर्क (रन-टाइम): आपके प्रोडक्शन एजेंटों के लिए विशिष्ट, अत्यधिक सुरक्षित AI उपकरण बनाने का एक मजबूत ढांचा। संरचित क्वेरीज़, सिमैंटिक सर्च और NL2SQL क्षमताओं को सुरक्षित और आसानी से परिभाषित करें।

यह README एक संक्षिप्त अवलोकन प्रदान करता है। विस्तृत विवरण के लिए, पूर्ण दस्तावेज़ीकरण देखें।

[!IMPORTANT]
रेपोसिटरी नाम अपडेट: genai-toolbox रिपॉजिटरी का आधिकारिक रूप से नाम बदलकर mcp-toolbox कर दिया गया है। यह सुनिश्चित करने के लिए कि आपका स्थानीय वातावरण नया नाम दर्शाता है, आप अपना रिमोट अपडेट कर सकते हैं: git remote set-url origin https://github.com/googleapis/mcp-toolbox.git

[!NOTE] इस समाधान का मूल नाम "Gen AI Toolbox for Databases" (github.com/googleapis/genai-toolbox) था क्योंकि इसका प्रारंभिक विकास MCP से पहले हुआ था, लेकिन MCP संगतता के साथ संरेखित करने के लिए इसका नाम बदल दिया गया।

विषय सूची


MCP टूलबॉक्स क्यों?

  • आउट-ऑफ-द-बॉक्स डेटाबेस एक्सेस: आपके IDE या CLI से सीधे त्वरित डेटा अन्वेषण के लिए पूर्व-निर्मित सामान्य उपकरण (जैसे, list_tables, execute_sql)।
  • कस्टम टूल्स फ्रेमवर्क: प्रतिबंधित पहुंच, संरचित क्वेरीज़ और सिमैंटिक सर्च के माध्यम से सुरक्षा सुनिश्चित करते हुए, अपने स्वयं के पूर्वनिर्धारित तर्क के साथ प्रोडक्शन-रेडी उपकरण बनाएं।
  • सरलीकृत विकास: अपने एजेंट डेवलपमेंट किट (ADK), LangChain, LlamaIndex, या कस्टम एजेंटों में 10 से कम पंक्तियों के कोड में उपकरणों को एकीकृत करें।
  • बेहतर प्रदर्शन: कनेक्शन पूलिंग, एकीकृत प्रमाणीकरण (IAM), और एंड-टू-एंड ऑब्जर्वेबिलिटी (OpenTelemetry) को आउट ऑफ द बॉक्स हैंडल करता है।
  • उन्नत सुरक्षा: आपके डेटा तक अधिक सुरक्षित पहुंच के लिए एकीकृत प्रमाणीकरण।
  • एंड-टू-एंड ऑब्जर्वेबिलिटी: OpenTelemetry के लिए अंतर्निहित समर्थन के साथ आउट ऑफ द बॉक्स मेट्रिक्स और ट्रेसिंग।

त्वरित शुरुआत: पूर्व-निर्मित उपकरण

संदर्भ-स्विचिंग बंद करें और अपने AI सहायक को एक सच्चा सह-डेवलपर बनने दें। MCP टूलबॉक्स के साथ अपने IDE को अपने डेटाबेस से जोड़कर, आप सादे अंग्रेजी में अपने डेटा को क्वेरी कर सकते हैं, स्कीमा खोज और प्रबंधन को स्वचालित कर सकते हैं, और डेटाबेस-अवेयर कोड जनरेट कर सकते हैं।

आप MCP सर्वर को कॉन्फ़िगर करके किसी भी MCP-संगत IDE या क्लाइंट (जैसे, Gemini CLI, Google Antigravity, Claude Code, Codex, आदि) में टूलबॉक्स का उपयोग कर सकते हैं।

पूर्व-निर्मित उपकरण एक सरल क्लिक-टू-इंस्टॉल अनुभव के साथ Google Antigravity MCP स्टोर के माध्यम से भी आसानी से उपलब्ध हैं।

  1. अपने क्लाइंट की MCP कॉन्फ़िगरेशन फ़ाइल (आमतौर पर mcp.json या claude_desktop_config.json) में निम्नलिखित जोड़ें:

    {
      "mcpServers": {
        "toolbox-postgres": {
          "command": "npx",
          "args": [
            "-y",
            "@toolbox-sdk/server",
            "--prebuilt=postgres",
            "--stdio"
          ]
        }
      }
    }
    
  2. कनेक्ट करने के लिए उपयुक्त एनवायरनमेंट वेरिएबल सेट करें, पूर्व-निर्मित उपकरण संदर्भ देखें।

जब आप --prebuilt=<database> फ्लैग के साथ टूलबॉक्स चलाते हैं, तो आपको तुरंत उस डेटाबेस के साथ इंटरैक्ट करने के लिए मानक उपकरणों तक पहुंच मिल जाती है। आप --prebuilt=<database>/<toolset> सिंटैक्स (जैसे, केवल SQL उपकरण लोड करने के लिए --prebuilt=postgres/data) का उपयोग करके एक विशिष्ट टूलसेट भी निर्दिष्ट कर सकते हैं।

वर्तमान में समर्थित डेटाबेस में शामिल हैं:

  • Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (पूर्व में Dataplex के नाम से जाना जाता था)।
  • अन्य डेटाबेस: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino, और अधिक।

सभी समर्थित डेटाबेस में उपलब्ध उपकरणों और उनकी क्षमताओं की पूरी सूची के लिए, पूर्व-निर्मित उपकरण संदर्भ देखें।

Docker या बाइनरी जैसी विभिन्न निष्पादन विधियों के लिए टूलबॉक्स सर्वर स्थापित करें और चलाएं अनुभाग देखें।

[!TIP] प्रबंधित समाधान की तलाश कर रहे उपयोगकर्ताओं के लिए, Google Cloud MCP सर्वर पूर्व-निर्मित उपकरणों के साथ एक प्रबंधित MCP अनुभव प्रदान करते हैं; आप यहां अंतरों के बारे में अधिक जान सकते हैं


त्वरित शुरुआत: कस्टम उपकरण

टूलबॉक्स का उपयोग अनुकूलित उपकरणों के लिए एक ढांचे के रूप में भी किया जा सकता है। टूलबॉक्स को कॉन्फ़िगर करने का प्राथमिक तरीका tools.yaml फ़ाइल के माध्यम से है। यदि आपके पास कई फ़ाइलें हैं, तो आप टूलबॉक्स को --config tools.yaml फ्लैग के साथ बता सकते हैं कि कौन सी लोड करनी है।

आप संसाधन में सभी संसाधन प्रकारों के लिए अधिक विस्तृत संदर्भ दस्तावेज़ीकरण पा सकते हैं।

स्रोत

आपकी tools.yaml का sources अनुभाग परिभाषित करता है कि आपके टूलबॉक्स की किन डेटा स्रोतों तक पहुंच होनी चाहिए। अधिकांश उपकरणों के पास निष्पादित करने के लिए कम से कम एक स्रोत होगा।

kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password

विभिन्न प्रकार के स्रोतों को कॉन्फ़िगर करने के बारे में अधिक जानकारी के लिए, स्रोत देखें।

उपकरण

tools.yaml का tools अनुभाग उन क्रियाओं को परिभाषित करता है जो एक एजेंट ले सकता है: यह किस प्रकार का उपकरण है, यह किस स्रोत (स्रोतों) को प्रभावित करता है, यह किन पैरामीटर का उपयोग करता है, आदि।

kind: tool
name: search-hotels-by-name
type: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
  - name: name
    type: string
    description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';

विभिन्न प्रकार के उपकरणों को कॉन्फ़िगर करने के बारे में अधिक जानकारी के लिए, उपकरण देखें।

टूलसेट

आपकी tools.yaml का toolsets अनुभाग आपको उपकरणों के समूहों को परिभाषित करने की अनुमति देता है जिन्हें आप एक साथ लोड करने में सक्षम होना चाहते हैं। यह एजेंट या एप्लिकेशन के आधार पर विभिन्न समूहों को परिभाषित करने के लिए उपयोगी हो सकता है।

kind: toolset
name: my_first_toolset
tools:
    - my_first_tool
    - my_second_tool
---
kind: toolset
name: my_second_toolset
tools:
    - my_second_tool
    - my_third_tool

प्रॉम्प्ट

tools.yaml का prompts अनुभाग उन प्रॉम्प्ट को परिभाषित करता है जिनका उपयोग LLM के साथ इंटरैक्शन के लिए किया जा सकता है।

kind: prompt
name: code_review
description: "Asks the LLM to analyze code quality and suggest improvements."
messages:
  - content: >
         Please review the following code for quality, correctness,
         and potential improvements: \n\n{{.code}}
arguments:
  - name: "code"
    description: "The code to review"

प्रॉम्प्ट कॉन्फ़िगर करने के बारे में अधिक जानकारी के लिए, प्रॉम्प्ट देखें।


टूलबॉक्स सर्वर स्थापित करें और चलाएं

आप सीधे कॉन्फ़िगरेशन फ़ाइल के साथ टूलबॉक्स चला सकते हैं:

npx @toolbox-sdk/server --config tools.yaml

यह आपकी कॉन्फ़िगरेशन फ़ाइल के साथ टूलबॉक्स सर्वर का नवीनतम संस्करण चलाता है।

[!NOTE] यह विधि प्रदर्शन के बजाय सुविधा के लिए अनुकूलित है। अधिक मानक और विश्वसनीय स्थापना के लिए, कृपया बाइनरी या कंटेनर इमेज का उपयोग करें जैसा कि टूलबॉक्स सर्वर स्थापित करें और चलाएं में वर्णित है।

टूलबॉक्स स्थापित करें

नवीनतम संस्करण के लिए, रिलीज़ पेज देखें और अपने OS और CPU आर्किटेक्चर के लिए निम्नलिखित निर्देशों का उपयोग करें।

बाइनरी

टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

Linux (AMD64)

Linux (AMD64) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

# अन्य संस्करणों के लिए रिलीज़ पेज देखें
export VERSION=1.5.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
macOS (Apple Silicon)

macOS (Apple Silicon) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

# अन्य संस्करणों के लिए रिलीज़ पेज देखें
export VERSION=1.5.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
chmod +x toolbox
macOS (Intel)

macOS (Intel) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

# अन्य संस्करणों के लिए रिलीज़ पेज देखें
export VERSION=1.5.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (कमांड प्रॉम्प्ट)

Windows (कमांड प्रॉम्प्ट) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

:: अन्य संस्करणों के लिए रिलीज़ पेज देखें
set VERSION=1.5.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
Windows (PowerShell)

Windows (PowerShell) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

# अन्य संस्करणों के लिए रिलीज़ पेज देखें
$VERSION = "1.5.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Windows ARM64 (कमांड प्रॉम्प्ट)

Windows ARM64 (कमांड प्रॉम्प्ट) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

:: अन्य संस्करणों के लिए रिलीज़ पेज देखें
set VERSION=1.5.0
curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"
Windows ARM64 (PowerShell)

Windows ARM64 (PowerShell) पर टूलबॉक्स को बाइनरी के रूप में स्थापित करने के लिए:

# अन्य संस्करणों के लिए रिलीज़ पेज देखें
$VERSION = "1.5.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
कंटेनर इमेज आप टूलबॉक्स को कंटेनर के रूप में भी स्थापित कर सकते हैं:
# see releases page for other versions
export VERSION=1.5.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew

macOS या Linux पर Homebrew का उपयोग करके टूलबॉक्स स्थापित करने के लिए:

brew install mcp-toolbox
स्रोत से संकलित करें

स्रोत से स्थापित करने के लिए, सुनिश्चित करें कि आपके पास Go स्थापित का नवीनतम संस्करण है, और फिर निम्नलिखित कमांड चलाएँ:

go install github.com/googleapis/[email protected]
Gemini CLI AlloyDB, BigQuery, और Cloud SQL जैसे विशिष्ट डेटाबेस के लिए पूर्व-निर्मित उपकरणों को सीधे Gemini CLI में स्थापित करने के लिए [Gemini CLI एक्सटेंशन](https://geminicli.com/extensions/) देखें।
# Install Gemini CLI
npm install -g @google/gemini-cli
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-postgres
# Run Gemini CLI
gemini

Gemini CLI के माध्यम से प्राकृतिक भाषा का उपयोग करके अपने कस्टम उपकरणों के साथ इंटरैक्ट करें।

# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox

टूलबॉक्स चलाएँ

अपने उपकरणों को परिभाषित करने के लिए एक tools.yaml कॉन्फ़िगर करें, और फिर सर्वर शुरू करने के लिए toolbox निष्पादित करें:

बाइनरी

बाइनरी से टूलबॉक्स चलाने के लिए:

./toolbox --config "tools.yaml"

ⓘ नोट
टूलबॉक्स डिफ़ॉल्ट रूप से डायनेमिक रीलोडिंग सक्षम करता है। अक्षम करने के लिए, --disable-reload फ्लैग का उपयोग करें।

कंटेनर इमेज

कंटेनर इमेज खींचने के बाद सर्वर चलाने के लिए:

export VERSION=0.24.0 # Use the version you pulled
docker run -p 5000:5000 \
-v $(pwd)/tools.yaml:/app/tools.yaml \
us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION \
--config "/app/tools.yaml"

ⓘ नोट
-v फ्लैग आपके स्थानीय tools.yaml को कंटेनर में माउंट करता है, और -p कंटेनर के पोर्ट 5000 को आपके होस्ट के पोर्ट 5000 पर मैप करता है।

स्रोत

स्रोत से सीधे सर्वर चलाने के लिए, प्रोजेक्ट रूट डायरेक्टरी पर जाएँ और चलाएँ:

go run .

ⓘ नोट
यह कमांड प्रोजेक्ट को स्रोत से चलाता है, और विकास और परीक्षण के लिए अधिक उपयुक्त है। यह आपके $GOPATH में बाइनरी संकलित नहीं करता है। यदि आप इसके बजाय बाइनरी संकलित करना चाहते हैं, तो डेवलपर दस्तावेज़ीकरण देखें।

Homebrew

यदि आपने Homebrew का उपयोग करके टूलबॉक्स स्थापित किया है, तो toolbox बाइनरी आपके सिस्टम पथ में उपलब्ध है। आप उसी कमांड से सर्वर शुरू कर सकते हैं:

toolbox --config "tools.yaml"
NPM बिना मैन्युअली बाइनरी डाउनलोड किए सीधे टूलबॉक्स चलाने के लिए (Node.js आवश्यक है): ```sh npx @toolbox-sdk/server --config tools.yaml ```
Gemini CLI [Gemini CLI एक्सटेंशन](https://geminicli.com/extensions/) इंस्टॉल करने के बाद, उपयोग के दौरान पूर्व-निर्मित उपकरण उपलब्ध होंगे।
# Run Gemini CLI
gemini

# List extensions
/extensions list
# List MCP servers
/mcp list

आप फ़्लैग की पूरी सूची के लिए toolbox help का उपयोग कर सकते हैं! सर्वर को रोकने के लिए, एक समाप्ति सिग्नल भेजें (अधिकांश प्लेटफ़ॉर्म पर ctrl+c)।

विभिन्न वातावरणों में परिनियोजन पर अधिक विस्तृत दस्तावेज़ीकरण के लिए, Deploy Toolbox section में संसाधन देखें।


टूलबॉक्स से कनेक्ट करें

एक बार जब आपका टूलबॉक्स सर्वर चालू हो जाए, तो आप अपने MCP-संगत क्लाइंट या एप्लिकेशन में उपकरण लोड कर सकते हैं।

MCP क्लाइंट

अपने MCP क्लाइंट कॉन्फ़िगरेशन में निम्नलिखित कॉन्फ़िगरेशन जोड़ें:

{
  "mcpServers": {
    "toolbox": {
      "type": "http",
      "url": "http://127.0.0.1:5000/mcp",
    }
  }
}

यदि आप किसी विशिष्ट टूलसेट से कनेक्ट करना चाहते हैं, तो url को "http://127.0.0.1:5000/mcp/{toolset_name}" से बदलें।

टूलबॉक्स SDK: अपने एप्लिकेशन के साथ एकीकृत करें

टूलबॉक्स क्लाइंट SDK आपके कस्टम एप्लिकेशन को MCP टूलबॉक्स सर्वर से जोड़ने के लिए उपयोग में आसान बिल्डिंग ब्लॉक और उन्नत सुविधाएँ प्रदान करते हैं। विभिन्न फ्रेमवर्क का उपयोग करने के लिए क्लाइंट SDK की सूची नीचे देखें:

Python (Github)
Core
  1. Toolbox Core SDK इंस्टॉल करें:

    pip install toolbox-core
    
  2. उपकरण लोड करें:

    from toolbox_core import ToolboxClient
    
    # update the url to point to your server
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # these tools can be passed to your application!
        tools = await client.load_toolset("toolset_name")
    

Toolbox Core SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।

LangChain / LangGraph
  1. Toolbox LangChain SDK इंस्टॉल करें:

    pip install toolbox-langchain
    
  2. उपकरण लोड करें:

    from toolbox_langchain import ToolboxClient
    
    # update the url to point to your server
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # these tools can be passed to your application!
        tools = client.load_toolset()
    

    Toolbox LangChain SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।

LlamaIndex
  1. Toolbox Llamaindex SDK इंस्टॉल करें:

    pip install toolbox-llamaindex
    
  2. उपकरण लोड करें:

    from toolbox_llamaindex import ToolboxClient
    
    # update the url to point to your server
    async with ToolboxClient("http://127.0.0.1:5000") as client:
    
        # these tools can be passed to your application!
        tools = client.load_toolset()
    

    Toolbox Llamaindex SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।

Javascript/Typescript (Github)
Core
  1. Toolbox Core SDK इंस्टॉल करें:

    npm install @toolbox-sdk/core
    
  2. उपकरण लोड करें:

    import { ToolboxClient } from '@toolbox-sdk/core';
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const tools = await client.loadToolset('toolsetName');
    

    Toolbox Core SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।

LangChain / LangGraph
  1. Toolbox Core SDK इंस्टॉल करें:

    npm install @toolbox-sdk/core
    
  2. उपकरण लोड करें:

    import { ToolboxClient } from '@toolbox-sdk/core';
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const toolboxTools = await client.loadToolset('toolsetName');
    
    // Define the basics of the tool: name, description, schema and core logic
    const getTool = (toolboxTool) => tool(currTool, {
        name: toolboxTool.getName(),
        description: toolboxTool.getDescription(),
        schema: toolboxTool.getParamSchema()
    });
    
    // Use these tools in your Langchain/Langraph applications
    const tools = toolboxTools.map(getTool);
    
Genkit
  1. Toolbox Core SDK इंस्टॉल करें:

    npm install @toolbox-sdk/core
    
  2. उपकरण लोड करें:

    import { ToolboxClient } from '@toolbox-sdk/core';
    import { genkit } from 'genkit';
    
    // Initialise genkit
    const ai = genkit({
        plugins: [
            googleAI({
                apiKey: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY
            })
        ],
        model: googleAI.model('gemini-2.0-flash'),
    });
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const toolboxTools = await client.loadToolset('toolsetName');
    
    // Define the basics of the tool: name, description, schema and core logic
    const getTool = (toolboxTool) => ai.defineTool({
        name: toolboxTool.getName(),
        description: toolboxTool.getDescription(),
        schema: toolboxTool.getParamSchema()
    }, toolboxTool)
    
    // Use these tools in your Genkit applications
    const tools = toolboxTools.map(getTool);
    
ADK
  1. Toolbox ADK SDK इंस्टॉल करें:

    npm install @toolbox-sdk/adk
    
  2. उपकरण लोड करें:

    import { ToolboxClient } from '@toolbox-sdk/adk';
    
    // update the url to point to your server
    const URL = 'http://127.0.0.1:5000';
    let client = new ToolboxClient(URL);
    
    // these tools can be passed to your application!
    const tools = await client.loadToolset('toolsetName');
    

    Toolbox ADK SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।

Go (Github)
Core
  1. Toolbox Go SDK इंस्टॉल करें:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. उपकरण लोड करें:

    package main
    
    import (
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "context"
    )
    
    func main() {
      // Make sure to add the error checks
      // update the url to point to your server
      URL := "http://127.0.0.1:5000";
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tools
      tools, err := client.LoadToolset("toolsetName", ctx)
    }
    

    Toolbox Go SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।

LangChain Go
  1. Toolbox Go SDK इंस्टॉल करें:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. उपकरण लोड करें:

    package main
    
    import (
      "context"
      "encoding/json"
    
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "github.com/tmc/langchaingo/llms"
    )
    
    func main() {
      // Make sure to add the error checks
      // update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Fetch the tool's input schema
      inputschema, err := tool.InputSchema()
    
      var paramsSchema map[string]any
      _ = json.Unmarshal(inputschema, &paramsSchema)
    
      // Use this tool with LangChainGo
      langChainTool := llms.Tool{
        Type: "function",
        Function: &llms.FunctionDefinition{
          Name:        tool.Name(),
          Description: tool.Description(),
          Parameters:  paramsSchema,
        },
      }
    }
    
    
Genkit
  1. Toolbox Go SDK इंस्टॉल करें:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. उपकरण लोड करें:

    package main
    import (
      "context"
      "log"
    
      "github.com/firebase/genkit/go/genkit"
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "github.com/googleapis/mcp-toolbox-sdk-go/tbgenkit"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
      g := genkit.Init(ctx)
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Convert the tool using the tbgenkit package
      // Use this tool with Genkit Go
      genkitTool, err := tbgenkit.ToGenkitTool(tool, g)
      if err != nil {
        log.Fatalf("Failed to convert tool: %v\n", err)
      }
      log.Printf("Successfully converted tool: %s", genkitTool.Name())
    }
    
Go GenAI
  1. Toolbox Go SDK इंस्टॉल करें:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. उपकरण लोड करें:

    package main
    
    import (
      "context"
      "encoding/json"
    
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      "google.golang.org/genai"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Fetch the tool's input schema
      inputschema, err := tool.InputSchema()
    
      var schema *genai.Schema
      _ = json.Unmarshal(inputschema, &schema)
    
      funcDeclaration := &genai.FunctionDeclaration{
        Name:        tool.Name(),
        Description: tool.Description(),
        Parameters:  schema,
      }
    
      // Use this tool with Go GenAI
      genAITool := &genai.Tool{
        FunctionDeclarations: []*genai.FunctionDeclaration{funcDeclaration},
      }
    }
    
OpenAI Go
  1. Toolbox Go SDK इंस्टॉल करें:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. उपकरण लोड करें:

    package main
    
    import (
      "context"
      "encoding/json"
    
      "github.com/googleapis/mcp-toolbox-sdk-go/core"
      openai "github.com/openai/openai-go"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
    
      client, err := core.NewToolboxClient(URL)
    
      // Framework agnostic tool
      tool, err := client.LoadTool("toolName", ctx)
    
      // Fetch the tool's input schema
      inputschema, err := tool.InputSchema()
    
      var paramsSchema openai.FunctionParameters
      _ = json.Unmarshal(inputschema, &paramsSchema)
    
      // Use this tool with OpenAI Go
      openAITool := openai.ChatCompletionToolParam{
        Function: openai.FunctionDefinitionParam{
          Name:        tool.Name(),
          Description: openai.String(tool.Description()),
          Parameters:  paramsSchema,
        },
      }
    
    }
    
ADK Go
  1. Toolbox Go SDK इंस्टॉल करें:

    go get github.com/googleapis/mcp-toolbox-sdk-go
    
  2. उपकरण लोड करें:

    package main
    
    import (
      "github.com/googleapis/mcp-toolbox-sdk-go/tbadk"
      "context"
    )
    
    func main() {
      // Make sure to add the error checks
      // Update the url to point to your server
      URL := "http://127.0.0.1:5000"
      ctx := context.Background()
      client, err := tbadk.NewToolboxClient(URL)
      if err != nil {
        return fmt.Sprintln("Could not start Toolbox Client", err)
      }
    
      // Use this tool with ADK Go
      tool, err := client.LoadTool("toolName", ctx)
      if err != nil {
        return fmt.Sprintln("Could not load Toolbox Tool", err)
      }
    }
    

    Toolbox Go SDK का उपयोग करने पर अधिक विस्तृत निर्देशों के लिए, प्रोजेक्ट का README देखें।


अतिरिक्त सुविधाएँ

टूलबॉक्स UI के साथ उपकरणों का परीक्षण करें

टूलबॉक्स का इंटरैक्टिव UI लॉन्च करने के लिए, --ui फ़्लैग का उपयोग करें। यह आपको अधिकृत पैरामीटर जैसी सुविधाओं के साथ उपकरणों और टूलसेट का परीक्षण करने की अनुमति देता है। अधिक जानने के लिए, Toolbox UI पर जाएँ।

./toolbox --ui

टेलीमेट्री

टूलबॉक्स OpenTelemetry के माध्यम से ट्रेस और मेट्रिक्स उत्सर्जित करता है। किसी भी OTLP-संगत बैकएंड जैसे Google Cloud Monitoring, Agnost AI, या अन्य पर निर्यात करने के लिए --telemetry-otlp=<endpoint> का उपयोग करें। विवरण के लिए टेलीमेट्री दस्तावेज़ देखें।

एजेंट स्किल जनरेट करें

skills-generate कमांड आपको एक टूलसेट को Agent Skill specification के अनुकूल एजेंट स्किल में बदलने की अनुमति देता है। यह उपकरणों को पोर्टेबल स्किल पैकेज के रूप में वितरित करने के लिए उपयोगी है।

toolbox --config tools.yaml skills-generate \
  --name "my-skill" \
  --toolset "my_toolset" \
  --description "A skill containing multiple tools"

एक बार जनरेट हो जाने पर, आप स्किल को Gemini CLI में इंस्टॉल कर सकते हैं:

gemini skills install ./skills/my-skill

अधिक विवरण के लिए, Generate Agent Skills guide देखें।


संस्करणीकरण

MCP Toolbox for Databases Semantic Versioning का पालन करता है।

सार्वजनिक API में टूलबॉक्स सर्वर (CLI, कॉन्फ़िगरेशन मैनिफ़ेस्ट, और पूर्व-निर्मित टूलसेट) और क्लाइंट SDK शामिल हैं।

  • प्रमुख संस्करण ब्रेकिंग परिवर्तनों के लिए बढ़ाए जाते हैं, जैसे असंगत CLI या मैनिफ़ेस्ट परिवर्तन।
  • लघु संस्करण नई सुविधाओं के लिए बढ़ाए जाते हैं, जिनमें पूर्व-निर्मित टूलसेट या बीटा सुविधाओं में संशोधन शामिल हैं।
  • पैच संस्करण पश्च-संगत बग फिक्स के लिए बढ़ाए जाते हैं।

अधिक विवरण के लिए, हमारी Full Versioning Policy देखें।


योगदान

योगदान का स्वागत है। कृपया आरंभ करने के लिए CONTRIBUTING गाइड देखें।

स्वयं टूलबॉक्स पर विकास के लिए वातावरण स्थापित करने के तकनीकी विवरण के लिए, DEVELOPER गाइड देखें।

कृपया ध्यान दें कि यह प्रोजेक्ट एक योगदानकर्ता आचार संहिता के साथ जारी किया गया है। इस प्रोजेक्ट में भाग लेकर आप इसकी शर्तों का पालन करने के लिए सहमत होते हैं। अधिक जानकारी के लिए Contributor Code of Conduct देखें।


समुदाय

हमारे डेवलपर्स से जुड़ने के लिए हमारे Discord community से जुड़ें!