API плагинов
Расширьте Gemini CLI с помощью MCP-серверов, пользовательских инструментов и мощных интеграций. Подключайтесь к базам данных, API, файловым системам и многому другому, используя протокол контекста модели.
Архитектура расширений
Gemini CLI использует протокол контекста модели (MCP) для предоставления стандартизированного способа подключения ИИ-помощников к внешним инструментам и источникам данных.
MCP серверы
Автономные процессы, которые предоставляют инструменты и ресурсы через протокол контекста модели
Интеграция инструментов
Бесшовно интегрируйте внешние инструменты и сервисы в ваши ИИ-рабочие процессы
Пользовательская разработка
Создавайте собственные MCP-серверы для расширения Gemini CLI пользовательской функциональностью
Типы MCP серверов
Изучите различные типы MCP-серверов и их возможности
Серверы файловой системы
Серверы, предоставляющие доступ к файловой системе и операции
filesystem
Чтение, запись и управление файлами и каталогами
Возможности:
git
Операции Git-репозитория и контроль версий
Возможности:
Веб и API серверы
Серверы, взаимодействующие с веб-сервисами и API
web-search
Поиск в интернете и получение информации
Возможности:
github
Интеграция GitHub API для управления репозиториями
Возможности:
Серверы баз данных
Серверы, предоставляющие подключение к базе данных и операции
sqlite
Операции базы данных SQLite
Возможности:
postgres
Интеграция базы данных PostgreSQL
Возможности:
Примеры конфигурации
Узнайте, как настроить 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Установите пакет 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 и начните использовать
Связанные ресурсы
Узнайте больше о разработке MCP-серверов и плагинов