agent-second-brain/docs/mcp-cli-setup.md

195 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MCP через mcp-cli
Стабильное подключение к MCP серверам через mcp-cli вместо прямого протокола.
## Зачем это нужно
MCP протокол напрямую иногда отваливается. mcp-cli решает эту проблему:
- **Connection pooling** - daemon держит соединения
- **Auto-retry** - автоматические повторы при сетевых ошибках
- **Стабильность** - работа через bash надёжнее чем MCP протокол напрямую
## Как это работает
```
До:
Claude → MCP Protocol → Todoist MCP Server → Todoist API
(отваливается)
После:
Claude → Bash → mcp-cli → Todoist MCP Server → Todoist API
(daemon, retry, pooling)
```
---
## Установка
### 1. Установите mcp-cli
```bash
curl -fsSL https://raw.githubusercontent.com/philschmid/mcp-cli/main/install.sh | bash
```
Проверка:
```bash
~/.local/bin/mcp-cli --version
# mcp-cli v0.3.0
```
### 2. Создайте конфиг
```bash
mkdir -p ~/.config/mcp
cat > ~/.config/mcp/mcp_servers.json << 'EOF'
{
"mcpServers": {
"todoist": {
"command": "npx",
"args": ["-y", "@doist/todoist-ai"],
"env": {
"TODOIST_API_KEY": "${TODOIST_API_KEY}"
}
}
}
}
EOF
```
### 3. Добавьте токены в shell
```bash
# Добавить в ~/.bashrc
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export TODOIST_API_KEY="ваш_токен"' >> ~/.bashrc
source ~/.bashrc
```
### 4. Уберите прямое MCP подключение из Claude
```bash
# Удалить прямое MCP подключение
claude mcp remove todoist
```
Проверить что удалено:
```bash
claude mcp list
# todoist НЕ должен быть в списке
```
Теперь Claude работает через mcp-cli (bash), а не через MCP протокол напрямую.
---
## Проверка
```bash
# Список инструментов (24 шт)
mcp-cli info todoist
# Тест - задачи на сегодня
mcp-cli call todoist find-tasks-by-date '{"startDate": "today"}'
# Обзор всех проектов
mcp-cli call todoist get-overview '{}'
```
---
## Todoist Tools (24)
### Задачи
| Tool | Описание |
|------|----------|
| `add-tasks` | Создать задачи |
| `update-tasks` | Обновить задачи |
| `complete-tasks` | Завершить задачи |
| `find-tasks` | Поиск по тексту/проекту/label |
| `find-tasks-by-date` | Задачи по дате |
| `find-completed-tasks` | Завершённые задачи |
### Проекты и секции
| Tool | Описание |
|------|----------|
| `add-projects` | Создать проекты |
| `update-projects` | Обновить проекты |
| `find-projects` | Поиск проектов |
| `add-sections` | Создать секции |
| `update-sections` | Обновить секции |
| `find-sections` | Секции проекта |
### Комментарии и коллаборация
| Tool | Описание |
|------|----------|
| `add-comments` | Добавить комментарии |
| `update-comments` | Обновить комментарии |
| `find-comments` | Найти комментарии |
| `find-project-collaborators` | Участники проекта |
| `manage-assignments` | Bulk назначение |
### Общее
| Tool | Описание |
|------|----------|
| `get-overview` | Обзор (markdown) |
| `find-activity` | Лог активности |
| `delete-object` | Удалить объект |
| `fetch-object` | Получить объект |
| `user-info` | Инфо о пользователе |
| `search` | Универсальный поиск |
| `fetch` | Получить по ID |
---
## Примеры команд
### Задачи на сегодня
```bash
mcp-cli call todoist find-tasks-by-date '{"startDate": "today"}'
```
### Создать задачу
```bash
mcp-cli call todoist add-tasks '{"tasks": [{"content": "Тест задача", "dueString": "tomorrow", "priority": 2}]}'
```
### Завершить задачу
```bash
mcp-cli call todoist complete-tasks '{"ids": ["task_id_here"]}'
```
### Поиск задач
```bash
mcp-cli call todoist find-tasks '{"searchText": "проект"}'
```
### Обзор проекта
```bash
mcp-cli call todoist get-overview '{"projectId": "project_id"}'
```
### Найти проекты
```bash
mcp-cli call todoist find-projects '{"search": "Work"}'
```
---
## Отладка
```bash
MCP_DEBUG=1 mcp-cli call todoist find-tasks-by-date '{"startDate": "today"}'
```
---
## Требования
- Node.js 18+ (для npx)
- Todoist API Token (Settings → Integrations → Developer)