Claude Chat MCP

Servidor MCP para la API de Mensajes de Anthropic Claude: chat, visión, búsqueda web, pensamiento extendido (Rust)

Documentación

mcp-server-claude-chat

Un servidor MCP (Model Context Protocol) para la API de mensajes de Anthropic Claude. Construido en Rust, expone chat, visión, búsqueda web en vivo y listado de modelos como herramientas MCP — de modo que cualquier cliente MCP (Claude Desktop, Claude Code, etc.) pueda consultar a Claude como herramienta.

Se comunica mediante stdio usando JSON-RPC 2.0, como todos los demás servidores MCP de esta colección. Estructuralmente refleja mcp-server-grok-chat / mcp-server-gpt-chat, adaptado a la forma de la API de Anthropic.

Suscripción vs. créditos de API

Este servidor utiliza la API de Anthropic con una clave de API (créditos de API). Es la única forma compatible con los términos de uso de impulsar Claude desde una herramienta de terceros.

Una suscripción Pro/Max de Claude (el tipo que impulsa Claude Code y las aplicaciones de Claude) no es utilizable aquí: esa autenticación está licenciada para los clientes propios de Anthropic, y enrutarla a través de un servidor personalizado violaría los Términos de Consumo de Anthropic — la preocupación de "$200 de uso de Claude desde otro servicio" que planteaste. Así que: clave de API. (Si ejecutas una puerta de enlace compatible con Anthropic, apunta base_url a ella — ver Configuración.)

Herramientas

HerramientaDescripción
chatEnvía un mensaje a Claude. Admite historial de múltiples turnos, un prompt de sistema, selección de modelo y pensamiento extendido mediante thinking_budget.
chat_with_visionAnaliza una imagen dada una URL de imagen y un prompt de texto.
chat_with_searchChatea con búsqueda web en vivo — Claude busca en el servidor y responde con fuentes citadas.
list_modelsLista los modelos de Claude disponibles y sus IDs (almacenados en caché durante 5 minutos).

Nota: Anthropic no tiene un endpoint de embeddings (recomiendan Voyage AI), así que a diferencia de los servidores grok/gpt no hay una herramienta embedding.

chat

NombreTipoObligatorioDescripción
promptstringEl mensaje del usuario a enviar
system_promptstringnoPrompt de sistema para establecer contexto/comportamiento
messagesstringnoHistorial de conversación como un array JSON de objetos {role, content} (roles: solo user/assistant — usa system_prompt para instrucciones de sistema)
modelstringnoID del modelo (predeterminado: predeterminado del servidor, claude-opus-4-8). Llama a list_models.
temperaturefloatnoTemperatura de muestreo (0.0–1.0). Se ignora cuando thinking_budget está establecido.
max_tokensintegernoMáximo de tokens a generar (por defecto el predeterminado del servidor)
thinking_budgetintegernoHabilita el pensamiento extendido con este presupuesto de tokens (mínimo 1024). El razonamiento se devuelve en un bloque [thinking]; max_tokens se eleva automáticamente por encima del presupuesto.

chat_with_vision

NombreTipoObligatorioDescripción
promptstringPrompt de texto que describe qué analizar
image_urlstringURL de la imagen (debe ser http:// o https://)
modelstringnoID de modelo con capacidad de visión (predeterminado: predeterminado del servidor)
temperaturefloatnoTemperatura de muestreo (0.0–1.0)
max_tokensintegernoMáximo de tokens a generar

chat_with_search

NombreTipoObligatorioDescripción
promptstringEl mensaje del usuario
system_promptstringnoPrompt de sistema
modelstringnoID del modelo (predeterminado: predeterminado del servidor)
temperaturefloatnoTemperatura de muestreo (0.0–1.0)
max_tokensintegernoMáximo de tokens a generar
max_usesintegernoMáximo de búsquedas web que Claude puede ejecutar para esta solicitud (predeterminado: 5)

La búsqueda web se factura por Anthropic a $10 por 1.000 búsquedas además de los costos de tokens, y un administrador de la organización debe habilitar la búsqueda web en la Consola de Claude.

list_models

Sin parámetros. Resultados almacenados en caché durante 5 minutos.

Requisitos previos

Configuración

mkdir -p ~/.config/mcp-server-claude-chat
cp config.toml.example ~/.config/mcp-server-claude-chat/config.toml
# then edit it and set api_key

Configuración (~/.config/mcp-server-claude-chat/config.toml):

api_key = "sk-ant-..."

# Optional:
# base_url = "https://api.anthropic.com/v1"   # or a compatible gateway
# default_model = "claude-opus-4-8"
# default_max_tokens = 4096

El servidor falla rápidamente al inicio si la configuración falta o api_key está vacío.

Compilación

cargo build --release   # produces target/release/claude-chat
cargo build             # debug build
cargo run               # run in dev mode
RUST_LOG=debug cargo run
cargo test              # unit tests (response formatting, validation, message building)

Configuración de MCP

Claude Desktop (~/.config/Claude/claude_desktop_config.json) o cualquier cliente MCP:

{
  "mcpServers": {
    "claude-chat": {
      "command": "/media/codechap/4TB/develop/mcps/mcp-server-claude-chat/target/release/claude-chat"
    }
  }
}

Claude Code:

claude mcp add claude-chat -- /media/codechap/4TB/develop/mcps/mcp-server-claude-chat/target/release/claude-chat

Estructura del proyecto

src/
  main.rs    - entry point, config loading, stdio transport setup
  server.rs  - MCP tool definitions (chat, chat_with_vision, chat_with_search, list_models)
  api.rs     - Anthropic HTTP client, Messages/Models types, response formatter
  params.rs  - tool parameter types with serde + JSON Schema derives
  config.rs  - TOML config loading

Licencia

MIT