crimson-crab-mcp-template

Um servidor MCP Rust pronto para clonar que chama a API Claude da Anthropic via o SDK crimson-crab.

Documentação

Servidor MCP com tecnologia Claude em Rust (template inicial)

crimson-crab-mcp-template MCP server crates.io license

Um servidor Model Context Protocol (MCP) mínimo e pronto para produção, escrito em Rust, com suporte da API Claude da Anthropic por meio do SDK crimson-crab. Ele expõe cinco ferramentas: ask_claude (envie um prompt e receba a resposta do Claude), chat (conversa multiturno), count_tokens (precifique um prompt sem executá-lo), list_models (liste os modelos que sua chave de API pode usar) e get_model (limites e metadados de um modelo).

Use-o como ponto de partida de referência para criar suas próprias ferramentas MCP com tecnologia Claude em Rust.

Usar este template

Clique em Usar este template no GitHub ou gere um novo projeto com cargo generate:

cargo generate --git https://github.com/singhpratech/crimson-crab-mcp-template

Você também pode simplesmente cloná-lo:

git clone https://github.com/singhpratech/crimson-crab-mcp-template

Início rápido

export ANTHROPIC_API_KEY=sk-ant-...
cargo run

O servidor se comunica via stdio, portanto, executá-lo diretamente apenas aguarda um cliente MCP se conectar. Todos os logs vão para stderr — o stdout é reservado para o protocolo MCP. Defina RUST_LOG=debug para logs mais detalhados.

Para compilar um binário otimizado para o qual você pode apontar um cliente:

cargo build --release
# -> target/release/crimson-crab-mcp-template

Conecte-o ao Claude Desktop

Adicione uma entrada à configuração MCP do seu Claude Desktop (claude_desktop_config.json), apontando para o binário compilado e passando sua chave de API pelo ambiente:

{
  "mcpServers": {
    "claude-via-crimson-crab": {
      "command": "/absolute/path/to/target/release/crimson-crab-mcp-template",
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-..."
      }
    }
  }
}

Reinicie o Claude Desktop; as ferramentas ask_claude, chat, count_tokens, list_models e get_model estarão então disponíveis.

As ferramentas

ask_claude

ParâmetroTipoObrigatórioDescrição
promptstringsimO prompt a ser enviado ao Claude.
systemstringnãoPrompt de sistema opcional.

Constrói uma solicitação de Mensagens do Claude (padrão para o modelo claude-opus-5), chama a API e retorna o texto concatenado da resposta do Claude.

chat

ParâmetroTipoObrigatórioDescrição
messagesarraysimA conversa até o momento, da mais antiga para a mais recente: {role, content} onde role é um enum restrito a "user" ou "assistant". Deve terminar com uma rodada do usuário.
systemstringnãoPrompt de sistema opcional.
modelstringnãoID do modelo (padrão para o modelo ask_claude).
max_tokensintegernãoMáximo de tokens a gerar (padrão 1024).

Envia todo o histórico de mensagens ao Claude e retorna a próxima resposta — use-o em vez de ask_claude quando o chamador precisar manter o contexto entre as rodadas.

count_tokens

ParâmetroTipoObrigatórioDescrição
promptstringsimO prompt cuja contagem de tokens você deseja.
systemstringnãoPrompt de sistema opcional a incluir na contagem.
modelstringnãoID do modelo para contar (as contagens são específicas do modelo).

Retorna o número de tokens de entrada que o prompt consumiria, sem executá-lo — útil para estimar o custo antes de uma chamada cara.

list_models

ParâmetroTipoObrigatórioDescrição
limitintegernãoNúmero máximo de modelos a retornar.

Retorna o ID, o nome de exibição e a data de lançamento de cada modelo Claude disponível para a chave de API configurada.

get_model

ParâmetroTipoObrigatórioDescrição
modelstringsimO ID do modelo a consultar, por exemplo, claude-opus-5.

Retorna o nome de exibição do modelo, a data de lançamento, a janela de contexto (max_input_tokens) e o máximo de tokens de saída.

Erros de todas as ferramentas são retornados como erros de ferramenta MCP, em vez de causar pânico. O cliente Claude é criado uma vez na inicialização e reutilizado em todas as chamadas.

Criado com crimson-crab

Este template é criado com crimson-crab — um SDK Rust de nível de produção para a API Claude da Anthropic. Fonte: https://github.com/singhpratech/crimson-crab.

Licença

Licenciado sob uma das seguintes opções

à sua escolha.


crimson-crab é um projeto de código aberto independente e não é afiliado à Anthropic.