Communitygithub.com

David-Li0406/meta-skill-evloving

Guide pour créer des serveurs MCP (Model Context Protocol) de haute qualité permettant aux LLM d'interagir avec des services externes via des outils bien conçus. À utiliser lors de la construction de serveurs MCP pour intégrer des API ou services externes, que ce soit en Python (FastMCP) ou Node/TypeScript (MCP SDK).

Qu'est-ce que meta-skill-evloving ?

Ce guide est une ressource complète pour les développeurs qui souhaitent créer des serveurs MCP (Model Context Protocol) de qualité professionnelle. Il couvre l'ensemble du cycle de vie d'un serveur MCP, depuis la recherche initiale et la planification jusqu'à la création d'évaluations robustes. Le guide détaille les phases clés : recherche approfondie sur la conception MCP (comme l'équilibre entre la couverture d'API et les outils de workflow, les conventions de nommage, et la gestion du contexte), implémentation en TypeScript ou Python avec les SDK recommandés, test avec l'inspecteur MCP, et création de 10 questions d'évaluation complexes. Il inclut des liens vers des ressources de référence comme les meilleures pratiques MCP et des guides spécifiques par langage. Utile pour tout développeur cherchant à intégrer des services externes à des agents LLM, le guide met l'accent sur la conception axée sur les outils, la gestion des erreurs, la pagination, et la fourniture de données structurées. Il prend en charge les environnements TypeScript (SDK TypeScript) et Python (SDK Python).

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Guide de développement de serveurs MCP

Aperçu

Créez des serveurs MCP (Model Context Protocol) qui permettent aux LLM d'interagir avec des services externes via des outils bien conçus. La qualité d'un serveur MCP se mesure par sa capacité à permettre aux LLM d'accomplir des tâches concrètes.


Processus

🚀 Flux de travail général

La création d'un serveur MCP de haute qualité implique quatre phases principales :

Phase 1 : Recherche approfondie et planification

1.1 Comprendre la conception MCP moderne

Couverture API vs. Outils de workflow : Équilibrez la couverture complète des points d'accès API avec des outils de workflow spécialisés. Les outils de workflow peuvent être plus pratiques pour des tâches spécifiques, tandis qu'une couverture complète offre aux agents la flexibilité de composer des opérations. Les performances varient selon le client : certains clients bénéficient de l'exécution de code qui combine des outils de base, tandis que d'autres fonctionnent mieux avec des workflows de plus haut niveau. En cas d'incertitude, privilégiez une couverture API complète.

Nommage et découvrabilité des outils : Des noms d'outils clairs et descriptifs aident les agents à trouver rapidement les bons outils. Utilisez des préfixes cohérents (par exemple, github_create_issue, github_list_repos) et un nommage orienté action.

Gestion du contexte : Les agents bénéficient de descriptions d'outils concises et de la possibilité de filtrer/paginer les résultats. Concevez des outils qui renvoient des données ciblées et pertinentes. Certains clients prennent en charge l'exécution de code, ce qui peut aider les agents à filtrer et traiter les données efficacement.

Messages d'erreur exploitables : Les messages d'erreur doivent guider les agents vers des solutions avec des suggestions et des étapes suivantes spécifiques.

1.2 Étudier la documentation du protocole MCP

Naviguer dans la spécification MCP :

Commencez par le plan du site pour trouver les pages pertinentes : https://modelcontextprotocol.io/sitemap.xml

Récupérez ensuite les pages spécifiques avec le suffixe .md pour le format Markdown (par exemple, https://modelcontextprotocol.io/specification/draft.md).

Pages clés à consulter :

  • Présentation et architecture de la spécification
  • Mécanismes de transport (HTTP streamable, stdio)
  • Définitions des outils, ressources et invites

1.3 Étudier la documentation du framework

Stack recommandée :

  • Langage: TypeScript (prise en charge SDK de haute qualité et bonne compatibilité dans de nombreux environnements d'exécution, par exemple MCPB. De plus, les modèles d'IA sont doués pour générer du code TypeScript, bénéficiant de son utilisation massive, de son typage statique et de ses bons outils de linting)
  • Transport: HTTP streamable pour les serveurs distants, en utilisant du JSON sans état (plus simple à mettre à l'échelle et à maintenir, contrairement aux sessions avec état et aux réponses en streaming). stdio pour les serveurs locaux.

Charger la documentation du framework :

Pour TypeScript (recommandé) :

  • SDK TypeScript: Utilisez WebFetch pour charger https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
  • ⚡ Guide TypeScript - Modèles et exemples TypeScript

Pour Python :

  • SDK Python: Utilisez WebFetch pour charger https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • 🐍 Guide Python - Modèles et exemples Python

1.4 Planifier votre implémentation

Comprendre l'API : Consultez la documentation de l'API du service pour identifier les points d'accès clés, les exigences d'authentification et les modèles de données. Utilisez la recherche Web et WebFetch si nécessaire.

Sélection des outils : Privilégiez une couverture API complète. Listez les points d'accès à implémenter, en commençant par les opérations les plus courantes.


Phase 2 : Implémentation

2.1 Configurer la structure du projet

Voir les guides spécifiques au langage pour la configuration du projet :

2.2 Implémenter l'infrastructure de base

Créez des utilitaires partagés :

  • Client API avec authentification
  • Aides à la gestion des erreurs
  • Mise en forme des réponses (JSON/Markdown)
  • Prise en charge de la pagination

2.3 Implémenter les outils

Pour chaque outil :

Schéma d'entrée :

  • Utilisez Zod (TypeScript) ou Pydantic (Python)
  • Incluez des contraintes et des descriptions claires
  • Ajoutez des exemples dans les descriptions de champs

Schéma de sortie :

  • Définissez outputSchema lorsque c'est possible pour les données structurées
  • Utilisez structuredContent dans les réponses des outils (fonctionnalité du SDK TypeScript)
  • Aide les clients à comprendre et traiter les sorties des outils

Description de l'outil :

  • Résumé concis des fonctionnalités
  • Descriptions des paramètres
  • Schéma du type de retour

Implémentation :

  • Async/await pour les opérations d'I/O
  • Gestion appropriée des erreurs avec des messages exploitables
  • Prise en charge de la pagination le cas échéant
  • Renvoyez à la fois le contenu textuel et les données structurées lors de l'utilisation des SDK modernes

Annotations :

  • readOnlyHint: true/false
  • destructiveHint: true/false
  • idempotentHint: true/false
  • openWorldHint: true/false

Phase 3 : Révision et test

3.1 Qualité du code

Vérifiez :

  • Absence de code dupliqué (principe DRY)
  • Gestion cohérente des erreurs
  • Couverture complète des types
  • Descriptions claires des outils

3.2 Construction et test

TypeScript :

  • Exécutez npm run build pour vérifier la compilation
  • Testez avec MCP Inspector : npx @modelcontextprotocol/inspector

Python :

  • Vérifiez la syntaxe : python -m py_compile your_server.py
  • Testez avec MCP Inspector

Voir les guides spécifiques au langage pour des approches de test détaillées et des listes de contrôle de qualité.


Phase 4 : Créer des évaluations

Après avoir implémenté votre serveur MCP, créez des évaluations complètes pour tester son efficacité.

Chargez ✅ Guide d'évaluation pour des directives d'évaluation complètes.

4.1 Comprendre l'objectif de l'évaluation

Utilisez les évaluations pour tester si les LLM peuvent utiliser efficacement votre serveur MCP pour répondre à des questions réalistes et complexes.

4.2 Créer 10 questions d'évaluation

Pour créer des évaluations efficaces, suivez le processus décrit dans le guide d'évaluation :

  1. Inspection des outils: Listez les outils disponibles et comprenez leurs capacités
  2. Exploration du contenu: Utilisez des opérations READ-ONLY pour explorer les données disponibles
  3. Génération de questions: Créez 10 questions complexes et réalistes
  4. Vérification des réponses: Résolvez chaque question vous-même pour vérifier les réponses

4.3 Exigences d'évaluation

Assurez-vous que chaque question est :

  • Indépendante: Ne dépend pas d'autres questions
  • En lecture seule: Uniquement des opérations non destructives requises
  • Complexe: Nécessitant plusieurs appels d'outils et une exploration approfondie
  • Réaliste: Basée sur des cas d'utilisation réels qui intéressent les humains
  • Vérifiable: Réponse unique et claire pouvant être vérifiée par comparaison de chaînes
  • Stable: La réponse ne change pas avec le temps

4.4 Format de sortie

Créez un fichier XML avec cette structure :

<evaluation>
  <qa_pair>
    <question>Trouvez des discussions sur les lancements de modèles d'IA avec des noms de code d'animaux. Un modèle avait besoin d'une désignation de sécurité spécifique qui utilise le format ASL-X. Quel numéro X était déterminé pour le modèle nommé d'après un chat sauvage tacheté ?</question>
    <answer>3</answer>
  </qa_pair>
<!-- Plus de qa_pairs... -->
</evaluation>

Fichiers de référence

📚 Bibliothèque de documentation

Chargez ces ressources selon les besoins pendant le développement :

Documentation MCP de base (à charger en premier)

  • Protocole MCP: Commencez par le plan du site à https://modelcontextprotocol.io/sitemap.xml, puis récupérez les pages spécifiques avec le suffixe .md
  • 📋 Bonnes pratiques MCP - Directives MCP universelles incluant :
    • Conventions de nommage des serveurs et outils
    • Directives de format de réponse (JSON vs Markdown)
    • Bonnes pratiques de pagination
    • Sélection du transport (HTTP streamable vs stdio)
    • Normes de sécurité et de gestion des erreurs

Documentation SDK (à charger pendant la phase 1/2)

  • SDK Python: Récupérez depuis https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • SDK TypeScript: Récupérez depuis https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md

Guides d'implémentation spécifiques au langage (à charger pendant la phase 2)

  • 🐍 Guide d'implémentation Python - Guide Python/FastMCP complet avec :

    • Modèles d'initialisation du serveur
    • Exemples de modèles Pydantic
    • Enregistrement d'outils avec @mcp.tool
    • Exemples complets et fonctionnels
    • Liste de contrôle qualité
  • ⚡ Guide d'implémentation TypeScript - Guide TypeScript complet avec :

    • Structure du projet
    • Modèles de schéma Zod
    • Enregistrement d'outils avec server.registerTool
    • Exemples complets et fonctionnels
    • Liste de contrôle qualité

Guide d'évaluation (à charger pendant la phase 4)

  • ✅ Guide d'évaluation - Guide complet de création d'évaluations avec :
    • Directives de création de questions
    • Stratégies de vérification des réponses
    • Spécifications du format XML
    • Exemples de questions et réponses
    • Exécution d'une évaluation avec les scripts fournis

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".

Skills associés