Communitygithub.com

Guia de Desenvolvimento de Servidor MCP

Guia para criar servidores MCP (Model Context Protocol) de alta qualidade que permitem que LLMs interajam com serviços externos por meio de ferramentas bem projetadas. Use ao construir servidores MCP para integrar APIs ou serviços externos, seja em Python (FastMCP) ou Node/TypeScript (MCP SDK).

O que é Guia de Desenvolvimento de Servidor MCP?

Este guia fornece um processo abrangente para o desenvolvimento de servidores MCP (Model Context Protocol) de alta qualidade. Ele é projetado para desenvolvedores que desejam capacitar modelos de linguagem (LLMs) a interagir com serviços externos, como APIs, de forma eficiente e confiável. O guia cobre todo o ciclo de vida do desenvolvimento, desde o planejamento inicial e pesquisa profunda sobre o design moderno de MCP, passando pela implementação em TypeScript ou Python, até os testes e a criação de avaliações para verificar a eficácia do servidor. As principais plataformas suportadas são TypeScript (com MCP SDK) e Python (com FastMCP), com recomendações específicas para transporte (Streamable HTTP para servidores remotos, stdio para locais). O processo é dividido em quatro fases: Pesquisa e Planejamento, Implementação da infraestrutura central (cliente API, tratamento de erros, paginação) e ferramentas com esquemas de entrada/saída bem definidos, Revisão e Testes (incluindo o MCP Inspector), e Criação de Avaliações. Um diferencial é a ênfase em criar avaliações (evaluations) com perguntas complexas e realistas para testar se o LLM consegue usar efetivamente as ferramentas do servidor para resolver problemas do mundo real. O guia também oferece acesso a documentos de referência, como as melhores práticas do MCP, guias de implementação específicos para linguagem e um guia detalhado para avaliações.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/David-Li0406/meta-skill-evloving/tree/HEAD/AgentSkillOS/data/skill_seeds/mcp-builder

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Guia de Desenvolvimento de Servidor MCP faz?

Visão Geral

Crie servidores MCP (Model Context Protocol) que permitem que LLMs interajam com serviços externos por meio de ferramentas bem projetadas. A qualidade de um servidor MCP é medida por quão bem ele permite que LLMs realizem tarefas do mundo real.


Processo

🚀 Fluxo de Trabalho de Alto Nível

A criação de um servidor MCP de alta qualidade envolve quatro fases principais:

Fase 1: Pesquisa e Planejamento Profundos

1.1 Entenda o Design Moderno de MCP

Cobertura de API vs. Ferramentas de Workflow: Equilibre a cobertura abrangente de endpoints de API com ferramentas de workflow especializadas. Ferramentas de workflow podem ser mais convenientes para tarefas específicas, enquanto a cobertura abrangente dá aos agentes flexibilidade para compor operações. O desempenho varia por cliente—alguns clientes se beneficiam da execução de código que combina ferramentas básicas, enquanto outros funcionam melhor com workflows de nível superior. Quando estiver em dúvida, priorize a cobertura abrangente de API.

Nomeação e Descoberta de Ferramentas: Nomes de ferramentas claros e descritivos ajudam os agentes a encontrar as ferramentas certas rapidamente. Use prefixos consistentes (por exemplo, github_create_issue, github_list_repos) e nomes orientados à ação.

Gerenciamento de Contexto: Os agentes se beneficiam de descrições concisas de ferramentas e da capacidade de filtrar/paginar resultados. Crie ferramentas que retornem dados focados e relevantes. Alguns clientes suportam execução de código, o que pode ajudar os agentes a filtrar e processar dados de forma eficiente.

Mensagens de Erro Acionáveis: As mensagens de erro devem guiar os agentes em direção a soluções com sugestões específicas e próximos passos.

1.2 Estude a Documentação do Protocolo MCP

Navegue pela especificação MCP:

Comece com o sitemap para encontrar páginas relevantes: https://modelcontextprotocol.io/sitemap.xml

Em seguida, busque páginas específicas com o sufixo .md para formato markdown (por exemplo, https://modelcontextprotocol.io/specification/draft.md).

Páginas principais a revisar:

  • Visão geral da especificação e arquitetura
  • Mecanismos de transporte (streamable HTTP, stdio)
  • Definições de ferramenta, recurso e prompt

1.3 Estude a Documentação do Framework

Stack recomendada:

  • Linguagem: TypeScript (suporte SDK de alta qualidade e boa compatibilidade em muitos ambientes de execução, como MCPB. Além disso, os modelos de IA são bons em gerar código TypeScript, beneficiando-se de seu amplo uso, tipagem estática e boas ferramentas de linting)
  • Transporte: Streamable HTTP para servidores remotos, usando JSON sem estado (mais simples de escalar e manter, ao contrário de sessões stateful e respostas em streaming). stdio para servidores locais.

Carregue a documentação do framework:

Para TypeScript (recomendado):

  • SDK TypeScript: Use WebFetch para carregar https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
  • ⚡ Guia TypeScript - Padrões e exemplos TypeScript

Para Python:

  • SDK Python: Use WebFetch para carregar https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • 🐍 Guia Python - Padrões e exemplos Python

1.4 Planeje Sua Implementação

Entenda a API: Revise a documentação da API do serviço para identificar endpoints principais, requisitos de autenticação e modelos de dados. Use pesquisa web e WebFetch conforme necessário.

Seleção de Ferramentas: Priorize a cobertura abrangente da API. Liste os endpoints a serem implementados, começando pelas operações mais comuns.


Fase 2: Implementação

2.1 Configure a Estrutura do Projeto

Consulte os guias específicos de linguagem para configuração do projeto:

2.2 Implemente a Infraestrutura Principal

Crie utilitários compartilhados:

  • Cliente API com autenticação
  • Auxiliares de tratamento de erros
  • Formatação de resposta (JSON/Markdown)
  • Suporte a paginação

2.3 Implemente Ferramentas

Para cada ferramenta:

Esquema de Entrada:

  • Use Zod (TypeScript) ou Pydantic (Python)
  • Inclua restrições e descrições claras
  • Adicione exemplos nas descrições dos campos

Esquema de Saída:

  • Defina outputSchema quando possível para dados estruturados
  • Use structuredContent nas respostas da ferramenta (recurso do SDK TypeScript)
  • Ajuda os clientes a entender e processar as saídas da ferramenta

Descrição da Ferramenta:

  • Resumo conciso da funcionalidade
  • Descrições dos parâmetros
  • Esquema do tipo de retorno

Implementação:

  • Async/await para operações de I/O
  • Tratamento de erros adequado com mensagens acionáveis
  • Suporte a paginação quando aplicável
  • Retorne tanto conteúdo de texto quanto dados estruturados ao usar SDKs modernos

Anotações:

  • readOnlyHint: verdadeiro/falso
  • destructiveHint: verdadeiro/falso
  • idempotentHint: verdadeiro/falso
  • openWorldHint: verdadeiro/falso

Fase 3: Revisão e Teste

3.1 Qualidade do Código

Revise para:

  • Nenhum código duplicado (princípio DRY)
  • Tratamento de erros consistente
  • Cobertura total de tipos
  • Descrições claras das ferramentas

3.2 Compile e Teste

TypeScript:

  • Execute npm run build para verificar a compilação
  • Teste com o MCP Inspector: npx @modelcontextprotocol/inspector

Python:

  • Verifique a sintaxe: python -m py_compile your_server.py
  • Teste com o MCP Inspector

Consulte os guias específicos de linguagem para abordagens de teste detalhadas e listas de verificação de qualidade.


Fase 4: Crie Avaliações

Após implementar seu servidor MCP, crie avaliações abrangentes para testar sua eficácia.

Carregue o ✅ Guia de Avaliação para diretrizes completas de avaliação.

4.1 Entenda o Propósito da Avaliação

Use avaliações para testar se os LLMs podem usar efetivamente seu servidor MCP para responder a perguntas complexas e realistas.

4.2 Crie 10 Perguntas de Avaliação

Para criar avaliações eficazes, siga o processo descrito no guia de avaliação:

  1. Inspeção de Ferramentas: Liste as ferramentas disponíveis e entenda suas capacidades
  2. Exploração de Conteúdo: Use operações SOMENTE LEITURA para explorar os dados disponíveis
  3. Geração de Perguntas: Crie 10 perguntas complexas e realistas
  4. Verificação de Respostas: Resolva cada pergunta você mesmo para verificar as respostas

4.3 Requisitos da Avaliação

Garanta que cada pergunta seja:

  • Independente: Não dependente de outras perguntas
  • Somente leitura: Apenas operações não destrutivas são necessárias
  • Complexa: Exigindo múltiplas chamadas de ferramenta e exploração profunda
  • Realista: Baseada em casos de uso reais que humanos se importariam
  • Verificável: Resposta única e clara que pode ser verificada por comparação de strings
  • Estável: A resposta não mudará com o tempo

4.4 Formato de Saída

Crie um arquivo XML com esta estrutura:

<evaluation>
  <qa_pair>
    <question>Encontre discussões sobre lançamentos de modelos de IA com codinomes de animais. Um modelo precisava de uma designação de segurança específica que usa o formato ASL-X. Qual número X estava sendo determinado para o modelo com o nome de um gato selvagem manchado?</question>
    <answer>3</answer>
  </qa_pair>
<!-- Mais qa_pairs... -->
</evaluation>

Arquivos de Referência

📚 Biblioteca de Documentação

Carregue estes recursos conforme necessário durante o desenvolvimento:

Documentação Principal do MCP (Carregue Primeiro)

  • Protocolo MCP: Comece com o sitemap em https://modelcontextprotocol.io/sitemap.xml, em seguida, busque páginas específicas com o sufixo .md
  • 📋 Melhores Práticas MCP - Diretrizes universais de MCP, incluindo:
    • Convenções de nomenclatura de servidor e ferramenta
    • Diretrizes de formato de resposta (JSON vs Markdown)
    • Melhores práticas de paginação
    • Seleção de transporte (streamable HTTP vs stdio)
    • Padrões de segurança e tratamento de erros

Documentação do SDK (Carregue Durante a Fase 1/2)

  • SDK Python: Buscar de https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • SDK TypeScript: Buscar de https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md

Guias de Implementação Específicos por Linguagem (Carregue Durante a Fase 2)

  • 🐍 Guia de Implementação Python - Guia completo Python/FastMCP com:

    • Padrões de inicialização do servidor
    • Exemplos de modelo Pydantic
    • Registro de ferramentas com @mcp.tool
    • Exemplos completos funcionais
    • Lista de verificação de qualidade
  • ⚡ Guia de Implementação TypeScript - Guia completo TypeScript com:

    • Estrutura do projeto
    • Padrões de esquema Zod
    • Registro de ferramentas com server.registerTool
    • Exemplos completos funcionais
    • Lista de verificação de qualidade

Guia de Avaliação (Carregue Durante a Fase 4)

  • ✅ Guia de Avaliação - Guia completo de criação de avaliação com:
    • Diretrizes de criação de perguntas
    • Estratégias de verificação de respostas
    • Especificações de formato XML
    • Exemplos de perguntas e respostas
    • Execução de uma avaliação com os scripts fornecidos

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

David-Li0406/meta-skill-evloving

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

David-Li0406/meta-skill-evloving

Create technical diagrams using Mermaid syntax for architecture, sequences, ERDs, flowcharts, and state machines. Use for visualizing system design, data flows, and processes. Triggers: diagram, mermaid, architecture diagram, sequence diagram, flowchart, ERD, entity relationship, state diagram, C4 model, component diagram, visualize, draw.

David-Li0406/meta-skill-evloving

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

David-Li0406/meta-skill-evloving

Complete color manipulation and green screen effects system. PROACTIVELY activate for: (1) Green screen/chromakey removal, (2) Color grading with LUTs, (3) Color correction (levels, curves, white balance), (4) Colorkey/color removal effects, (5) Hue/saturation manipulation, (6) Color space conversions (BT.709, BT.2020, HDR), (7) Color isolation effects, (8) Teal and orange look, (9) Vintage/film looks, (10) Color keying for transparency. Provides: chromakey and colorkey filters, LUT application (lut3d), curves and levels adjustment, color balance, selective color manipulation, color space handling, HDR tone mapping, professional color grading chains.

David-Li0406/meta-skill-evloving

Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.

David-Li0406/meta-skill-evloving

Build with OpenAI's stateless APIs - Chat Completions (GPT-5, GPT-4o), Embeddings, Images (DALL-E 3), Audio (Whisper + TTS), and Moderation. Includes Node.js SDK and fetch-based approaches for Cloudflare Workers. Use when: implementing chat completions with GPT-5/GPT-4o, streaming responses with SSE, using function calling/tools, creating structured outputs with JSON schemas, generating embeddings for RAG (text-embedding-3-small/large), generating images with DALL-E 3, editing images with GPT-Image-1, transcribing audio with Whisper, synthesizing speech with TTS (11 voices), moderating content (11 safety categories), or troubleshooting rate limits (429), invalid API keys (401), function calling failures, streaming parse errors, embeddings dimension mismatches, or token limit exceeded.

David-Li0406/meta-skill-evloving

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

David-Li0406/meta-skill-evloving

Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks

David-Li0406/meta-skill-evloving

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

David-Li0406/meta-skill-evloving

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

David-Li0406/meta-skill-evloving

Best practices for Remotion - Video creation in React

David-Li0406/meta-skill-evloving

Provides bidirectional translation (Chinese/English), grammar checking, and sentence polishing. Supports specific tense constraints, context-aware tone adjustment, and natural expression optimization. Outputs direct text without formatting.

David-Li0406/meta-skill-evloving

指导如何通过自定义注解(如@Unicom)标识Dubbo接口,利用BeanDefinitionRegistryPostProcessor在启动时扫描并动态注册ReferenceBean,实现RPC调用的封装。

David-Li0406/meta-skill-evloving

生成Python脚本,利用FFmpeg将图片序列按3x3布局合并,或将合并图拆分。要求使用subprocess模块执行命令,并支持用户交互式输入路径。

David-Li0406/meta-skill-evloving

SOP for extracting and analyzing promotional activity details, handling time formatting, location mapping, payment logic, and step-by-step process validation.

David-Li0406/meta-skill-evloving

Specializes in creating TikTok short video scripts using an anthropomorphic 'Chef' perspective to explain wildlife food chains and survival environments, utilizing real field footage.

David-Li0406/meta-skill-evloving

针对TikTok平台,以拟人化视角(如动物作为厨师)创作系列短视频脚本。重点介绍野生动物、食物链及生态环境,要求使用野外实拍素材,风格幽默且具有教育意义。

David-Li0406/meta-skill-evloving

Generates KWL (Know, Want to know, Learned) charts for educational videos, specifically BrainPOP, using simple 7th-grade language and short, concise bullet points.

David-Li0406/meta-skill-evloving

Develops DAX measures to calculate promo and regular volumes and generates a calculated table of dates excluding continuous promo date ranges, handling multiple periods and nulls.

David-Li0406/meta-skill-evloving

Tracks complex, multi-session work using the Beads issue tracker and dependency graphs, and provides persistent memory that survives conversation compaction. Use when work spans multiple sessions, has complex dependencies, or needs persistent context across compaction cycles. Trigger with phrases like "create task for", "what's ready to work on", "show task", "track this work", "what's blocking", or "update status".

Habilidades Relacionadas