MCPExpert

Contribuir a MCP

MCP es un proyecto open source y las contribuciones de la comunidad son esenciales. Aprende cómo puedes contribuir y ayudar a mejorar el proyecto.

Guía de Contribución

Hay muchas formas de contribuir al ecosistema MCP. No necesitas ser un experto para hacer una diferencia. Cada contribución, grande o pequeña, ayuda a hacer MCP mejor para todos.

Código

Contribuye a los SDKs oficiales, herramientas o crea nuevos servidores.

Documentación

Mejora la documentación, crea tutoriales o corrige errores.

Comunidad

Reporta bugs, sugiere mejoras o ayuda a otros desarrolladores.

Cómo Contribuir

Elige la forma de contribución que mejor se adapte a tus habilidades e intereses.

Crear Servidores MCP

Desarrolla servidores MCP para nuevas integraciones y compártelos con la comunidad.

Pasos:

  1. 1
    Crea un nuevo servidor usando los SDKs oficiales
  2. 2
    Implementa recursos, herramientas o prompts útiles
  3. 3
    Publica tu código en GitHub
  4. 4
    Añádelo a nuestro directorio de repositorios

Ejemplo:

Servidores para Google Drive, Slack, PostgreSQL, etc.

Mejorar Documentación

Ayuda a mejorar la documentación, ejemplos y tutoriales del proyecto.

Pasos:

  1. 1
    Identifica áreas de documentación que necesitan mejora
  2. 2
    Corrige errores o añade información faltante
  3. 3
    Crea nuevos ejemplos y tutoriales
  4. 4
    Mejora la claridad y accesibilidad del contenido

Ejemplo:

Tutoriales, ejemplos de código, guías de mejores prácticas

Reportar Issues

Reporta bugs, sugiere mejoras o participa en discusiones sobre el protocolo.

Pasos:

  1. 1
    Busca si el issue ya existe
  2. 2
    Crea un issue claro y descriptivo
  3. 3
    Incluye pasos para reproducir (si es un bug)
  4. 4
    Participa en las discusiones

Ejemplo:

Bugs en SDKs, mejoras de protocolo, sugerencias de features

Contribuir Código

Contribuye código directamente a los SDKs oficiales o herramientas del proyecto.

Pasos:

  1. 1
    Fork el repositorio oficial
  2. 2
    Crea una rama para tu feature o fix
  3. 3
    Implementa los cambios siguiendo los estándares
  4. 4
    Envía un Pull Request con descripción clara

Ejemplo:

Mejoras en SDKs, nuevas features, correcciones de bugs

Proceso de Contribución

Sigue estos pasos para contribuir código a los repositorios oficiales de MCP.

1

Encuentra un Issue o Crea uno Nuevo

Busca issues existentes o crea uno nuevo si quieres trabajar en algo específico.

  • Revisa los issues abiertos en GitHub
  • Comenta en el issue que quieres trabajar en él
  • Si no existe, crea un nuevo issue con descripción clara
2

Fork y Clona el Repositorio

Crea tu propio fork del repositorio y clónalo localmente.

  • Haz fork del repositorio oficial en GitHub
  • Clona tu fork localmente: git clone https://github.com/tu-usuario/repo.git
  • Añade el repositorio original como upstream
3

Crea una Rama para tu Cambio

Crea una rama descriptiva para tu feature o fix.

  • Crea una rama: git checkout -b feat/mi-feature
  • Usa nombres descriptivos: feat/, fix/, docs/, test/
  • Mantén la rama actualizada con main
4

Implementa tus Cambios

Escribe código siguiendo los estándares del proyecto.

  • Sigue los estándares de código del proyecto
  • Escribe tests para nuevas funcionalidades
  • Actualiza la documentación si es necesario
  • Asegúrate de que los tests pasen
5

Envía un Pull Request

Crea un PR con descripción clara de tus cambios.

  • Push tus cambios: git push origin feat/mi-feature
  • Crea un Pull Request en GitHub
  • Incluye descripción clara del cambio
  • Referencia el issue relacionado si existe
6

Revisión y Merge

Participa en la revisión del código y haz ajustes si es necesario.

  • Responde a los comentarios de los revisores
  • Haz los ajustes solicitados
  • Una vez aprobado, tu PR será mergeado

Estándares de Código

Sigue estos estándares para asegurar que tu código sea consistente con el resto del proyecto.

Python

Estándares:

  • Usa Python 3.11+ con type hints completos
  • Sigue PEP 8 para estilo de código
  • Incluye docstrings estilo Google
  • Escribe tests para nuevas funcionalidades
  • Usa async/await para operaciones asíncronas

Ejemplo:

from mcp.server import Server
from mcp.types import Tool, TextContent
from typing import List

app = Server("mi-servidor")

@app.list_tools()
async def list_tools() -> List[Tool]:
    """
    Lista todas las herramientas disponibles.
    
    Returns:
        List[Tool]: Lista de herramientas disponibles.
    """
    return [
        Tool(
            name="example",
            description="Ejemplo de herramienta",
            inputSchema={"type": "object"}
        )
    ]

TypeScript

Estándares:

  • Usa TypeScript estricto con tipos explícitos
  • Sigue las convenciones de ESLint del proyecto
  • Incluye JSDoc para funciones públicas
  • Escribe tests con Jest o Vitest
  • Usa async/await y maneja errores correctamente

Ejemplo:

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { Tool } from "@modelcontextprotocol/sdk/types.js";

/**
 * Lista todas las herramientas disponibles.
 * @returns Lista de herramientas disponibles.
 */
async function listTools(): Promise<Tool[]> {
  return [
    {
      name: "example",
      description: "Ejemplo de herramienta",
      inputSchema: { type: "object" },
    },
  ];
}

Checklist Antes de Enviar un PR

Asegúrate de cumplir estos puntos antes de enviar tu Pull Request

Código

  • El código sigue los estándares del proyecto
  • Todas las funciones tienen tipos explícitos
  • Se incluyen docstrings/comentarios donde es necesario
  • No hay código comentado o sin usar
  • Los nombres de variables son descriptivos

Tests y Documentación

  • Se añadieron tests para nuevas funcionalidades
  • Todos los tests pasan localmente
  • La documentación está actualizada
  • Se añadieron ejemplos si es necesario
  • El PR tiene una descripción clara

¿Listo para Contribuir?

Cada contribución hace que MCP sea mejor. Explora los recursos disponibles y comienza a contribuir.