Everything MCP Server
Um servidor de teste que demonstra todos os recursos do protocolo MCP, incluindo prompts, ferramentas, recursos e amostragem.
Documentação
Servidor Everything MCP
Este servidor MCP tenta exercitar todos os recursos do protocolo MCP. Ele não tem a intenção de ser um servidor útil, mas sim um servidor de teste para construtores de clientes MCP. Ele implementa prompts, ferramentas, recursos, amostragem e muito mais para demonstrar as capacidades do MCP.
Componentes
Ferramentas
-
echo- Ferramenta simples para ecoar mensagens de entrada
- Entrada:
message(string): Mensagem a ser ecoada
- Retorna: Conteúdo de texto com a mensagem ecoada
-
add- Soma dois números
- Entradas:
a(número): Primeiro númerob(número): Segundo número
- Retorna: Resultado de texto da adição
-
longRunningOperation- Demonstra notificações de progresso para operações longas
- Entradas:
duration(número, padrão: 10): Duração em segundossteps(número, padrão: 5): Número de etapas de progresso
- Retorna: Mensagem de conclusão com duração e etapas
- Envia notificações de progresso durante a execução
-
sampleLLM- Demonstra a capacidade de amostragem de LLM usando o recurso de amostragem do MCP
- Entradas:
prompt(string): O prompt a ser enviado ao LLMmaxTokens(número, padrão: 100): Máximo de tokens a gerar
- Retorna: Resposta gerada pelo LLM
-
getTinyImage- Retorna uma pequena imagem de teste
- Nenhuma entrada necessária
- Retorna: Dados de imagem PNG codificados em Base64
-
printEnv- Imprime todas as variáveis de ambiente
- Útil para depurar a configuração do servidor MCP
- Nenhuma entrada necessária
- Retorna: String JSON de todas as variáveis de ambiente
-
annotatedMessage- Demonstra como anotações podem ser usadas para fornecer metadados sobre o conteúdo
- Entradas:
messageType(enum: "error" | "success" | "debug"): Tipo de mensagem para demonstrar diferentes padrões de anotaçãoincludeImage(booleano, padrão: false): Se deve incluir uma imagem de exemplo
- Retorna: Conteúdo com anotações variadas:
- Mensagens de erro: Prioridade alta (1.0), visíveis tanto para o usuário quanto para o assistente
- Mensagens de sucesso: Prioridade média (0.7), focadas no usuário
- Mensagens de depuração: Prioridade baixa (0.3), focadas no assistente
- Imagem opcional: Prioridade média (0.5), focada no usuário
- Exemplos de anotações:
{ "priority": 1.0, "audience": ["user", "assistant"] }
-
getResourceReference- Retorna uma referência de recurso que pode ser usada por clientes MCP
- Entradas:
resourceId(número, 1-100): ID do recurso a ser referenciado
- Retorna: Uma referência de recurso com:
- Introdução em texto
- Recurso incorporado com
type: "resource" - Instrução em texto para usar o URI do recurso
Recursos
O servidor fornece 100 recursos de teste em dois formatos:
-
Recursos de número par:
- Formato de texto simples
- Padrão de URI:
test://static/resource/{even_number} - Conteúdo: Descrição de texto simples
-
Recursos de número ímpar:
- Formato de blob binário
- Padrão de URI:
test://static/resource/{odd_number} - Conteúdo: Dados binários codificados em Base64
Recursos de recursos:
- Suporta paginação (10 itens por página)
- Permite assinar atualizações de recursos
- Demonstra modelos de recursos
- Atualiza automaticamente recursos assinados a cada 5 segundos
Prompts
-
simple_prompt- Prompt básico sem argumentos
- Retorna: Troca de mensagem única
-
complex_prompt- Prompt avançado demonstrando manipulação de argumentos
- Argumentos obrigatórios:
temperature(número): Configuração de temperatura
- Argumentos opcionais:
style(string): Preferência de estilo de saída
- Retorna: Conversa de múltiplas etapas com imagens
-
resource_prompt- Demonstra incorporação de referências de recursos em prompts
- Argumentos obrigatórios:
resourceId(número): ID do recurso a ser incorporado (1-100)
- Retorna: Conversa de múltiplas etapas com uma referência de recurso incorporada
- Mostra como incluir recursos diretamente nas mensagens do prompt
Registro
O servidor envia mensagens de registro com níveis aleatórios a cada 15 segundos, por exemplo:
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Info-level message"
}
}
Uso com Claude Desktop (usa transporte stdio)
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
]
}
}
}
Uso com VS Code
Para instalação rápida, use um dos botões de instalação com um clique abaixo...
Para instalação manual, adicione o seguinte bloco JSON ao seu arquivo de Configurações do Usuário (JSON) no VS Code. Você pode fazer isso pressionando Ctrl + Shift + P e digitando Preferences: Open User Settings (JSON).
Opcionalmente, você pode adicioná-lo a um arquivo chamado .vscode/mcp.json no seu espaço de trabalho. Isso permitirá que você compartilhe a configuração com outras pessoas.
Observe que a chave
mcpnão é necessária no arquivo.vscode/mcp.json.
NPX
{
"mcp": {
"servers": {
"everything": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
}
}
Executando a partir do código-fonte com transporte HTTP+SSE (obsoleto a partir de 2025-03-26)
cd src/everything
npm install
npm run start:sse
Executar a partir do código-fonte com transporte HTTP Streamable
cd src/everything
npm install
npm run start:streamableHttp
Executando como um pacote instalado
Instalar
npm install -g @modelcontextprotocol/server-everything@latest
Run the default (stdio) server
npx @modelcontextprotocol/server-everything
Ou especifique stdio explicitamente
npx @modelcontextprotocol/server-everything stdio
Executar o servidor SSE
npx @modelcontextprotocol/server-everything sse
Executar o servidor HTTP streamable
npx @modelcontextprotocol/server-everything streamableHttp