diff --git a/AGENTS.md b/AGENTS.md index a835596..e977cac 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,28 +1,95 @@ # AGENTS.md -## Execution Model (MUST) -- Read this file first; treat as system-level constraints. -- Reusable general rules (MUST read and apply): [AGENT.common.md](AGENT.common.md) -- Reusable structured interaction rules: [AGENT.interaction.md](AGENT.interaction.md) -- Priority: - 1. User instructions - 2. AGENTS.md - 3. Applicable referenced reusable rule files - 4. Existing code/style - 5. Best practices -- Prefer minimal, non-breaking changes. -- Do not introduce unnecessary abstractions. +## Описание проекта: LazyBear MCP + +### Назначение +.NET 10 сервер Model Context Protocol (MCP) для интеграции торговых AI-инструментов. + +### Структура проекта +``` +LazyBearWorks/ +├── LazyBear.MCP/ +│ ├── Program.cs # Главный файл с хостингом MCP сервера +│ └── Services/ +│ └── TradingTools.cs # Реализация инструментов MCP +├── AGENTS.md # Этот файл, правила для агентов +└── README.md # Документация для пользователей +``` + +### Основные концепты + +**Масштабирование (Hosting):** +- ASP.NET Core веб-приложение (.NET 10.0) +- HTTP transport для удалённой MCP коммуникации +- Авто-обнаружение `[McpServerToolType]` и `[McpServerResourceType]` + +**Технологический стек:** +- **Runtime:** .NET 10.0 +- **Framework:** ASP.NET Core +- **SDK:** ModelContextProtocol.AspNetCore 1.2.0 +- **AI:** Microsoft.Extensions.AI + +**Особенности MCP:** +- **Инструменты (Tools):** Статические классы с атрибутами `[McpServerTool]` +- **Ресурсы (Resources):** Шаблоны ресурсов с атрибутами `[McpServerResource]` +- **Промпты (Prompts):** Параметризованные промпты (в разработке) + +### Запуск + +**Запустить сервер:** +```bash +dotnet run --project LazyBear.MCP +``` + +**Собрать проект:** +```bash +dotnet build +``` + +### Пакеты +- `ModelContextProtocol` - основной SDK +- `ModelContextProtocol.AspNetCore` - интеграция с ASP.NET Core +- `Microsoft.Extensions.AI` - абстракции AI --- -## Guardrails (MUST) +## Правила для машин (MACHINE-FIRST) -Before commit: -- no secrets or sensitive data -- build passes locally -- tests pass +### Обязательные правила (MUST) + +**Перед модификацией:** +1. Прочитать существующий код +2. Сохранять текущий стиль и паттерны +3. Минимизировать изменения +4. Не добавлять секреты в код + +**Перед коммитом:** +1. Сборка `dotnet build` должна проходить локально +2. Изменения не должны ломать MCP протокол +3. Код в Git только после проверки сборки +4. Комментарии, документация и коммиты — только на русском + +### Build & Deploy +- Локальная сборка обязана проходить +- Без ломающих изменений в MCP +- Коммиты с проверкой сборки --- -## Rules Maintenance (MUST) -- Keep updates minimal: merge redundant points, preserve intent. +## Модель выполнения (MUST) + +**Приоритеты инструкции:** +1. Инструкции пользователя +2. AGENTS.md (этот файл) +3. Упомянутые общие правила +4. Существующий стиль кода +5. Лучшие практики + +**Переиспользуемые правила:** +- [AGENT.common.md](AGENT.common.md) - общие правила +- [AGENT.interaction.md](AGENT.interaction.md) - правила взаимодействия + +### Поддержание правил (MUST) +- Минимальные обновления +- Объединение дубликатов +- Сохранение смысла diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb6c100 --- /dev/null +++ b/README.md @@ -0,0 +1,135 @@ +# LazyBear MCP Server + +.NET 10 сервер Model Context Protocol (MCP) для интеграции торговых AI-инструментов. + +## Быстрый старт + +```bash +cd LazyBear.MCP +dotnet run +``` + +Сервер работает на `http://localhost:5000` + +## Примеры интеграции + +### Codex (Windows конфигурация) + +Файл: `.mcp.json` + +```json +{ + "mcpServers": { + "lazybear": { + "command": "dotnet", + "args": ["run", "--project", "E:\\Codex\\LazyBearWorks\\LazyBear.MCP"] + } + } +} +``` + +### Continue (расширение VS Code) + +Файл: `.vscode/continue/config.json` + +```json +{ + "mcpServers": { + "lazybear": { + "command": "dotnet", + "args": [ + "run", + "--project", + "${workspaceFolder}/LazyBear.MCP" + ], + "type": "stdio" + } + } +} +``` + +### OpenCode (Linux/Mac конфигурация) + +Файл: `~/.opencode/.mcp.json` + +```json +{ + "mcpServers": { + "lazybear": { + "command": "dotnet", + "args": ["run", "--project", "~/LazyBearWorks/LazyBear.MCP"] + } + } +} +``` + +### Использование через CLI + +Тестирование через MCP inspector: + +```bash +npm install -g @modelcontextprotocol/inspector + +npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCP +``` + +Прямое тестирование через stdin: + +```bash +echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0"}}}' | dotnet run --project LazyBear.MCP +``` + +## Доступные инструменты + +### GetCurrentPrice +Получить текущую цену актива. + +**Аргументы:** +- `ticker` (строка): Тикер актива (например, "BTCUSD") + +**Пример:** +```json +{ + "name": "GetCurrentPrice", + "arguments": { + "ticker": "BTCUSD" + } +} +``` + +### GetPositionInfo +Получить информацию о позиции. + +**Аргументы:** +- `positionId` (строка): ID позиции + +**Пример:** +```json +{ + "name": "GetPositionInfo", + "arguments": { + "positionId": "POSI-001" + } +} +``` + +## Разработка + +### Сборка +```bash +dotnet build +``` + +### Запуск +```bash +dotnet run +``` + +### Тестирование с MCP Inspector +```bash +npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCP +``` + +## Лицензия + +MIT