# Active Context — Текущее состояние работы ## 📍 Где мы находимся ### Состояние проекта **LazyBear MCP Server** находится на этапе **Development**. Сервер предоставляет MCP инструменты для работы с: - ✅ **Jira** — Issues, JQL, комментарии - ✅ **Confluence** — Страницы, пространства - ✅ **Kubernetes** — Deployments, Pods, Services, Ingress - ✅ **TUI** — Интерактивная консольная панель ### Последнее обновление кода **Commit**: `d12e9873f0964f2c275a634cda80b161c83f9bbb` ### Текущий фокус **Активная разработка**: Инициализация Memory Bank для поддержания документации между сессиями. **Следующие шаги**: 1. ✅ Создать Memory Bank структуру 2. 🔄 Продолжить документирование архитектуры и паттернов 3. ⏳ Обновлять Memory Bank после значимых изменений 4. ⏳ Добавить Qdrant в Memory Bank ## 🔍 Важные решения ### Архитектурные паттерны | Паттерн | Описание | Где используется | |---------|----------|------------------| | **Single HTTP Server** | Один транспорт MCP | Program.cs — один AddMcpServer | | **Tool Registry** | Регистрация модулей | ToolRegistryService.RegisterModule | | **Client Provider** | Factory для клиентов | K8sClientProvider, JiraClientProvider | | **TUI First** | TUI как основной UI | RazorConsole в Program.cs | ### Технические решения - **MCP Protocol 1.2.0** — HTTP transport - **.NET 10 SDK** — Пин в global.json - **ASP.NET Core 9** — HTTP server - **RazorConsole** — TUI framework - **Kubernetes Client** — Через kubeconfig ### Конфигурация **appsettings.json**: ```json { "Kubernetes": { "KubeconfigPath": "", // Fallback к defaults "DefaultNamespace": "default" }, "Jira": { "Url": "", // Требуется для Jira tools "Token": "", "Project": "" }, "Confluence": { "Url": "", "Token": "", "Username": "", "SpaceKey": "" }, "Qdrant": { "Url": "", // URL Qdrant сервера "ApiKey": "", // Опционально для авторизации "DefaultCollection": "knowledge" // Default коллекция для векторного поиска } } ``` ## 🚧 Текущая работа ### Что работает - ✅ MCP HTTP transport активен - ✅ TUI запуск через RazorConsole - ✅ Инструменты Jira/Confluence/Kubernetes зарегистрированы - ✅ Локализация RU/EN (клавиша L) ### Что в разработке/тестировании - 🔄 Memory Bank инициализация - ⏳ Тестирование через MCP Inspector - ⏳ Интеграция с IDE (Codex, VS Code) ### Известные проблемы - Jira требует настройки `Jira:Url` - Kubernetes: пустой `KubeconfigPath` использует fallback - Razor Pages в `Pages/` не активирован (не используется) ## 📋 Следующие действия ### Приоритет 1: Конфигурация ```bash # Настроить Jira Jira:Url=https://your-jira.url Jira:Token=your-token Jira:Project=LAZYBEAR # Настроить K8s Kubernetes:KubeconfigPath=~/.kube/config ``` ### Приоритет 2: Тестирование ```bash # Запустить сервер dotnet run --project LazyBear.MCP # Открыть MCP Inspector npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCP ``` ### Приоритет 3: Документация - 📝 Обновлять activeContext.md после значимых изменений - 📝 Добавлять секции в systemPatterns.md при введении новых паттернов ## 💡 Выводы и наблюдения ### Изученное о проекте 1. **Проект уже полностью функционален** — все модули готовы 2. **TUI First подход** — основной UI консольный, HTTP в фоне 3. **Minimal API Style** — чистый код, DI через сервисы 4. **Локализация встроена** — RU/EN переключение через клавишу ### Предпочтения проекта - **Комментарии и сообщения**: Русский язык - **Код и переменные**: Английский язык - **Style**: Clean code, minimal abstractions - **Documentation**: Markdown в memory-bank/ ### Важные уроки - MCP tools авт. регистрируются из assembly через `WithToolsFromAssembly()` - IToolModule интерфейсы — способ добавлять новые инструменты - RazorConsole управляет консолью, HTTP host работает в фоне --- *Файл автоматически обновляется при значимых изменениях проекта. Читать при начале новой сессии.*