MCP Server Starter

Un proyecto inicial en TypeScript para construir servidores del Protocolo de Contexto de Modelo (MCP) con Bun.

Documentación

MCP Server Starter

Una plantilla inicial lista para producción para construir servidores de Model Context Protocol (MCP) con TypeScript.

🚀 Inicio Rápido

  1. Clona el repositorio
  2. Instala las dependencias:
    bun install
    

✨ Características Clave

  • Bun para pruebas y desarrollo rápidos
  • Biome para linting y formato
  • Gestión automatizada de versiones con standard-version
  • Estructura de proyecto limpia y mantenible

📂 Estructura del Proyecto

mcp-starter/
├── src/
│   ├── tools/          # MCP tools implementation
│   ├── utils/          # Shared utilities
│   ├── main.ts         # Server entry point
│   └── types.ts        # Shared type definitions
├── tests/              # Test files
├── biome.json          # Linting configuration
├── tsconfig.json       # TypeScript configuration
└── package.json        # Project dependencies

⚙️ Configuración

Creación de Nuevas Herramientas

El proyecto incluye un script para ayudar a crear nuevas herramientas MCP:

bun run scripts/create-tool.ts <tool-name>

Esto:

  1. Creará un nuevo directorio de herramientas bajo src/tools/<tool-name>
  2. Generará la estructura básica de la herramienta, incluyendo:
    • index.ts (implementación principal)
    • schema.ts (esquema JSON para los parámetros de la herramienta)
    • test.ts (archivo de pruebas)
  3. Actualizará el archivo índice de herramientas para exportar la nueva herramienta

Ejemplo:

bun run scripts/create-tool.ts weather

🛠️ Desarrollo

  • Ejecutar pruebas: bun test
  • Formatear código: bun run format
  • Ejecutar lint: bun run lint
  • Compilar proyecto: bun run build

Para agregar tu servidor MCP de desarrollo a Claude Desktop:

  1. Compila el proyecto:
    bun run build
    
  2. Agrégalo a tu configuración de Claude Desktop:
    // You only need the argument if you need to pass arguments to your server
    {
      "mcpServers": {
        "your-server-name": {
          "command": "node",
          "args": ["/path/to/your/project/dist/main.js", "some_argument"]
        }
      }
    }
    

📜 Gestión de Versiones

Este proyecto utiliza standard-version para la gestión automatizada de versiones. Ejecuta bun run release para crear una nueva versión.

Formato de Mensajes de Commit

  • feat: Nueva funcionalidad (incrementa la versión menor)
  • fix: Corrección de errores (incrementa la versión de parche)
  • BREAKING CHANGE: Cambio disruptivo (incrementa la versión mayor)

📦 Publicación en npm

  1. Asegúrate de haber iniciado sesión en npm:
    npm login
    
  2. Compila el proyecto:
    bun run build
    
  3. Publica el paquete:
    npm publish
    

Recuerda actualizar el número de versión usando bun run release antes de publicar nuevas versiones.

Instalación desde npm (después de publicar)

Agrégalo a tu configuración de Claude Desktop:

// Solo necesitas el argumento si necesitas pasar argumentos a tu servidor
{
  "mcpServers": {
    "your-server-name": {
      "command": "npx",
      "args": ["-y", "your-package-name", "some_argument"]
    }
  }
}