crimson-crab-mcp-template
Un servidor MCP en Rust listo para clonar que llama a la API de Claude de Anthropic a través del SDK crimson-crab.
Documentación
Servidor MCP impulsado por Claude en Rust (plantilla inicial)
Un servidor Model Context Protocol (MCP) mínimo y listo para producción, escrito en Rust, respaldado por la API de Claude de Anthropic a través del SDK crimson-crab. Expone cinco herramientas: ask_claude (envía un prompt y obtén la respuesta de Claude), chat (conversación de múltiples turnos), count_tokens (calcula el costo de un prompt sin ejecutarlo), list_models (enumera los modelos que tu clave API puede usar) y get_model (límites y metadatos para un modelo).
Úsalo como punto de partida de referencia para construir tus propias herramientas MCP impulsadas por Claude en Rust.
Usar esta plantilla
Haz clic en Usar esta plantilla en GitHub, o genera un nuevo proyecto con cargo generate:
cargo generate --git https://github.com/singhpratech/crimson-crab-mcp-template
También puedes simplemente clonarlo:
git clone https://github.com/singhpratech/crimson-crab-mcp-template
Inicio rápido
export ANTHROPIC_API_KEY=sk-ant-...
cargo run
El servidor se comunica a través de stdio, por lo que ejecutarlo directamente solo espera a que un cliente MCP se conecte. Todos los registros van a stderr — stdout está reservado para el protocolo MCP. Establece RUST_LOG=debug para registros más detallados.
Para compilar un binario optimizado al que puedas apuntar con un cliente:
cargo build --release
# -> target/release/crimson-crab-mcp-template
Conectarlo a Claude Desktop
Añade una entrada en tu configuración MCP de Claude Desktop (claude_desktop_config.json), apuntando al binario compilado y pasando tu clave API a través del entorno:
{
"mcpServers": {
"claude-via-crimson-crab": {
"command": "/absolute/path/to/target/release/crimson-crab-mcp-template",
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
Reinicia Claude Desktop; las herramientas ask_claude, chat, count_tokens, list_models y get_model estarán entonces disponibles.
Las herramientas
ask_claude
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
prompt | string | sí | El prompt a enviar a Claude. |
system | string | no | Prompt de sistema opcional. |
Construye una solicitud de Messages de Claude (usando por defecto el modelo claude-opus-5), llama a la API y devuelve el texto concatenado de la respuesta de Claude.
chat
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
messages | array | sí | La conversación hasta ahora, de más antigua a más reciente: {role, content} donde role es un enum restringido a "user" o "assistant". Debe terminar con un turno de usuario. |
system | string | no | Prompt de sistema opcional. |
model | string | no | ID del modelo (por defecto, el modelo ask_claude). |
max_tokens | integer | no | Máximo de tokens a generar (por defecto 1024). |
Envía todo el historial de la conversación a Claude y devuelve la siguiente respuesta — úsalo en lugar de ask_claude cuando el llamador necesite mantener el contexto entre turnos.
count_tokens
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
prompt | string | sí | El prompt cuyo recuento de tokens deseas. |
system | string | no | Prompt de sistema opcional para incluir en el recuento. |
model | string | no | ID del modelo para el recuento (los recuentos dependen del modelo). |
Devuelve el número de tokens de entrada que consumiría el prompt, sin ejecutarlo — útil para estimar el costo antes de una llamada costosa.
list_models
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
limit | integer | no | Número máximo de modelos a devolver. |
Devuelve el ID, nombre mostrado y fecha de lanzamiento de cada modelo de Claude disponible para la clave API configurada.
get_model
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model | string | sí | El ID del modelo a consultar, p. ej. claude-opus-5. |
Devuelve el nombre mostrado del modelo, fecha de lanzamiento, ventana de contexto (max_input_tokens) y el máximo de tokens de salida.
Los errores de todas las herramientas se devuelven como errores de herramienta MCP en lugar de provocar pánicos. El cliente de Claude se construye una sola vez al inicio y se reutiliza en todas las llamadas.
Construido con crimson-crab
Esta plantilla está construida con crimson-crab — un SDK de Rust de grado de producción para la API de Claude de Anthropic. Fuente: https://github.com/singhpratech/crimson-crab.
Licencia
Licenciado bajo cualquiera de
- Licencia MIT (LICENSE-MIT)
- Licencia Apache, Versión 2.0 (LICENSE-APACHE)
a tu elección.
crimson-crab es un proyecto de código abierto independiente y no está afiliado con Anthropic.