插件 API
使用 MCP 服务器、自定义工具和强大的集成扩展 Gemini CLI。通过模型上下文协议连接到数据库、API、文件系统等。
MCP 协议自定义服务器工具集成
扩展架构
Gemini CLI 使用模型上下文协议 (MCP) 提供标准化的方式来连接 AI 助手与外部工具和数据源。
MCP 服务器
通过模型上下文协议公开工具和资源的独立进程
工具集成
将外部工具和服务无缝集成到您的 AI 工作流程中
自定义开发
构建您自己的 MCP 服务器以使用自定义功能扩展 Gemini CLI
MCP 服务器类型
探索不同类型的 MCP 服务器及其功能
文件系统服务器
提供文件系统访问和操作的服务器
filesystem
读取、写入和管理文件和目录
功能:
read_filewrite_filelist_directorycreate_directory
git
Git 仓库操作和版本控制
功能:
git_statusgit_commitgit_branchgit_log
Web 和 API 服务器
与 Web 服务和 API 交互的服务器
web-search
搜索网络并检索信息
功能:
web_searchfetch_urlextract_content
github
GitHub API 集成用于仓库管理
功能:
list_reposcreate_issueget_pull_requests
数据库服务器
提供数据库连接和操作的服务器
sqlite
SQLite 数据库操作
功能:
execute_querycreate_tableinsert_data
postgres
PostgreSQL 数据库集成
功能:
querytransactionschema_info
配置示例
了解如何在 Gemini CLI 设置中配置 MCP 服务器
基本配置
将 MCP 服务器添加到您的 .gemini/config.json
文件:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
},
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/path/to/repo"]
},
"web-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-web-search"]
}
}
}
高级配置
使用环境变量和高级选项配置自定义服务器:
{
"mcpServers": {
"custom-database": {
"command": "node",
"args": ["./custom-mcp-server.js"],
"env": {
"DATABASE_URL": "postgresql://localhost:5432/mydb",
"API_KEY": "your-api-key"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-token"
}
}
}
}
开发配置
用于本地开发和调试的配置:
{
"mcpServers": {
"local-dev": {
"command": "node",
"args": ["./dev-server.js"],
"cwd": "/path/to/development/server",
"env": {
"NODE_ENV": "development",
"DEBUG": "mcp:*"
}
}
}
}
自定义 MCP 服务器开发
构建您自己的 MCP 服务器以使用自定义功能扩展 Gemini CLI
完整的 MCP 服务器示例
这是一个完整的自定义 MCP 服务器示例,您可以将其用作起点:
#!/usr/bin/env node
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from '@modelcontextprotocol/sdk/types.js';
class CustomMCPServer {
constructor() {
this.server = new Server(
{
name: 'custom-server',
version: '0.1.0',
},
{
capabilities: {
tools: {},
},
}
);
this.setupToolHandlers();
}
setupToolHandlers() {
// 列出可用工具
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: 'custom_tool',
description: '执行特定操作的自定义工具',
inputSchema: {
type: 'object',
properties: {
input: {
type: 'string',
description: '自定义操作的输入',
},
},
required: ['input'],
},
},
],
};
});
// 处理工具调用
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { name, arguments: args } = request.params;
if (name === 'custom_tool') {
const result = await this.performCustomOperation(args.input);
return {
content: [
{
type: 'text',
text: `自定义操作结果: ${result}`,
},
],
};
}
throw new Error(`未知工具: ${name}`);
});
}
async performCustomOperation(input) {
// 您的自定义逻辑在这里
return `已处理: ${input}`;
}
async run() {
const transport = new StdioServerTransport();
await this.server.connect(transport);
console.error('自定义 MCP 服务器在 stdio 上运行');
}
}
const server = new CustomMCPServer();
server.run().catch(console.error);
入门指南
开始使用和开发 MCP 服务器的快速步骤
使用现有服务器
- 1安装 MCP 服务器包:
npm install -g @modelcontextprotocol/server-filesystem
- 2将服务器添加到您的
.gemini/config.json
- 3重启 Gemini CLI 以加载新服务器
- 4使用
/mcp
命令列出可用服务器
开发自定义服务器
- 1安装 MCP SDK:
npm install @modelcontextprotocol/sdk
- 2使用上面的示例创建您的服务器
- 3使用 MCP 检查器测试您的服务器
- 4在 Gemini CLI 中配置它并开始使用