MCP Tools Guide
Crear herramientas MCP con seguridad de tipos
Crear herramientas MCP manualmente requiere comprender sistemas de macros complejos y restricciones de tipos. Esta habilidad proporciona orientación experta sobre el uso del crate rmcp para construir herramientas con seguridad de tipos, generación automática de esquemas, validación y patrones asíncronos.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "MCP Tools Guide". ¿Cómo creo una herramienta MCP con parámetros opcionales?
النتيجة المتوقعة:
- Usa Option<T> para parámetros opcionales en tus métodos de herramienta:
- ```rust
- #[tool(tool_box)]
- impl SearchService {
- #[tool(description = "Search with optional filters")]
- async fn search(
- &self,
- query: String,
- limit: Option<u32>,
- offset: Option<u32>,
- ) -> Vec<String> {
- let limit = limit.unwrap_or(10);
- // Search logic
- vec![]
- }
- }
- ```
استخدام "MCP Tools Guide". ¿Qué tipos de retorno pueden usar las herramientas MCP?
النتيجة المتوقعة:
- Las herramientas MCP soportan varios tipos de retorno:
- 1. **Tipos simples**: i32, String, bool, etc.
- 2. **Objetos complejos**: Structs que derivan Serialize, Deserialize, JsonSchema
- 3. **Colecciones**: Vec<T> para arrays
- 4. **Tipos Result**: Result<T, Error> para manejo de errores
- Ejemplo de retorno Result:
- ```rust
- async fn fetch(&self, id: String) -> Result<String, ServiceError> {
- // Return Ok or Err(ServiceError::NotFound)
- }
- ```
التدقيق الأمني
آمنDocumentation-only skill. Static scanner flagged Rust code examples in markdown documentation as security patterns. All findings are false positives. The SKILL.md file contains educational code examples, not executable code with security implications. No actual external commands, network calls, or credential access patterns exist in this skill.
درجة الجودة
ماذا يمكنك بناءه
Aprender los fundamentos de las herramientas MCP
Los nuevos desarrolladores pueden entender los conceptos centrales de las herramientas MCP incluyendo el sistema de macros #[tool], tipos de parámetros y patrones de invocación de herramientas a través de ejemplos guiados.
Construir herramientas de producción
Los desarrolladores experimentados pueden referenciar patrones para operaciones CRUD, validación, manejo de errores y optimización del rendimiento al construir servidores MCP reales.
Diseñar integraciones de API
Los desarrolladores que crean integraciones con APIs externas pueden aprender mejores prácticas para estructurar servicios, manejar credenciales de forma segura y gestionar operaciones asíncronas.
جرّب هذه الموجهات
Muéstrame cómo crear una herramienta MCP simple que sume dos números juntos usando el crate rmcp. Incluye la declaración tool_box y el método async.
¿Cómo defino una herramienta que acepta un objeto complejo con múltiples campos? Muéstrame cómo usar #[tool(aggr)] y derivar los traits requeridos.
¿Cuál es la mejor manera de manejar errores en las herramientas MCP? Muéstrame cómo usar thiserror para crear tipos de errores personalizados que se integren con el sistema de resultados de herramientas.
Muéstrame un patrón completo de implementación CRUD para herramientas MCP. Incluye gestión de estado, validación y patrones asíncronos adecuados.
أفضل الممارسات
- Usa tipos fuertes para parámetros en lugar de cadenas genéricas para habilitar la validación en tiempo de compilación y mejor comprensión por parte de la IA
- Proporciona descripciones de herramientas claras y descriptivas que expliquen cuándo y cómo la IA debe usar la herramienta
- Implementa manejo adecuado de errores con mensajes de error accionables que ayuden a la IA a recuperarse de fallos
تجنب
- Evita operaciones bloqueantes en herramientas asíncronas; usa tokio::fs y otras variantes asíncronas en lugar de std::fs
- No aceptes cadenas SQL o de comandos sin formato como parámetros sin validación y sanitización estrictas
- Evita acoplar fuertemente las herramientas a implementaciones específicas de bases de datos; abstrae los patrones de acceso a datos