diff --git a/LazyBear.MCP/Services/TradingTools.cs b/LazyBear.MCP/Services/TradingTools.cs deleted file mode 100644 index d6c0173..0000000 --- a/LazyBear.MCP/Services/TradingTools.cs +++ /dev/null @@ -1,20 +0,0 @@ -using ModelContextProtocol.Server; -using System.ComponentModel; - -namespace LazyBear.MCP.Services; - -[McpServerToolType] -public static class TradingTools -{ - [McpServerTool, Description("Получить текущую цену актива")] - public static string GetCurrentPrice([Description("Тикер актива, например BTCUSD")] string ticker) - { - return $"Цена {ticker}: 50000 USD (фейковые данные)"; - } - - [McpServerTool, Description("Получить информацию о позиции")] - public static string GetPositionInfo([Description("ID позиции")] string positionId) - { - return $"Позиция {positionId}: Long BTC, PnL: +500 USD"; - } -} diff --git a/README.md b/README.md index fb6c100..33d75fb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,24 @@ # LazyBear MCP Server -.NET 10 сервер Model Context Protocol (MCP) для интеграции торговых AI-инструментов. +.NET 10 сервер Model Context Protocol (MCP) для интеграции Kubernetes инструментов. + +## Архитектура +``` +LazyBear.MCP/ +├── Program.cs # HTTP transport MCP сервер +├── Pages/ # Razor Pages UI +│ ├── Index.cshtml # Главная страница +│ └── Shared/ # Общие компоненты +├── Services/ +│ └── Kubernetes/ +│ ├── K8sConfigTools.cs # Инструменты конфигурации +│ ├── K8sDeploymentTools.cs # Инструменты деплоя +│ ├── K8sNetworkTools.cs # Инструменты сети +│ ├── K8sPodsTools.cs # Инструменты подов +│ ├── K8sClientFactory.cs # Factory для клиентов +│ └── K8sClientProvider.cs # Provider для клиентов +└── appsettings.json # Конфиг (логинг, K8s, allowed hosts) +``` ## Быстрый старт @@ -81,34 +99,29 @@ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion": ## Доступные инструменты -### GetCurrentPrice -Получить текущую цену актива. +### Kubernetes -**Аргументы:** -- `ticker` (строка): Тикер актива (например, "BTCUSD") +| Инструмент | Описание | +|------------|-----------| +| `K8sConfigTools` | Управление конфигурациями K8s | +| `K8sDeploymentTools` | Управление деплоями | +| `K8sNetworkTools` | Управление сетями | +| `K8sPodsTools` | Управление подами | + +**Настройка:** -**Пример:** ```json +// appsettings.json { - "name": "GetCurrentPrice", - "arguments": { - "ticker": "BTCUSD" - } -} -``` - -### GetPositionInfo -Получить информацию о позиции. - -**Аргументы:** -- `positionId` (строка): ID позиции - -**Пример:** -```json -{ - "name": "GetPositionInfo", - "arguments": { - "positionId": "POSI-001" + "Kubernetes": { + "KubeconfigPath": "~/.kube/config", + "DefaultNamespace": "default" + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "ModelContextProtocol": "Debug" + } } } ``` @@ -130,6 +143,6 @@ dotnet run npx @modelcontextprotocol/inspector dotnet run --project LazyBear.MCP ``` -## Лицензия +## License MIT diff --git a/logo.jpg b/logo.jpg new file mode 100644 index 0000000..decc52e Binary files /dev/null and b/logo.jpg differ