MCP Server Starter

Un proyecto inicial para construir servidores MCP con TypeScript y Bun.

Documentación

MCP Server Starter

smithery badge

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

Server Starter MCP server

🚀 Inicio Rápido

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

✨ Características Principales

  • Bun para pruebas y desarrollo rápidos
  • Biome para linting y formateo
  • 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 hará lo siguiente:

  1. Crear un nuevo directorio de herramienta en 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 prueba)
  3. Actualizar el archivo de í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
  • Lint de código: bun run lint
  • Compilar proyecto: bun run build

Para añadir tu servidor MCP de desarrollo a Claude Desktop:

  1. Compila el proyecto:
    bun run build
    
  2. Añádelo 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 mediante Smithery

Para instalar Weather MCP Server Starter para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @GreatAuk/mcp-weather --client claude

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

Añade 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": "npx",
      "args": ["-y", "your-package-name", "some_argument"]
    }
  }
}