MCP Best Practices
Crear servidores MCP listos para producción
Construir servidores MCP para producción requiere una atención cuidadosa a la arquitectura, la seguridad y el rendimiento. Esta habilidad ofrece orientación experta sobre patrones probados para crear implementaciones de servidores MCP mantenibles y seguras.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "MCP Best Practices". What error types should I define for my MCP server?
Resultado esperado:
- Un servidor MCP listo para producción debe definir un enum de errores integral que cubra todos los escenarios de fallo.
- Las categorías clave de error incluyen:
- - NotFound: Resource does not exist
- - InvalidInput: User provided invalid data
- - PermissionDenied: User lacks required permissions
- - RateLimitExceeded: Client exceeded rate limits
- - ExternalServiceError: Dependency service failed
- - DatabaseError: Database operation failed
- - Internal: Unexpected internal error
- Cada error debe implementar el trait Error estándar, proporcionar mensajes fáciles de usar e incluir información de reintento.
Usando "MCP Best Practices". How do I prevent SQL injection in my MCP server?
Resultado esperado:
- Usa siempre consultas parametrizadas en lugar de concatenación de cadenas.
- Buen patrón (Rust con sqlx):
- ```rust
- sqlx::query_as!(User, "SELECT * FROM users WHERE id = $1", id)
- .fetch_optional(&self.pool)
- .await
- ```
- Mal patrón (vulnerable):
- ```rust
- let query = format!("SELECT * FROM users WHERE id = '{}'", id);
- ```
- El enfoque parametrizado garantiza que la entrada del usuario nunca se interprete como código SQL.
Auditoría de seguridad
SeguroDocumentation-only skill containing Rust code examples for MCP server best practices. Static scanner flagged pattern-based false positives triggered by code block syntax and legitimate security-related keywords. All findings evaluated as false positives - this is educational content, not executable code with security implications.
Factores de riesgo
⚡ Contiene scripts (2)
⚙️ Comandos externos (31)
🌐 Acceso a red (4)
🔑 Variables de entorno (1)
Puntuación de calidad
Lo que puedes crear
Diseñar nueva arquitectura de servidor MCP
Los arquitectos que diseñan un nuevo servidor MCP pueden usar esta habilidad para seleccionar patrones apropiados, comprender las compensaciones entre enfoques en capas y hexagonales, y establecer una estructura de organización de código mantenible.
Revisar la postura de seguridad del servidor MCP
Los ingenieros de seguridad pueden usar esta habilidad para evaluar implementaciones existentes de servidores MCP frente a patrones de seguridad establecidos, identificar brechas en autenticación, autorización y validación de entradas.
Optimizar el rendimiento del servidor MCP
Los desarrolladores backend pueden usar esta habilidad para identificar cuellos de botella de rendimiento en sus implementaciones de servidores MCP, aplicar pooling de conexiones, estrategias de caché y mejores prácticas async para mejorar el rendimiento.
Prueba estos prompts
I am building an MCP server in Rust. What are the recommended architecture patterns for organizing the codebase? Should I use a layered architecture or hexagonal architecture? What are the trade-offs between these approaches?
How should I implement authentication and authorization in my MCP server? What are the best practices for handling auth tokens, validating permissions, and protecting sensitive endpoints? Show me example code patterns.
What error handling patterns do you recommend for production MCP servers? How should I structure error types, handle different error categories, and provide meaningful error messages to clients?
What performance optimizations should I implement in my MCP server? Include guidance on database connection pooling, caching strategies, async operation patterns, and handling external service calls efficiently.
Mejores prácticas
- Usa consultas parametrizadas para todas las operaciones de base de datos para prevenir ataques de inyección SQL
- Implementa validación integral de entradas en los límites del servicio usando bibliotecas de validación
- Diseña tipos de error que proporcionen información accionable evitando la filtración de información en producción
- Aplica pooling de conexiones para conexiones de base de datos e implementa caché para datos de acceso frecuente
Evitar
- Evita la concatenación de cadenas para construir consultas SQL; usa siempre consultas parametrizadas
- No expongas detalles internos de errores a los clientes en producción; registra internamente pero devuelve errores genéricos
- Evita bloquear operaciones async con llamadas síncronas; usa patrones async adecuados en todo momento
- No omitas comprobaciones de autenticación o autorización en ningún endpoint; aplica seguridad consistente en todas las operaciones
Preguntas frecuentes
¿Qué patrón de arquitectura debería usar para mi servidor MCP?
¿Cómo debería manejar la autenticación en mi servidor MCP?
¿Qué estrategias de prueba funcionan mejor para servidores MCP?
¿Cómo implemento un manejo de errores adecuado?
¿Qué optimizaciones de rendimiento debería priorizar?
¿Cómo hago que mi servidor MCP sea observable?
Detalles del desarrollador
Estructura de archivos
📄 SKILL.md