插件 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. 1安装 MCP 服务器包: npm install -g @modelcontextprotocol/server-filesystem
  2. 2将服务器添加到您的 .gemini/config.json
  3. 3重启 Gemini CLI 以加载新服务器
  4. 4使用 /mcp 命令列出可用服务器

开发自定义服务器

  1. 1安装 MCP SDK: npm install @modelcontextprotocol/sdk
  2. 2使用上面的示例创建您的服务器
  3. 3使用 MCP 检查器测试您的服务器
  4. 4在 Gemini CLI 中配置它并开始使用

相关资源

探索更多关于 MCP 服务器和插件开发的内容