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

  1. echo

    • Ferramenta simples para ecoar mensagens de entrada
    • Entrada:
      • message (string): Mensagem a ser ecoada
    • Retorna: Conteúdo de texto com a mensagem ecoada
  2. add

    • Soma dois números
    • Entradas:
      • a (número): Primeiro número
      • b (número): Segundo número
    • Retorna: Resultado de texto da adição
  3. longRunningOperation

    • Demonstra notificações de progresso para operações longas
    • Entradas:
      • duration (número, padrão: 10): Duração em segundos
      • steps (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
  4. sampleLLM

    • Demonstra a capacidade de amostragem de LLM usando o recurso de amostragem do MCP
    • Entradas:
      • prompt (string): O prompt a ser enviado ao LLM
      • maxTokens (número, padrão: 100): Máximo de tokens a gerar
    • Retorna: Resposta gerada pelo LLM
  5. getTinyImage

    • Retorna uma pequena imagem de teste
    • Nenhuma entrada necessária
    • Retorna: Dados de imagem PNG codificados em Base64
  6. 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
  7. 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ção
      • includeImage (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"]
      }
      
  8. 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

  1. simple_prompt

    • Prompt básico sem argumentos
    • Retorna: Troca de mensagem única
  2. 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
  3. 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...

Install with NPX in VS Code Install with NPX in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

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 mcp nã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