Skip to main content
Glama
cmalpass

csharp-mcp-server-blazor

by cmalpass

Servidor MCP en C# y Inspector Blazor WebAssembly

Un repositorio de código complementario para la entrada del blog: Construyendo un servidor MCP en C# con frontend Blazor.

Este repositorio proporciona una implementación de nivel de producción del Protocolo de Contexto de Modelo (MCP) en C# sobre .NET 9, junto con un Inspector de Herramientas y Monitor de Protocolo Blazor WebAssembly interactivo.


🚀 Aspectos destacados de la arquitectura

  • Motor de protocolo MCP estándar: Implementa el Protocolo de Contexto de Modelo oficial sobre Eventos Enviados por el Servidor (GET /sse) y JSON-RPC 2.0 (POST /messages), compatible con clientes de IA externos como Claude Desktop, Cursor, VS Code y la CLI del Inspector MCP de Anthropic.

  • Reflexión nativa de herramientas en C#: Expone métodos C# fuertemente tipados como herramientas MCP descubribles usando Microsoft.Extensions.AI (AIFunctionFactory) y generación automatizada de esquemas con System.Text.Json.

  • Inspector Blazor WASM interactivo: Una interfaz gráfica para desarrolladores que permite inspeccionar los esquemas JSON generados, probar la ejecución de herramientas con formularios de parámetros personalizados y monitorear los registros de cable JSON-RPC en tiempo real.

  • Desarrollo local sin configuración vs. producción protegida: El desarrollo local se ejecuta sin fricciones y sin secretos; los entornos que no son de desarrollo aplican autenticación Bearer JWT, limitación de velocidad y tiempos de espera de solicitud.


Related MCP server: Your Own MCP Server

📁 Estructura de la solución

  • McpServerApp/McpServerApp: El servidor ASP.NET Core que aloja los endpoints /sse, /messages y /api/mcp.

  • McpServerApp/McpServerApp.Client: El cliente Blazor WebAssembly que proporciona la interfaz interactiva del Inspector.

  • McpServerApp/McpServerApp.Tests: Suite completa de pruebas automatizadas (pruebas unitarias, de integración mediante WebApplicationFactory y de componentes de interfaz de usuario con bUnit).

  • e2e/: Pruebas de navegador con Playwright que validan el descubrimiento de herramientas, la ejecución y la captura de capturas de pantalla.


🛠️ Primeros pasos

Requisitos previos

Ejecución local

  1. Clona el repositorio:

    git clone https://github.com/cmalpass/csharp-mcp-server-blazor.git
    cd csharp-mcp-server-blazor/McpServerApp
  2. Ejecuta la aplicación:

    dotnet run --project McpServerApp
  3. Abre tu navegador y navega a https://localhost:7150 (o el puerto que se muestre en tu terminal) para explorar el Inspector MCP.


🔌 Conexión de clientes de IA externos

1. Claude Desktop

Añade esta entrada a tu claude_desktop_config.json:

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

2. Cursor

Ve a Configuración > Funciones > MCP, haz clic en + Agregar nuevo servidor MCP, selecciona SSE y proporciona http://localhost:5000/sse.

3. CLI del Inspector de Anthropic

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

🧪 Pruebas

Suite de pruebas determinista (.NET)

Ejecuta las pruebas unitarias, de integración y de componentes bUnit:

dotnet test McpServerApp/McpServerApp.sln --configuration Release

Prueba E2E de navegador (Playwright)

npm ci
npm run test:e2e

Esto ejecuta el flujo completo del navegador y genera evidencia de capturas de pantalla en docs/evidence/mcp-inspector-execution.png.


📜 Licencia

Este proyecto está licenciado bajo la Licencia MIT.

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