スキル RMCP Quickstart
🚀

RMCP Quickstart

安全

Construir servidores MCP con rmcp

La creación de servidores MCP requiere entender un protocolo complejo con múltiples opciones de transporte y patrones de herramientas. Esta skill proporciona una guía de inicio rápido con ejemplos claros de código Rust, configuraciones de transporte y estrategias de prueba para construir servidores MCP listos para producción.

対応: Claude Codex Code(CC)
⚠️ 66 貧弱
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「RMCP Quickstart」を使用しています。 Ayúdame a crear mi primer servidor rmcp

期待される結果:

  • Te guiaré para construir tu primer servidor MCP con rmcp. Empecemos:
  •  
  • 1. Crea un nuevo proyecto Rust
  • 2. Añade las dependencias de rmcp a Cargo.toml
  • 3. Define tu estructura de servicio con la macro #[tool]
  • 4. Crea un transporte stdio
  • 5. Ejecuta y prueba tu servidor
  •  
  • Aquí está el patrón básico:
  • ```rust
  • #[tool(tool_box)]
  • struct MyService;
  •  
  • #[tool(tool_box)]
  • impl MyService {
  • #[tool(description = "Say hello")]
  • async fn greet(&self, name: String) -> String {
  • format!("Hello, {}!", name)
  • }
  • }
  •  
  • #[tokio::main]
  • async fn main() -> Result<(), Box<dyn std::error::Error>> {
  • let service = MyService;
  • let transport = stdio_transport();
  • service.serve(transport).await?;
  • Ok(())
  • }
  • ```

「RMCP Quickstart」を使用しています。 ¿Cómo manejo errores en rmcp?

期待される結果:

  • Usa thiserror para definir tipos de errores, luego devuelve Result desde tus herramientas:
  •  
  • ```rust
  • use thiserror::Error;
  •  
  • #[derive(Debug, Error)]
  • enum MyError {
  • #[error("Not found: {0}")]
  • NotFound(String),
  •  
  • #[error("Invalid input: {0}")]
  • InvalidInput(String),
  • }
  •  
  • #[tool(tool_box)]
  • impl MyService {
  • async fn fetch(&self, id: String) -> Result<String, MyError> {
  • if id.is_empty() {
  • return Err(MyError::InvalidInput("ID cannot be empty".into()));
  • }
  • Ok("Item data".to_string())
  • }
  • }
  • ```

セキュリティ監査

安全
v1 • 1/23/2026

All static findings are false positives. The scanner misidentified markdown code block backticks as Ruby/shell execution (52 locations). Documentation URLs and example code snippets are not actual network requests or command execution. No malicious patterns present. This is legitimate MCP documentation.

1
スキャンされたファイル
526
解析された行数
0
検出結果
1
総監査数
セキュリティ問題は見つかりませんでした

検出されたパターン

External Commands Pattern (False Positive)Network Access Pattern (False Positive)Weak Cryptographic Algorithm Pattern (False Positive)System Reconnaissance Pattern (False Positive)
監査者: claude

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
21
コミュニティ
100
セキュリティ
61
仕様準拠

作れるもの

Construye tu primer servidor MCP

¿Nuevo en MCP? Obtén guía paso a paso desde la configuración del proyecto hasta ejecutar tu primer servidor con herramientas funcionales y manejo correcto de errores.

Añade patrones avanzados de herramientas

Aprende a crear servicios con estado con herramientas asíncronas, tipos de parámetros complejos y manejo correcto de errores para servidores MCP de producción.

Selecciona y configura transportes

Comprende las diferencias entre transportes stdio, SSE y HTTP. Obtén orientación sobre cuándo usar cada uno según tus necesidades de despliegue.

これらのプロンプトを試す

Primeros pasos
Quiero construir un servidor MCP en Rust usando el crate rmcp. Ayúdame a entender los conceptos básicos: qué es MCP, cuáles son los componentes clave, y guíame paso a paso para crear un servidor simple con una herramienta de saludo.
Añadiendo herramientas
Tengo un servidor rmcp básico funcionando. Ahora quiero añadir más herramientas con parámetros complejos incluyendo campos opcionales y objetos anidados. Muéstrame el patrón correcto para usar #[tool(aggr)] e implementar manejo de errores.
Selección de transporte
Necesito desplegar mi servidor MCP para uso en la nube. Explica las diferencias entre transportes SSE y HTTP, muéstrame ejemplos de código para cada uno, y ayúdame a elegir la opción correcta para un entorno de producción multiusuario.
Pruebas y depuración
Las herramientas de mi servidor MCP no aparecen en Claude. Guíame para depurar: verifica mi uso de la macro #[tool], проверка placement de tool_box, y ayúdame a escribir pruebas de integración para validar que mi servidor funciona correctamente.

ベストプラクティス

  • Siempre incluye descripciones claras en las macros #[tool] para que los asistentes de IA entiendan qué hace cada herramienta
  • Haz que las funciones de herramientas sean asíncronas y usa configuración correcta del runtime tokio en main
  • Prueba los servidores localmente con transporte stdio antes de desplegar a transportes de nube

回避

  • Falta de #[tool(description = "...")] en funciones de herramientas hace que sean invisibles para los asistentes de IA
  • Funciones de herramientas no asíncronas fallarán en tiempo de ejecución; todas las herramientas deben ser asíncronas
  • Usar parámetros complejos sin #[tool(aggr)] causa errores de deserialización

よくある質問

¿Qué es el crate rmcp?
rmcp es el SDK oficial de Rust para el Model Context Protocol. Proporciona macros y tipos para construir servidores MCP que asistentes de IA como Claude pueden conectar y usar.
¿Qué transporte debo usar?
Usa stdio para desarrollo local y pruebas. Usa SSE para despliegues en la nube que requieren eventos enviados por el servidor. Usa transporte HTTP para interfaces tipo REST y compatibilidad con balanceadores de carga.
¿Cómo depuro herramientas que no aparecen?
Verifica que #[tool(description = "...")] esté presente en cada función, #[tool(tool_box)] esté en el bloque impl, y las funciones sean asíncronas. Usa cargo test para verificar que tu servicio funciona.
¿Qué versión de Rust necesito?
rmcp requiere Rust 1.75 o superior. Usa edition = "2024" en tu Cargo.toml para las últimas características.
¿Puedo usar rmcp con otros runtimes asíncronos?
rmcp está construido sobre tokio. Otros runtimes como async-std no están soportados. Usa tokio con features = ["full"] para soporte asíncrono completo.
¿Cómo pruebo mi servidor MCP?
Escribe pruebas unitarias con módulos #[cfg(test)]. Crea pruebas de integración que importen tu servicio, llamen a métodos de herramientas directamente, y verifiquen resultados. Usa stdio_transport para pruebas locales.

開発者の詳細

ファイル構成

📄 SKILL.md