Добавлены AGENTS.md с правилами на русском, обновлен README
This commit is contained in:
105
AGENTS.md
105
AGENTS.md
@@ -1,28 +1,95 @@
|
|||||||
# AGENTS.md
|
# AGENTS.md
|
||||||
|
|
||||||
## Execution Model (MUST)
|
## Описание проекта: LazyBear MCP
|
||||||
- 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)
|
.NET 10 сервер Model Context Protocol (MCP) для интеграции торговых AI-инструментов.
|
||||||
- Priority:
|
|
||||||
1. User instructions
|
### Структура проекта
|
||||||
2. AGENTS.md
|
```
|
||||||
3. Applicable referenced reusable rule files
|
LazyBearWorks/
|
||||||
4. Existing code/style
|
├── LazyBear.MCP/
|
||||||
5. Best practices
|
│ ├── Program.cs # Главный файл с хостингом MCP сервера
|
||||||
- Prefer minimal, non-breaking changes.
|
│ └── Services/
|
||||||
- Do not introduce unnecessary abstractions.
|
│ └── 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:
|
### Обязательные правила (MUST)
|
||||||
- no secrets or sensitive data
|
|
||||||
- build passes locally
|
**Перед модификацией:**
|
||||||
- tests pass
|
1. Прочитать существующий код
|
||||||
|
2. Сохранять текущий стиль и паттерны
|
||||||
|
3. Минимизировать изменения
|
||||||
|
4. Не добавлять секреты в код
|
||||||
|
|
||||||
|
**Перед коммитом:**
|
||||||
|
1. Сборка `dotnet build` должна проходить локально
|
||||||
|
2. Изменения не должны ломать MCP протокол
|
||||||
|
3. Код в Git только после проверки сборки
|
||||||
|
4. Комментарии, документация и коммиты — только на русском
|
||||||
|
|
||||||
|
### Build & Deploy
|
||||||
|
- Локальная сборка обязана проходить
|
||||||
|
- Без ломающих изменений в MCP
|
||||||
|
- Коммиты с проверкой сборки
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Rules Maintenance (MUST)
|
## Модель выполнения (MUST)
|
||||||
- Keep updates minimal: merge redundant points, preserve intent.
|
|
||||||
|
**Приоритеты инструкции:**
|
||||||
|
1. Инструкции пользователя
|
||||||
|
2. AGENTS.md (этот файл)
|
||||||
|
3. Упомянутые общие правила
|
||||||
|
4. Существующий стиль кода
|
||||||
|
5. Лучшие практики
|
||||||
|
|
||||||
|
**Переиспользуемые правила:**
|
||||||
|
- [AGENT.common.md](AGENT.common.md) - общие правила
|
||||||
|
- [AGENT.interaction.md](AGENT.interaction.md) - правила взаимодействия
|
||||||
|
|
||||||
|
### Поддержание правил (MUST)
|
||||||
|
- Минимальные обновления
|
||||||
|
- Объединение дубликатов
|
||||||
|
- Сохранение смысла
|
||||||
|
|||||||
135
README.md
Normal file
135
README.md
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user