Skip to main content
Glama
cmalpass

csharp-mcp-server-blazor

by cmalpass

C# MCP-сервер и инспектор Blazor WebAssembly

Сопутствующий репозиторий с кодом для статьи в блоге: Building a C# MCP Server with Blazor Frontend.

В этом репозитории представлена продакшен-реализация Model Context Protocol (MCP) на C# в .NET 9 в сочетании с интерактивным инспектором инструментов и монитором протокола на Blazor WebAssembly.


🚀 Ключевые особенности архитектуры

  • Стандартный движок протокола MCP: реализует официальный Model Context Protocol через Server-Sent Events (GET /sse) и JSON-RPC 2.0 (POST /messages) с поддержкой внешних AI-клиентов, таких как Claude Desktop, Cursor, VS Code и Anthropic MCP Inspector CLI.

  • Нативное отражение C#-инструментов: предоставляет строго типизированные методы C# как обнаруживаемые MCP-инструменты с использованием Microsoft.Extensions.AI (AIFunctionFactory) и автоматической генерации схем System.Text.Json.

  • Интерактивный инспектор Blazor WASM: GUI для разработчика, позволяющий просматривать сгенерированные JSON-схемы, тестировать выполнение инструментов с помощью пользовательских форм параметров и отслеживать журналы JSON-RPC в реальном времени.

  • Локальная разработка без конфигурации и защищённый продакшен: локальная разработка работает без лишних препятствий и без секретов; в средах, отличных от Development, применяются JWT Bearer-аутентификация, ограничение частоты запросов и тайм-ауты запросов.


Related MCP server: Your Own MCP Server

📁 Структура решения

  • McpServerApp/McpServerApp: сервер ASP.NET Core, размещающий конечные точки /sse, /messages и /api/mcp.

  • McpServerApp/McpServerApp.Client: клиент Blazor WebAssembly, предоставляющий интерактивный интерфейс инспектора.

  • McpServerApp/McpServerApp.Tests: полный набор автоматизированных тестов (модульные, интеграционные через WebApplicationFactory и компонентные тесты UI на bUnit).

  • e2e/: браузерные тесты Playwright, проверяющие обнаружение инструментов, выполнение и создание скриншотов.


🛠️ Начало работы

Предварительные требования

  • .NET 9.0 SDK (или предварительная версия .NET 10)

  • Node.js 20+ (для браузерного тестирования Playwright)

Запуск локально

  1. Клонируйте репозиторий:

    git clone https://github.com/cmalpass/csharp-mcp-server-blazor.git
    cd csharp-mcp-server-blazor/McpServerApp
  2. Запустите приложение:

    dotnet run --project McpServerApp
  3. Откройте браузер и перейдите по адресу https://localhost:7150 (или порту, указанному в вашем терминале), чтобы изучить MCP Inspector.


🔌 Подключение внешних AI-клиентов

1. Claude Desktop

Добавьте эту запись в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "csharp-blazor-server": {
      "url": "http://localhost:5000/sse"
    }
  }
}

2. Cursor

Перейдите в Settings > Features > MCP, нажмите + Add New MCP Server, выберите SSE и укажите http://localhost:5000/sse.

3. Anthropic CLI Inspector

npx @modelcontextprotocol/inspector http://localhost:5000/sse

🧪 Тестирование

Детерминированный набор тестов (.NET)

Запустите модульные, интеграционные и компонентные тесты bUnit:

dotnet test McpServerApp/McpServerApp.sln --configuration Release

Браузерный E2E-тест (Playwright)

npm ci
npm run test:e2e

Это запускает полный сценарий в браузере и создаёт скриншот-доказательство в docs/evidence/mcp-inspector-execution.png.


📜 Лицензия

Этот проект распространяется под лицензией MIT License.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Give your AI assistant superpowers for .NET development! This MCP server connects GitHub Copilot, Claude, and other AI assistants directly to the .NET SDK, enabling them to create projects, manage packages, run builds, and more—all through natural language.
    37
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants and MCP-enabled clients to discover and call application capabilities exposed as structured, schema-defined tools, with input validation, error handling, and API/database integration. It also ships a sample client that demonstrates secure tool execution and seamless AI-agent interoperability.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants like Claude, Cursor, VS Code, and Windsurf to manage workspaces, projects, tasks, and AI agents through natural language, with a hosted OAuth server or a local stdio package. Also supports generating MCP tools from any OpenAPI spec.
    2,807 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI clients such as Claude, Cursor, VS Code, and Windsurf to list and manage workspaces, projects, tasks, AI agents, and automations through a hosted OAuth-secured endpoint or a local stdio package. Also generates MCP tools from any OpenAPI spec.
    2,807 npm
    MIT