Notes MCP Server
README.md
# MCP-сервери: Notes і Git
Два MCP-сервери для підключення до Claude Desktop.
Почав з Notes, але було ще цікаво git спробувати.
## Встановлення
**Вимоги:** Python 3.10+, пакет `mcp`
```bash
pip install mcp
```
Додати до `claude_desktop_config.json` (`%APPDATA%\Claude\claude_desktop_config.json`):
```json
{
"mcpServers": {
"notes": {
"command": "python",
"args": ["шлях/до/notes_server.py"]
},
"git": {
"command": "python",
"args": ["шлях/до/git_server.py"],
"env": { "GIT_REPO_PATH": "шлях/до/репозиторію" }
}
}
}
```
Перезапустити Claude Desktop.
---
## Notes Server
Зберігає нотатки у `~/.mcp_notes/notes.json`.
### Tools
| Tool | Аргументи | Опис |
|------|-----------|------|
| `create_note` | `title`, `content` (обов'язкові), `tags` (опційно) | Створити нотатку |
| `update_note` | `title` (обов'язковий), `content`, `tags` (опційно) | Оновити нотатку |
| `delete_note` | `title` (обов'язковий) | Видалити нотатку |
| `search_notes` | `query` (обов'язковий), `tag` (опційно) | Пошук по тексту та тегах |
### Resources
| Resource | Опис |
|----------|------|
| `notes://all` | Всі нотатки у форматі Markdown |
| `notes://{title}` | Одна нотатка за назвою |
### Приклади діалогів
**Створення нотатки:**
> Збережи нотатку "Покупки" з текстом "Молоко, хліб, яйця, кава" і тегом "особисте".
**Пошук:**
> Знайди всі нотатки з тегом "особисте".
**Оновлення:**
> Онови нотатку "Покупки" — додай до списку "масло".
### Обмеження
- Нотатки зберігаються в одному JSON-файлі — не підходить для паралельного запису
- Пошук — простий збіг підрядка, без нечіткого пошуку
- `notes://all` повертає всі нотатки одразу, без пагінації
- Назви нотаток унікальні — дублікати не допускаються
---
## Git Server
Дозволяє переглядати стан репозиторію і робити коміти. Репозиторій задається через `GIT_REPO_PATH` або аргументом `repo_path`.
### Tools
| Tool | Аргументи | Опис |
|------|-----------|------|
| `git_status` | `repo_path` (опційно) | Статус робочого дерева |
| `git_log` | `repo_path`, `limit` (опційно) | Історія комітів |
| `git_diff` | `repo_path`, `file` (опційно) | Незбережені зміни |
| `git_commit` | `message` (обов'язковий), `repo_path`, `files` (опційно) | Зробити коміт |
### Resources
| Resource | Опис |
|----------|------|
| `git://log` | Останні 10 комітів репозиторію за замовчуванням |
### Приклади діалогів
**Статус:**
> Який зараз статус репозиторію?
**Коміт:**
> Зроби коміт усіх змін з повідомленням "fix: виправлено валідацію форми".
**Перегляд змін:**
> Покажи що змінилось у файлі main.py.
### Обмеження
- Тільки локальні операції — `push`, `fetch`, `pull` не підтримуються
- `GIT_REPO_PATH` має бути задано — автовизначення директорії відсутнє
- `git://log` працює лише якщо задано `GIT_REPO_PATH`, повертає 10 комітів
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues