Добавлены AGENTS.md с правилами на русском, обновлен README
This commit is contained in:
105
AGENTS.md
105
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)
|
||||
- Минимальные обновления
|
||||
- Объединение дубликатов
|
||||
- Сохранение смысла
|
||||
|
||||
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