MCP Toolbox for Databases

आधिकारिक

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

Toolbox For Databases MCP के साथ आप क्या कर सकते हैं?

  • डेटाबेस स्कीमा एक्सप्लोर करें — अपने AI असिस्टेंट से list_tables जैसे पहले से बने टूल का उपयोग करके टेबलों की सूची बनाने और स्कीमा की जानकारी देखने के लिए कहें।
  • साधारण अंग्रेज़ी में SQL क्वेरी चलाएँ — अपना IDE या CLI छोड़े बिना execute_sql के ज़रिए बातचीत के अंदाज़ में अपने डेटा से क्वेरी करें।
  • कई डेटाबेस से कनेक्ट करें — PostgreSQL, MySQL, BigQuery, Spanner, AlloyDB, Cloud SQL, MongoDB, Redis और अन्य के लिए पहले से बने टूल का उपयोग करें।
  • कस्टम टूल परिभाषित करें — सीमित और प्रोडक्शन के लिए तैयार डेटाबेस टूल बनाने हेतु tools.yaml फ़ाइल में स्रोत, टूल, टूलसेट और प्रॉम्प्ट कॉन्फ़िगर करें।
  • एजेंट में टूल लोड करें — Python, JS/TS, Go और Java SDK के ज़रिए टूल को ADK, LangChain, LlamaIndex या कस्टम एजेंट में इंटीग्रेट करें।

दस्तावेज़

logo

MCP Toolbox for Databases

googleapis%2Fmcp-toolbox | Trendshift

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

Python SDK JS/TS SDK Go SDK Java SDK

MCP Toolbox for Databases एक ओपन सोर्स Model Context Protocol (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 Toolbox क्यों?

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

त्वरित शुरुआत: पहले से बने टूल

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

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

पहले से बने टूल Google Antigravity MCP Store में भी आसानी से उपलब्ध हैं, जहाँ एक क्लिक से इंस्टॉल किया जा सकता है।

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

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

जब आप Toolbox को --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 या बाइनरी जैसे अलग-अलग तरीकों से चलाने के लिए Toolbox सर्वर इंस्टॉल करें और चलाएँ सेक्शन देखें।

[!TIP] मैनेज्ड समाधान चाहने वाले उपयोगकर्ताओं के लिए, Google Cloud MCP Servers पहले से बने टूल के साथ मैनेज्ड MCP अनुभव देते हैं; यहाँ इनके अंतर के बारे में अधिक जानें।


त्वरित शुरुआत: कस्टम टूल

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

सभी संसाधन प्रकारों के विस्तृत संदर्भ दस्तावेज़ संसाधन में मिलेंगे।

स्रोत

आपके tools.yaml के sources सेक्शन में यह तय होता है कि Toolbox को किन डेटा स्रोतों का ऐक्सेस मिलेगा। ज़्यादातर टूल को निष्पादित करने के लिए कम-से-कम एक स्रोत की ज़रूरत होती है।

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"

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

संसाधन

आपके tools.yaml के resources और resourceTemplates सेक्शन में केवल-पढ़ने योग्य कंटेंट, फ़ाइलें या पैरामीटर वाले डायरेक्टरी ट्री तय होते हैं, जिन्हें MCP क्लाइंट खोज और प्राप्त कर सकते हैं:

kind: resource
name: database_schema_ddl
type: text
description: "Core table definitions and constraints."
mimeType: text/x-sql
text: |
  CREATE TABLE customers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL
  );
---
kind: resource
name: database_schema
type: file
description: "PostgreSQL schema definition."
path: "./schema.sql"
---
kind: resourceTemplate
name: server_logs
type: file
description: "Application log files."
uriTemplate: "file:///var/log/{path}"
allowedPaths:
  - "/var/log"

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


Toolbox सर्वर इंस्टॉल करें और चलाएँ

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

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

इससे Toolbox सर्वर का नवीनतम वर्शन आपकी कॉन्फ़िगरेशन फ़ाइल के साथ चलता है।

[!NOTE] यह तरीका परफ़ॉर्मेंस के बजाय सुविधा के लिए अनुकूलित है। अधिक मानक और भरोसेमंद इंस्टॉलेशन के लिए, Toolbox सर्वर इंस्टॉल करें और चलाएँ में बताए अनुसार बाइनरी या कंटेनर इमेज का इस्तेमाल करें।

Toolbox इंस्टॉल करें

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

बाइनरी

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

Linux (AMD64)

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

# अन्य वर्शन के लिए रिलीज़ पेज देखें
export VERSION=1.17.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) पर Toolbox को बाइनरी के रूप में इंस्टॉल करने के लिए:

# अन्य वर्शन के लिए रिलीज़ पेज देखें
export VERSION=1.17.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) पर Toolbox को बाइनरी के रूप में इंस्टॉल करने के लिए:

# अन्य वर्शन के लिए रिलीज़ पेज देखें
export VERSION=1.17.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
chmod +x toolbox
Windows (Command Prompt)

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

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

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

# अन्य वर्शन के लिए रिलीज़ पेज देखें
$VERSION = "1.17.0"
curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
Windows ARM64 (Command Prompt)

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

:: अन्य वर्शन के लिए रिलीज़ पेज देखें
set VERSION=1.17.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) पर Toolbox को बाइनरी के रूप में इंस्टॉल करने के लिए:

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

macOS या Linux पर Homebrew का इस्तेमाल करके Toolbox इंस्टॉल करने के लिए:

brew install mcp-toolbox
सोर्स से कंपाइल करें

सोर्स से इंस्टॉल करने के लिए, सुनिश्चित करें कि आपके पास Go का नवीनतम वर्शन इंस्टॉल है, फिर यह कमांड चलाएँ:

go install github.com/googleapis/mcp-toolbox@v1.17.0
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

Toolbox चलाएँ

अपने टूल तय करने के लिए tools.yaml को कॉन्फ़िगर करें, फिर सर्वर शुरू करने के लिए toolbox चलाएँ:

बाइनरी

बाइनरी से Toolbox चलाने के लिए:

./toolbox --config "tools.yaml"

ⓘ ध्यान दें
Toolbox में डिफ़ॉल्ट रूप से डायनामिक री-लोडिंग चालू होती है। इसे बंद करने के लिए --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 बाइनरी आपके सिस्टम पाथ में उपलब्ध है। आप सर्वर को उसी कमांड से शुरू कर सकते हैं:

toolbox --config "tools.yaml"
NPM

बाइनरी को मैन्युअल रूप से डाउनलोड किए बिना सीधे Toolbox चलाने के लिए (इसके लिए Node.js आवश्यक है):

npx @toolbox-sdk/server --config tools.yaml
Gemini CLI [Gemini CLI extensions](https://geminicli.com/extensions/) इंस्टॉल करने के बाद, उपयोग के दौरान पहले से निर्मित टूल उपलब्ध होंगे।
# Run Gemini CLI
gemini

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

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

अलग-अलग परिवेशों में डिप्लॉय करने के बारे में अधिक विस्तृत दस्तावेज़ों के लिए, Deploy Toolbox section में दिए गए संसाधन देखें।


Toolbox से कनेक्ट करें

Toolbox सर्वर चालू और चलने के बाद, आप अपने 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}" से बदलें।

Toolbox SDKs: अपने एप्लिकेशन के साथ इंटीग्रेट करें

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

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 देखें।


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

Toolbox UI से टूल का परीक्षण करें

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

./toolbox --ui

टेलीमेट्री

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

Agent Skills जनरेट करें

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

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

अधिक जानकारी के लिए, Skills जनरेट करने की गाइड देखें। आपके पास पहले से मौजूद किसी स्किल को MCP के ज़रिए उपलब्ध कराने के लिए, MCP के ज़रिए Skills उपलब्ध कराना देखें।

रिपॉज़िटरी में इस्तेमाल के लिए तैयार Agent Skills (उदाहरण के लिए, मेंटेनर वर्कफ़्लो) भी शामिल हैं। कैटलॉग और इंस्टॉल करने के निर्देशों के लिए skills/ देखें।


वर्शनिंग

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

Public API में Toolbox Server (CLI, कॉन्फ़िगरेशन मैनिफ़ेस्ट और पहले से निर्मित टूलसेट) तथा Client SDKs शामिल हैं।

  • मेजर वर्शन में ऐसे बदलावों के लिए वृद्धि की जाती है जो पुराने संस्करणों के साथ संगत नहीं होते, जैसे CLI या मैनिफ़ेस्ट में असंगत बदलाव।
  • माइनर वर्शन में नई सुविधाओं के लिए वृद्धि की जाती है, जिनमें पहले से निर्मित टूलसेट में बदलाव या बीटा सुविधाएँ शामिल हैं।
  • पैच वर्शन में पुराने संस्करणों के साथ संगत बग फ़िक्स के लिए वृद्धि की जाती है।

अधिक जानकारी के लिए, जिसमें हमारी Container Tagging Policy भी शामिल है, हमारी Full Versioning Policy देखें।


योगदान

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

Toolbox के विकास के लिए परिवेश सेट अप करने के तकनीकी विवरणों के लिए, DEVELOPER गाइड देखें।

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


समुदाय

हमारे डेवलपरों से जुड़ने के लिए हमारे Discord समुदाय में शामिल हों!