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:
- 1Crea un nuevo servidor usando los SDKs oficiales
- 2Implementa recursos, herramientas o prompts útiles
- 3Publica tu código en GitHub
- 4Añá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:
- 1Identifica áreas de documentación que necesitan mejora
- 2Corrige errores o añade información faltante
- 3Crea nuevos ejemplos y tutoriales
- 4Mejora 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:
- 1Busca si el issue ya existe
- 2Crea un issue claro y descriptivo
- 3Incluye pasos para reproducir (si es un bug)
- 4Participa 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:
- 1Fork el repositorio oficial
- 2Crea una rama para tu feature o fix
- 3Implementa los cambios siguiendo los estándares
- 4Enví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.
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
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
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
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
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
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
Repositorios Oficiales
Enlaces a los repositorios oficiales donde puedes contribuir
Python SDK
SDK oficial para Python. Contribuye mejoras, nuevas features o correcciones.
TypeScript SDK
SDK oficial para TypeScript/Node.js. Mejoras y nuevas funcionalidades.
MCP Inspector
Herramienta de debugging. Mejoras en la interfaz y funcionalidades.
Servidores Oficiales
Servidores MCP oficiales. Contribuye nuevos servidores o mejora existentes.
¿Listo para Contribuir?
Cada contribución hace que MCP sea mejor. Explora los recursos disponibles y comienza a contribuir.