API плагинов

Расширьте Gemini CLI с помощью MCP-серверов, пользовательских инструментов и мощных интеграций. Подключайтесь к базам данных, API, файловым системам и многому другому, используя протокол контекста модели.

Протокол MCPПользовательские серверыИнтеграция инструментов

Архитектура расширений

Gemini CLI использует протокол контекста модели (MCP) для предоставления стандартизированного способа подключения ИИ-помощников к внешним инструментам и источникам данных.

MCP серверы

Автономные процессы, которые предоставляют инструменты и ресурсы через протокол контекста модели

Интеграция инструментов

Бесшовно интегрируйте внешние инструменты и сервисы в ваши ИИ-рабочие процессы

Пользовательская разработка

Создавайте собственные MCP-серверы для расширения Gemini CLI пользовательской функциональностью

Типы MCP серверов

Изучите различные типы MCP-серверов и их возможности

Серверы файловой системы

Серверы, предоставляющие доступ к файловой системе и операции

filesystem

Чтение, запись и управление файлами и каталогами

Возможности:
read_filewrite_filelist_directorycreate_directory

git

Операции Git-репозитория и контроль версий

Возможности:
git_statusgit_commitgit_branchgit_log

Веб и API серверы

Серверы, взаимодействующие с веб-сервисами и 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

Примеры конфигурации

Узнайте, как настроить MCP-серверы в вашей конфигурации Gemini CLI

Базовая конфигурация

Добавьте 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-серверов и плагинов