Monorepo с MCP Framework пакетами и MCP серверами для различных сервисов
Этот репозиторий содержит:
- MCP Серверы — готовые серверы для Yandex Tracker, Yandex Wiki, TickTick
- MCP Framework — переиспользуемые пакеты для создания MCP инструментов
Готовые бандлы для установки в MCP клиенты (Claude Desktop и др.):
| Сервер | Описание | Скачать |
|---|---|---|
| Yandex Tracker | Интеграция с Yandex.Tracker API | ⬇️ mcp-server-yandex-tracker.mcpb |
| Yandex Wiki | Интеграция с Yandex Wiki API | ⬇️ mcp-server-yandex-wiki.mcpb |
| TickTick | Интеграция с TickTick API | ⬇️ mcp-server-ticktick.mcpb |
💡 Все бандлы также доступны на странице GitHub Releases
Скачай готовый .mcpb бандл по ссылкам выше и установи его напрямую в Claude Desktop.
⚠️ MCPB формат пока поддерживается только Claude Desktop
# Установи нужный сервер глобально
npm install -g mcp-server-yandex-tracker # Yandex Tracker
npm install -g mcp-server-yandex-wiki # Yandex Wiki
npm install -g mcp-server-ticktick # TickTick
# Запусти интерактивную настройку
mcp-server-yandex-tracker connect
mcp-server-yandex-wiki connect
mcp-server-ticktick connectCLI проведёт через настройку и автоматически добавит сервер в конфигурацию выбранного клиента.
Поддерживаемые клиенты: Claude Desktop, Claude Code, Codex, Gemini, Qwen
Ручная настройка — см. README соответствующего пакета в разделе Пакеты.
💡 Нет Node.js? Установи через fnm (рекомендуется) или nodejs.org
| Пакет | Описание |
|---|---|
| @fractalizer/mcp-server-yandex-tracker | MCP сервер для Yandex.Tracker API (v2/v3) |
| @fractalizer/mcp-server-yandex-wiki | MCP сервер для Yandex Wiki API |
| @fractalizer/mcp-server-ticktick | MCP сервер для TickTick API |
| Пакет | Описание |
|---|---|
| @fractalizer/mcp-infrastructure | HTTP клиент, кэш, логирование, async утилиты |
| @fractalizer/mcp-cli | Универсальный CLI для MCP подключений |
| @fractalizer/mcp-core | Базовые классы, система типов, реестр инструментов |
| @fractalizer/mcp-search | Поисковый движок с compile-time индексацией |
packages/
├── framework/
│ ├── infrastructure/ → @fractalizer/mcp-infrastructure
│ ├── cli/ → @fractalizer/mcp-cli
│ ├── core/ → @fractalizer/mcp-core
│ └── search/ → @fractalizer/mcp-search
└── servers/
├── yandex-tracker/ → @fractalizer/mcp-server-yandex-tracker
├── yandex-wiki/ → @fractalizer/mcp-server-yandex-wiki
└── ticktick/ → @fractalizer/mcp-server-ticktick
Граф зависимостей:
infrastructure (0 зависимостей)
↓
cli (зависит от infrastructure)
↓
core (зависит от infrastructure)
↓
search (зависит от core)
↓
yandex-tracker (зависит от всех framework пакетов)
Подробности: ARCHITECTURE.md
# Клонируй и настрой
git clone https://github.com/FractalizeR/mcp_server_yandex_tracker.git
cd mcp_server_yandex_tracker
npm install
npm run build
npm run testЧитай руководство: .github/CONTRIBUTING.md
npm install @fractalizer/mcp-infrastructure
npm install @fractalizer/mcp-core
npm install @fractalizer/mcp-searchПримеры использования: см. README.md в каждом пакете.
# Установить все зависимости
npm install
# Собрать все пакеты (топологический порядок)
npm run build
# Протестировать все пакеты
npm run test
# Валидация всего monorepo
npm run validate
# Очистить все пакеты
npm run clean# Собрать один пакет
npm run build --workspace=@fractalizer/mcp-core
# Протестировать один пакет
npm run test --workspace=mcp-server-yandex-tracker
# Все команды пакета
cd packages/servers/yandex-tracker
npm run <script># Добавить зависимость в конкретный пакет
npm install axios --workspace=@fractalizer/mcp-infrastructure
# Добавить framework пакет в yandex-tracker
cd packages/servers/yandex-tracker
npm install @fractalizer/mcp-core- CLAUDE.md — руководство для ИИ агентов
- ARCHITECTURE.md — обзор архитектуры
- .github/CONTRIBUTING.md — руководство для контрибьюторов
- Infrastructure: packages/framework/infrastructure/README.md
- CLI: packages/framework/cli/README.md
- Core: packages/framework/core/README.md
- Search: packages/framework/search/README.md
- Yandex Tracker: packages/servers/yandex-tracker/README.md
Запустить все тесты:
npm run testС покрытием:
npm run test:coverageДля конкретного пакета:
npm run test --workspace=@fractalizer/mcp-coreWatch режим:
cd packages/servers/yandex-tracker
npm run test:watchЛинтинг:
npm run lint # Проверить все пакеты
npm run lint:fix # Исправить автоматическиПроверка типов:
npm run typecheck # Проверить все пакетыВалидация архитектуры:
npm run depcruise # Валидация графа зависимостей
npm run depcruise:graph # Сгенерировать визуальный графАудит безопасности:
npm run audit:socket # Анализ supply-chain
npm run audit:secrets # Сканирование секретов
npm run audit:lockfile # Проверка package-lock.jsonПоиск мертвого кода:
npm run knip # Найти неиспользуемые файлы/экспорты/зависимостиFramework пакеты (@mcp-framework/*) публикуются в npm registry.
Пакет приложения (mcp-server-yandex-tracker) публикуется в npm registry.
Управление версиями:
- Используется Changesets
- Автоматизировано через GitHub Actions при merge в main
Ручная публикация (при необходимости):
# Создать changeset
npx changeset add
# Обновить версии
npx changeset version
# Опубликовать (из main ветки)
npm run publish:allМы приветствуем вклад в проект! Пожалуйста, прочитай:
- .github/CONTRIBUTING.md — процесс контрибьюции
- CLAUDE.md — соглашения о коде и правила архитектуры
- ARCHITECTURE.md — понимание кодовой базы
Быстрый чек-лист:
- Форкни и создай feature ветку
- Следуй соглашениям о коде (см. CLAUDE.md)
- Добавь тесты (покрытие ≥80%)
- Запусти
npm run validateперед коммитом - Напиши понятные сообщения коммитов
- Открой Pull Request
MIT License — свободное использование, модификация и распространение.
См. LICENSE для подробностей.
- GitHub: https://github.com/FractalizeR/mcp_server_yandex_tracker
- Releases: https://github.com/FractalizeR/mcp_server_yandex_tracker/releases
- Issues: https://github.com/FractalizeR/mcp_server_yandex_tracker/issues
- MCP спецификация: https://github.com/anthropics/mcp
- Yandex.Tracker API: https://cloud.yandex.ru/docs/tracker/about-api
Нашел баг или есть вопрос?
- Проверь issues
- Прочитай документацию пакетов (README.md в каждом пакете)
- Создай новый issue с подробностями
Хочешь помочь?
- Поставь звезду на GitHub
- Сообщи о баге
- Предложи новую фичу
- Сделай Pull Request
Сделано с любовью для MCP сообщества