MedPrompt
Voltar ao catálogo
Ferramentas de IA

Construtor de MCP Server (Model Context Protocol) Completo

Gera servidor MCP completo com tools, resources, prompts, handshake, testes e instruções de publicação


Prompt

Você é um engenheiro de plataforma de IA com 8 anos em integrações de LLM, contribuidor ativo do Model Context Protocol da Anthropic e autor de 12 MCP servers usados em produção por equipes como Stripe e Vercel. Você conhece a spec oficial, os edge cases de JSON-RPC e as armadilhas de stdio versus HTTP.

Sua tarefa é gerar um MCP server completo, funcional e publicável, para o domínio abaixo.

DOMÍNIO DO SERVER:

  • Nome do server: [EX: clinic-scheduling-mcp]
  • O que ele expõe: [EX: leitura e escrita no calendário de uma clínica via API Google Calendar]
  • Tools necessárias: [EX: list_appointments, create_appointment, cancel_appointment]
  • Resources necessários: [EX: patient list como URI mcp://patients/{id}]
  • Prompts necessários: [EX: template de lembrete de consulta]
  • Linguagem preferida: [EX: TypeScript com SDK oficial @modelcontextprotocol/sdk]
  • Transporte: [stdio para local, HTTP para remoto]
  • Autenticação: [EX: OAuth 2.0 com Google]

ENTREGÁVEIS:

  1. ESTRUTURA DO PROJETO

    clinic-scheduling-mcp/
      package.json
      tsconfig.json
      src/
        index.ts
        server.ts
        tools/
        resources/
        prompts/
        auth/
      tests/
      README.md
    
  2. MANIFESTO E HANDSHAKE

    • Arquivo package.json com dependência @modelcontextprotocol/sdk na versão atual
    • Implementação do handshake initialize com capabilities corretas
    • Listagem dinâmica de tools, resources e prompts
  3. IMPLEMENTAÇÃO DE CADA TOOL Para cada tool:

    • Schema JSON Schema (input) com validação estrita
    • Handler async com tratamento de erro estruturado
    • Retorno no formato content array com type: "text" ou type: "resource"
    • Exemplos de entrada e saída
  4. RESOURCES

    • URI scheme definido (EX: clinic://patients/{id})
    • Handler de resources/list paginado
    • Handler de resources/read com mime type correto
    • Cache opcional com TTL
  5. PROMPTS

    • Templates versionados
    • Argumentos tipados
    • Substituição segura (sem injection)
  6. AUTENTICAÇÃO E SEGREDOS

    • Fluxo OAuth ou API key via variável de ambiente
    • Refresh token handling
    • Jamais logar segredos
  7. TESTES

    • Teste de handshake com cliente mock
    • Teste de cada tool com input válido, input inválido e erro de backend
    • Teste de resources com paginação
    • Cobertura mínima sugerida: 80%
  8. INTEGRAÇÃO COM CLAUDE DESKTOP E CLAUDE CODE

    • Trecho de claude_desktop_config.json com comando e args
    • Exemplo de invocação via Claude Code
    • Logging para debug em ~/.mcp/logs/
  9. PUBLICAÇÃO

    • Scripts de build e release em package.json
    • Instruções para publicar no npm
    • Versionamento semântico e changelog
  10. README.md

    • O que o server faz em 3 linhas
    • Instalação e configuração
    • Lista de tools, resources, prompts
    • Troubleshooting de erros comuns (stdio drops, timeout, auth)

REQUISITOS DE ESTILO:

  • Código TypeScript estrito, sem any
  • Erros via McpError com ErrorCode apropriado
  • JSON-RPC sempre com id propagado
  • Nunca use em-dash

Input necessário

Antes de executar, conduza breve entrevista. Faça até 8 perguntas por rodada, aguarde respostas. Se precisar de mais, nova rodada com no máximo 8.

Informações mínimas a coletar:

  • Nome do server
  • O que ele expõe (API externa, dados internos, scripts)
  • Tools necessárias (com descrição e schema esperado)
  • Resources necessários (URI scheme e dados)
  • Prompts necessários (templates)
  • Linguagem preferida (TypeScript com SDK oficial, Python com SDK mcp)
  • Transporte (stdio local, HTTP remoto)
  • Autenticação (OAuth, API key, Bearer)

Ao colar exemplos de payloads ou schemas, REMOVA chaves de API, tokens, dados de pacientes ou credenciais reais.

Como usar

  1. Preencha o domínio do server com detalhes concretos
  2. Gere a estrutura e cole cada arquivo no repositório
  3. Rode npm install && npm run build && npm test
  4. Configure no Claude Desktop e teste via initialize manual

Exemplo

Entrada:

  • Nome: notion-kb-mcp
  • Tools: search_notion, get_page, append_block
  • Resources: notion://page/{id}
  • Linguagem: TypeScript, transporte stdio, auth via NOTION_TOKEN env

Saída esperada: projeto completo com src/index.ts iniciando o server, src/tools/search.ts com schema de query e filtros, testes em Vitest, config para Claude Desktop e README com screenshot de exemplo.

Variações

  • MCP server em Python: use SDK mcp oficial em Python, com FastMCP e Pydantic
  • MCP server somente de resources: omita tools e foque em exposição read-only de dados
  • MCP server HTTP remoto: inclua deploy em Cloudflare Workers e autenticação Bearer