MCP Toolbox for Databases
chính thứcMáy chủ MCP mã nguồn mở chuyên cung cấp các công cụ dễ dàng, nhanh chóng và an toàn cho Cơ sở dữ liệu.
Bạn có thể làm gì với Toolbox For Databases MCP?
- Khám phá lược đồ cơ sở dữ liệu — Yêu cầu trợ lý AI của bạn liệt kê các bảng và kiểm tra chi tiết lược đồ bằng các công cụ dựng sẵn như
list_tables. - Chạy truy vấn SQL bằng ngôn ngữ tự nhiên — Truy vấn dữ liệu của bạn theo cách hội thoại thông qua
execute_sqlmà không cần viết mã kết nối mẫu. - Kết nối cơ sở dữ liệu được hỗ trợ ngay lập tức — Trỏ ứng dụng khách MCP của bạn tới các cơ sở dữ liệu như PostgreSQL, BigQuery, MySQL, Spanner hoặc AlloyDB thông qua
mcp.jsonhoặcclaude_desktop_config.json. - Định nghĩa công cụ tùy chỉnh — Cấu hình truy vấn có cấu trúc, tìm kiếm ngữ nghĩa và công cụ NL2SQL trong tệp
tools.yamlcho các tác nhân sản xuất. - Nhóm công cụ thành bộ công cụ — Tải các nhóm công cụ cụ thể cho từng tác nhân hoặc ứng dụng bằng cách sử dụng phần
toolsetstrong cấu hình của bạn.
Tài liệu
MCP Toolbox for Databases là một máy chủ Model Context Protocol (MCP) mã nguồn mở, kết nối trực tiếp các tác nhân AI, IDE và ứng dụng của bạn với cơ sở dữ liệu doanh nghiệp.
Nó phục vụ hai mục đích:
- Máy chủ MCP sẵn sàng sử dụng (Thời điểm xây dựng): Kết nối ngay lập tức Gemini CLI, Google Antigravity, Claude Code, Codex hoặc các ứng dụng khách MCP khác với cơ sở dữ liệu của bạn bằng cách sử dụng các công cụ tổng quát dựng sẵn của chúng tôi. Trò chuyện với dữ liệu của bạn, khám phá lược đồ và tạo mã mà không cần viết mã mẫu.
- Khung công cụ tùy chỉnh (Thời điểm chạy): Một khung mạnh mẽ để xây dựng các công cụ AI chuyên biệt, có tính bảo mật cao cho các tác nhân sản xuất của bạn. Định nghĩa các truy vấn có cấu trúc, tìm kiếm ngữ nghĩa và khả năng NL2SQL một cách an toàn và dễ dàng.
README này cung cấp một tổng quan ngắn gọn. Để biết chi tiết đầy đủ, hãy xem tài liệu đầy đủ.
[!IMPORTANT]
Cập nhật tên kho lưu trữ: Kho lưu trữgenai-toolboxđã chính thức được đổi tên thànhmcp-toolbox. Để đảm bảo môi trường cục bộ của bạn phản ánh tên mới, bạn có thể cập nhật remote của mình:git remote set-url origin https://github.com/googleapis/mcp-toolbox.git
[!NOTE] Giải pháp này ban đầu được đặt tên là "Gen AI Toolbox for Databases" (github.com/googleapis/genai-toolbox) vì quá trình phát triển ban đầu của nó diễn ra trước MCP, nhưng đã được đổi tên để phù hợp với khả năng tương thích MCP.
Mục lục
- Tại sao chọn MCP Toolbox?
- Bắt đầu nhanh: Công cụ dựng sẵn
- Bắt đầu nhanh: Công cụ tùy chỉnh
- Cài đặt & Chạy máy chủ Toolbox
- Kết nối với Toolbox
- Các tính năng bổ sung
- Quản lý phiên bản
- Đóng góp
- Cộng đồng
Tại sao chọn MCP Toolbox?
- Truy cập cơ sở dữ liệu ngay lập tức: Các công cụ tổng quát dựng sẵn để khám phá dữ liệu tức thì (ví dụ:
list_tables,execute_sql) trực tiếp từ IDE hoặc CLI của bạn. - Khung công cụ tùy chỉnh: Xây dựng các công cụ sẵn sàng cho sản xuất với logic định trước của riêng bạn, đảm bảo an toàn thông qua Truy cập hạn chế, Truy vấn có cấu trúc và Tìm kiếm ngữ nghĩa.
- Phát triển đơn giản hóa: Tích hợp các công cụ vào Agent Development Kit (ADK), LangChain, LlamaIndex hoặc các tác nhân tùy chỉnh của bạn trong chưa đầy 10 dòng mã.
- Hiệu suất tốt hơn: Xử lý nhóm kết nối, xác thực tích hợp (IAM) và khả năng quan sát đầu-cuối (OpenTelemetry) ngay từ đầu.
- Bảo mật nâng cao: Xác thực tích hợp để truy cập dữ liệu của bạn an toàn hơn.
- Khả năng quan sát đầu-cuối: Số liệu và theo dõi ngay từ đầu với hỗ trợ tích hợp cho OpenTelemetry.
Bắt đầu nhanh: Công cụ dựng sẵn
Ngừng chuyển đổi ngữ cảnh và để trợ lý AI của bạn trở thành một đồng nghiệp phát triển thực sự. Bằng cách kết nối IDE của bạn với cơ sở dữ liệu bằng MCP Toolbox, bạn có thể truy vấn dữ liệu bằng ngôn ngữ tự nhiên, tự động hóa việc khám phá và quản lý lược đồ, đồng thời tạo mã nhận biết cơ sở dữ liệu.
Bạn có thể sử dụng Toolbox trong bất kỳ IDE hoặc ứng dụng khách tương thích MCP nào (ví dụ: Gemini CLI, Google Antigravity, Claude Code, Codex, v.v.) bằng cách cấu hình máy chủ MCP.
Các công cụ dựng sẵn cũng có sẵn tiện lợi thông qua Google Antigravity MCP Store với trải nghiệm cài đặt chỉ bằng một cú nhấp.
-
Thêm nội dung sau vào tệp cấu hình MCP của ứng dụng khách (thường là
mcp.jsonhoặcclaude_desktop_config.json):{ "mcpServers": { "toolbox-postgres": { "command": "npx", "args": [ "-y", "@toolbox-sdk/server", "--prebuilt=postgres", "--stdio" ] } } } -
Đặt các biến môi trường thích hợp để kết nối, xem Tham chiếu công cụ dựng sẵn.
Khi bạn chạy Toolbox với cờ --prebuilt=<database>, bạn ngay lập tức có quyền truy cập vào các công cụ tiêu chuẩn để tương tác với cơ sở dữ liệu đó. Bạn cũng có thể chỉ định một bộ công cụ cụ thể bằng cú pháp --prebuilt=<database>/<toolset> (ví dụ: --prebuilt=postgres/data để chỉ tải các công cụ SQL).
Các cơ sở dữ liệu được hỗ trợ hiện tại bao gồm:
- Google Cloud: AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (trước đây gọi là Dataplex).
- Các cơ sở dữ liệu khác: PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino, và nhiều hơn nữa.
Để xem danh sách đầy đủ các công cụ có sẵn và khả năng của chúng trên tất cả các cơ sở dữ liệu được hỗ trợ, hãy xem Tham chiếu công cụ dựng sẵn.
Xem phần Cài đặt & Chạy máy chủ Toolbox để biết các phương thức thực thi khác nhau như Docker hoặc tệp nhị phân.
[!TIP] Đối với người dùng đang tìm kiếm một giải pháp được quản lý, Google Cloud MCP Servers cung cấp trải nghiệm MCP được quản lý với các công cụ dựng sẵn; bạn có thể tìm hiểu thêm về sự khác biệt tại đây.
Bắt đầu nhanh: Công cụ tùy chỉnh
Toolbox cũng có thể được sử dụng như một khung cho các công cụ tùy chỉnh.
Cách chính để cấu hình Toolbox là thông qua tệp tools.yaml. Nếu bạn
có nhiều tệp, bạn có thể cho Toolbox biết tệp nào cần tải bằng cờ --config tools.yaml.
Bạn có thể tìm thấy tài liệu tham chiếu chi tiết hơn cho tất cả các loại tài nguyên trong Tài nguyên.
Nguồn
Phần sources trong tools.yaml của bạn định nghĩa những nguồn dữ liệu mà
Toolbox của bạn nên có quyền truy cập. Hầu hết các công cụ sẽ có ít nhất một nguồn để
thực thi.
kind: source
name: my-pg-source
type: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: toolbox_user
password: my-password
Để biết thêm chi tiết về cách cấu hình các loại nguồn khác nhau, hãy xem Nguồn.
Công cụ
Phần tools trong tools.yaml định nghĩa các hành động mà tác nhân có thể thực hiện: đó là
loại công cụ gì, nó ảnh hưởng đến (những) nguồn nào, nó sử dụng tham số nào, v.v.
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 || '%';
Để biết thêm chi tiết về cách cấu hình các loại công cụ khác nhau, hãy xem Công cụ.
Bộ công cụ
Phần toolsets trong tools.yaml của bạn cho phép bạn định nghĩa các nhóm công cụ
mà bạn muốn có thể tải cùng nhau. Điều này có thể hữu ích để định nghĩa
các nhóm khác nhau dựa trên tác nhân hoặc ứng dụng.
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
Lời nhắc
Phần prompts trong tools.yaml định nghĩa các lời nhắc có thể được sử dụng cho
các tương tác với 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"
Để biết thêm chi tiết về cách cấu hình lời nhắc, hãy xem Lời nhắc.
Tài nguyên
Các phần resources và resourceTemplates trong tools.yaml của bạn định nghĩa nội dung chỉ đọc,
tệp hoặc cây thư mục có tham số mà các ứng dụng khách MCP có thể khám phá và truy xuất:
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"
Để biết thêm chi tiết về cách cấu hình tài nguyên và mẫu tài nguyên, hãy xem Tài nguyên.
Cài đặt & Chạy máy chủ Toolbox
Bạn có thể chạy Toolbox trực tiếp với một tệp cấu hình:
npx @toolbox-sdk/server --config tools.yaml
Lệnh này chạy phiên bản mới nhất của máy chủ Toolbox với tệp cấu hình của bạn.
[!NOTE] Phương thức này được tối ưu hóa cho sự tiện lợi hơn là hiệu suất. Để có một bản cài đặt tiêu chuẩn và đáng tin cậy hơn, vui lòng sử dụng tệp nhị phân hoặc hình ảnh container như được mô tả trong Cài đặt & Chạy máy chủ Toolbox.
Cài đặt Toolbox
Để biết phiên bản mới nhất, hãy xem trang phát hành và sử dụng các hướng dẫn sau cho hệ điều hành và kiến trúc CPU của bạn.
Tệp nhị phân
Để cài đặt Toolbox dưới dạng tệp nhị phân:
Linux (AMD64)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên Linux (AMD64):
# xem trang phát hành để biết các phiên bản khác export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox chmod +x toolboxmacOS (Apple Silicon)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên macOS (Apple Silicon):
# xem trang phát hành để biết các phiên bản khác export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox chmod +x toolboxmacOS (Intel)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên macOS (Intel):
# xem trang phát hành để biết các phiên bản khác export VERSION=1.15.0 curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox chmod +x toolboxWindows (Command Prompt)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên Windows (Command Prompt):
:: xem trang phát hành để biết các phiên bản khác set VERSION=1.15.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"Windows (PowerShell)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên Windows (PowerShell):
# xem trang phát hành để biết các phiên bản khác $VERSION = "1.15.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"Windows ARM64 (Command Prompt)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên Windows ARM64 (Command Prompt):
:: xem trang phát hành để biết các phiên bản khác set VERSION=1.15.0 curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/arm64/toolbox.exe"Windows ARM64 (PowerShell)
Để cài đặt Toolbox dưới dạng tệp nhị phân trên Windows ARM64 (PowerShell):
# xem trang phát hành để biết các phiên bản khác $VERSION = "1.15.0" curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/arm64/toolbox.exe"
Hình ảnh container
Bạn cũng có thể cài đặt Toolbox dưới dạng container:# see releases page for other versions
export VERSION=1.15.0
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
Homebrew
Để cài đặt Toolbox bằng Homebrew trên macOS hoặc Linux:
brew install mcp-toolbox
Biên dịch từ mã nguồn
Để cài đặt từ mã nguồn, hãy đảm bảo bạn có phiên bản mới nhất của Go được cài đặt, sau đó chạy lệnh sau:
go install github.com/googleapis/mcp-toolbox@v1.15.0
Gemini CLI
Xem [tiện ích mở rộng Gemini CLI](https://geminicli.com/extensions/) để cài đặt các công cụ dựng sẵn cho các cơ sở dữ liệu cụ thể như AlloyDB, BigQuery và Cloud SQL trực tiếp vào Gemini CLI.# 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
Tương tác với các công cụ tùy chỉnh của bạn bằng ngôn ngữ tự nhiên thông qua Gemini CLI.
# Install the extension
gemini extensions install https://github.com/gemini-cli-extensions/mcp-toolbox
Chạy Toolbox
Cấu hình một tools.yaml để định nghĩa các công cụ của bạn, sau đó
thực thi toolbox để khởi động máy chủ:
Tệp nhị phân
Để chạy Toolbox từ tệp nhị phân:
./toolbox --config "tools.yaml"
ⓘ Lưu ý Toolbox bật tải lại động theo mặc định. Để tắt, hãy sử dụng cờ
--disable-reload.
Hình ảnh container
Để chạy máy chủ sau khi kéo hình ảnh container:
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"
ⓘ Lưu ý Cờ
-vgắn kếttools.yamlcục bộ của bạn vào container, và-pánh xạ cổng5000của container tới cổng5000của máy chủ của bạn.
Mã nguồn
Để chạy máy chủ trực tiếp từ mã nguồn, hãy điều hướng đến thư mục gốc của dự án và chạy:
go run .
ⓘ Lưu ý Lệnh này chạy dự án từ mã nguồn và phù hợp hơn cho việc phát triển và kiểm thử. Nó không biên dịch tệp nhị phân vào
$GOPATHcủa bạn. Nếu bạn muốn biên dịch tệp nhị phân thay vào đó, hãy tham khảo Tài liệu dành cho nhà phát triển.
Homebrew
Nếu bạn đã cài đặt Toolbox bằng Homebrew, thì binary toolbox
có sẵn trong đường dẫn hệ thống của bạn. Bạn có thể khởi động server bằng cùng
lệnh:
toolbox --config "tools.yaml"
NPM
Để chạy Toolbox trực tiếp mà không cần tải binary thủ công (yêu cầu Node.js):
npx @toolbox-sdk/server --config tools.yaml
Gemini CLI
Sau khi cài đặt [tiện ích mở rộng Gemini CLI](https://geminicli.com/extensions/), các công cụ dựng sẵn sẽ có sẵn trong quá trình sử dụng.# Run Gemini CLI
gemini
# List extensions
/extensions list
# List MCP servers
/mcp list
Bạn có thể dùng toolbox help để xem danh sách đầy đủ các cờ! Để dừng server, hãy gửi
tín hiệu kết thúc (ctrl+c trên hầu hết các nền tảng).
Để xem tài liệu chi tiết hơn về triển khai đến các môi trường khác nhau, hãy xem các tài nguyên trong mục Triển khai Toolbox
Kết nối với Toolbox
Khi server Toolbox của bạn đã chạy, bạn có thể nạp các công cụ vào ứng dụng hoặc client tương thích MCP của mình.
MCP Client
Thêm cấu hình sau vào cấu hình client MCP của bạn:
{
"mcpServers": {
"toolbox": {
"type": "http",
"url": "http://127.0.0.1:5000/mcp",
}
}
}
Nếu bạn muốn kết nối đến một toolset cụ thể, hãy thay url bằng "http://127.0.0.1:5000/mcp/{toolset_name}".
Toolbox SDKs: Tích hợp với Ứng dụng của bạn
Các Toolbox Client SDK cung cấp các khối xây dựng dễ sử dụng và các tính năng nâng cao để kết nối ứng dụng tùy chỉnh của bạn với server MCP Toolbox. Xem danh sách Client SDK bên dưới để sử dụng với nhiều framework khác nhau:
Python (Github)
Core
Cài đặt Toolbox Core SDK:
pip install toolbox-coreNạp các công cụ:
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")Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox Core SDK, hãy xem README của dự án.
LangChain / LangGraph
Cài đặt Toolbox LangChain SDK:
pip install toolbox-langchainNạp các công cụ:
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()Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox LangChain SDK, hãy xem README của dự án.
LlamaIndex
Cài đặt Toolbox Llamaindex SDK:
pip install toolbox-llamaindexNạp các công cụ:
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()Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox Llamaindex SDK, hãy xem README của dự án.
Javascript/Typescript (Github)
Core
Cài đặt Toolbox Core SDK:
npm install @toolbox-sdk/coreNạp các công cụ:
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');Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox Core SDK, hãy xem README của dự án.
LangChain / LangGraph
Cài đặt Toolbox Core SDK:
npm install @toolbox-sdk/coreNạp các công cụ:
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
Cài đặt Toolbox Core SDK:
npm install @toolbox-sdk/coreNạp các công cụ:
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
Cài đặt Toolbox ADK SDK:
npm install @toolbox-sdk/adkNạp các công cụ:
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');Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox ADK SDK, hãy xem README của dự án.
Go (Github)
Core
Cài đặt Toolbox Go SDK:
go get github.com/googleapis/mcp-toolbox-sdk-goNạp các công cụ:
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) }Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox Go SDK, hãy xem README của dự án.
LangChain Go
Cài đặt Toolbox Go SDK:
go get github.com/googleapis/mcp-toolbox-sdk-goNạp các công cụ:
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, ¶msSchema) // Use this tool with LangChainGo langChainTool := llms.Tool{ Type: "function", Function: &llms.FunctionDefinition{ Name: tool.Name(), Description: tool.Description(), Parameters: paramsSchema, }, } }Genkit
Cài đặt Toolbox Go SDK:
go get github.com/googleapis/mcp-toolbox-sdk-goNạp các công cụ:
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
Cài đặt Toolbox Go SDK:
go get github.com/googleapis/mcp-toolbox-sdk-goNạp các công cụ:
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
Cài đặt Toolbox Go SDK:
go get github.com/googleapis/mcp-toolbox-sdk-goNạp các công cụ:
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, ¶msSchema) // Use this tool with OpenAI Go openAITool := openai.ChatCompletionToolParam{ Function: openai.FunctionDefinitionParam{ Name: tool.Name(), Description: openai.String(tool.Description()), Parameters: paramsSchema, }, } }ADK Go
Cài đặt Toolbox Go SDK:
go get github.com/googleapis/mcp-toolbox-sdk-goNạp các công cụ:
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) } }Để xem hướng dẫn chi tiết hơn về cách sử dụng Toolbox Go SDK, hãy xem README của dự án.
Các tính năng bổ sung
Kiểm thử công cụ với Toolbox UI
Để khởi chạy giao diện tương tác của Toolbox, hãy dùng cờ --ui. Điều này cho phép bạn kiểm thử
các công cụ và toolset với các tính năng như tham số được ủy quyền. Để tìm hiểu thêm,
hãy truy cập Toolbox UI.
./toolbox --ui
Telemetry
Toolbox phát ra các trace và metric thông qua OpenTelemetry. Dùng --telemetry-otlp=<endpoint>
để xuất đến bất kỳ backend tương thích OTLP nào như Google Cloud Monitoring, Agnost AI, hoặc
các backend khác. Xem tài liệu telemetry để biết chi tiết.
Tạo Agent Skills
Lệnh skills-generate cho phép bạn chuyển đổi một toolset thành một Agent Skill tương thích với đặc tả Agent Skill. Điều này hữu ích để phân phối các công cụ dưới dạng các gói skill di động.
toolbox --config tools.yaml skills-generate \
--name "my-skill" \
--toolset "my_toolset" \
--description "A skill containing multiple tools"
Sau khi tạo, bạn có thể cài đặt skill vào Gemini CLI:
gemini skills install ./skills/my-skill
Để biết thêm chi tiết, xem hướng dẫn Tạo Skills. Để phục vụ một skill bạn đã có qua MCP, xem Phục vụ Skills qua MCP.
Kho lưu trữ cũng cung cấp sẵn các Agent Skills dùng ngay (ví dụ: quy trình làm việc của maintainer). Xem skills/ để biết danh mục và hướng dẫn cài đặt.
Đánh phiên bản
MCP Toolbox for Databases tuân theo Semantic Versioning.
Public API bao gồm Toolbox Server (CLI, manifest cấu hình và các toolset dựng sẵn) và các Client SDK.
- Phiên bản major được tăng cho các thay đổi phá vỡ tương thích, chẳng hạn như thay đổi CLI hoặc manifest không tương thích.
- Phiên bản minor được tăng cho các tính năng mới, bao gồm các sửa đổi đối với toolset dựng sẵn hoặc các tính năng beta.
- Phiên bản patch được tăng cho các bản sửa lỗi tương thích ngược.
Để biết thêm chi tiết, bao gồm Chính sách Gắn thẻ Container của chúng tôi, hãy xem Chính sách Đánh phiên bản Đầy đủ.
Đóng góp
Chúng tôi hoan nghênh các đóng góp. Vui lòng xem hướng dẫn CONTRIBUTING để bắt đầu.
Để biết chi tiết kỹ thuật về việc thiết lập môi trường phát triển trên chính Toolbox, hãy xem hướng dẫn DEVELOPER.
Xin lưu ý rằng dự án này được phát hành kèm theo Contributor Code of Conduct. Bằng việc tham gia dự án này, bạn đồng ý tuân thủ các điều khoản của nó. Xem Contributor Code of Conduct để biết thêm thông tin.
Cộng đồng
Tham gia cộng đồng Discord của chúng tôi để kết nối với các nhà phát triển!
