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)
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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | O prompt a ser enviado ao Claude. |
system | string | não | Prompt 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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
messages | array | sim | A 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. |
system | string | não | Prompt de sistema opcional. |
model | string | não | ID do modelo (padrão para o modelo ask_claude). |
max_tokens | integer | não | Má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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | O prompt cuja contagem de tokens você deseja. |
system | string | não | Prompt de sistema opcional a incluir na contagem. |
model | string | não | ID 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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
limit | integer | não | Nú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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
model | string | sim | O 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
- Licença MIT (LICENSE-MIT)
- Licença Apache, Versão 2.0 (LICENSE-APACHE)
à sua escolha.
crimson-crab é um projeto de código aberto independente e não é afiliado à Anthropic.