Claude Chat MCP
Servidor MCP para a API de Mensagens do Anthropic Claude — chat, visão, pesquisa na web, pensamento estendido (Rust)
Documentação
mcp-server-claude-chat
Um servidor MCP (Model Context Protocol) para a API de Mensagens do Anthropic Claude. Construído em Rust, expõe chat, visão, busca web ao vivo e listagem de modelos como ferramentas MCP — para que qualquer cliente MCP (Claude Desktop, Claude Code, etc.) possa consultar o Claude como uma ferramenta.
Comunica-se via stdio usando JSON-RPC 2.0, como todos os outros servidores MCP nesta coleção. Estruturalmente, ele espelha mcp-server-grok-chat / mcp-server-gpt-chat, adaptado ao formato da API da Anthropic.
Assinatura vs. créditos de API
Este servidor usa a API da Anthropic com uma chave de API (créditos de API). Essa é a única forma suportada e em conformidade com os termos de usar o Claude a partir de uma ferramenta de terceiros.
Uma assinatura Pro/Max do Claude (o tipo que alimenta o Claude Code e os aplicativos Claude) não é utilizável aqui: essa autenticação é licenciada para os clientes próprios da Anthropic, e roteá-la através de um servidor personalizado violaria os Termos do Consumidor da Anthropic — a preocupação que você levantou sobre "US$ 200 de uso do Claude a partir de outro serviço". Então: chave de API mesmo. (Se você executar um gateway compatível com a Anthropic, aponte base_url para ele — veja Configuração.)
Ferramentas
| Ferramenta | Descrição |
|---|---|
chat | Envie uma mensagem para o Claude. Suporta histórico de múltiplas mensagens, prompt de sistema, seleção de modelo e pensamento estendido via thinking_budget. |
chat_with_vision | Analise uma imagem a partir de uma URL de imagem e um prompt de texto. |
chat_with_search | Converse com busca web ao vivo — o Claude pesquisa no servidor e responde com fontes citadas. |
list_models | Liste os modelos Claude disponíveis e seus IDs (armazenados em cache por 5 minutos). |
Nota: a Anthropic não possui endpoint de embeddings (eles recomendam o Voyage AI), portanto, ao contrário dos servidores grok/gpt, não há ferramenta
embedding.
chat
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | A mensagem do usuário a ser enviada |
system_prompt | string | não | Prompt de sistema para definir contexto/comportamento |
messages | string | não | Histórico da conversa como um array JSON de objetos {role, content} (apenas funções user/assistant — use system_prompt para instruções de sistema) |
model | string | não | ID do modelo (padrão: padrão do servidor, claude-opus-4-8). Chame list_models. |
temperature | float | não | Temperatura de amostragem (0.0–1.0). Ignorada quando thinking_budget está definido. |
max_tokens | integer | não | Máximo de tokens a gerar (padrão: padrão do servidor) |
thinking_budget | integer | não | Ativa o pensamento estendido com este orçamento de tokens (mínimo 1024). O raciocínio é retornado em um bloco [thinking]; max_tokens é automaticamente aumentado acima do orçamento. |
chat_with_vision
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | Prompt de texto descrevendo o que analisar |
image_url | string | sim | URL da imagem (deve ser http:// ou https://) |
model | string | não | ID do modelo com capacidade de visão (padrão: padrão do servidor) |
temperature | float | não | Temperatura de amostragem (0.0–1.0) |
max_tokens | integer | não | Máximo de tokens a gerar |
chat_with_search
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | A mensagem do usuário |
system_prompt | string | não | Prompt de sistema |
model | string | não | ID do modelo (padrão: padrão do servidor) |
temperature | float | não | Temperatura de amostragem (0.0–1.0) |
max_tokens | integer | não | Máximo de tokens a gerar |
max_uses | integer | não | Máximo de buscas web que o Claude pode executar para esta solicitação (padrão: 5) |
A busca web é cobrada pela Anthropic em US$ 10 por 1.000 buscas, além dos custos de tokens, e um administrador da organização deve habilitar a busca web no Console do Claude.
list_models
Sem parâmetros. Resultados armazenados em cache por 5 minutos.
Pré-requisitos
- Rust (edition 2024)
- Uma chave de API da Anthropic em console.anthropic.com
Configuração
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
Config (~/.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
O servidor falha rapidamente na inicialização se a config estiver ausente ou se api_key estiver vazio.
Build
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)
Configuração do MCP
Claude Desktop (~/.config/Claude/claude_desktop_config.json) ou qualquer 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
Estrutura do Projeto
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
Licença
MIT