mcp-builder

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 mcp-builder ?

Ce skill « mcp-builder » est un guide complet de développement pour construire des serveurs MCP (Model Context Protocol) de haute qualité. Il permet aux LLM (grands modèles de langage) d'interagir avec des services externes via des outils bien conçus. Le guide couvre l'ensemble du processus, de la recherche approfondie et de la planification à l'implémentation, aux tests et à la création d'évaluations. Il recommande TypeScript avec le SDK v2 (`@modelcontextprotocol/server`) comme stack privilégiée, mais prend également en charge Python avec FastMCP et le SDK v1 pour les projets existants. Le skill insiste sur des principes clés : équilibre entre couverture API complète et outils de workflow, nommage clair des outils, descriptions concises, messages d'erreur exploitables, et utilisation de schémas d'entrée robustes (Zod/Pydantic). Il fournit des liens vers des ressources essentielles comme les bonnes pratiques MCP, les guides d'implémentation par langage, et un guide d'évaluation. L'objectif final est de créer un serveur MCP fiable et efficace, capable de répondre à des questions complexes du monde réel grâce à des appels d'outils multiples.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/anthropics/skills/tree/main/skills/mcp-builder

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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 serveur 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 à 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 de terminaison 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 d'une 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 ex., 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 spécifiques et des prochaines étapes.

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

Ensuite, récupérez des pages spécifiques avec le suffixe .md pour le format markdown (par ex., https://modelcontextprotocol.io/specification/draft.md).

Pages clés à consulter :

  • Aperçu de la spécification et architecture
  • 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 (support SDK de haute qualité et bonne compatibilité dans de nombreux environnements d'exécution, par ex. MCPB. De plus, les modèles d'IA génèrent bien du code TypeScript, bénéficiant de son utilisation répandue, de son typage statique et de ses bons outils de linting).
  • Transport : HTTP streamable pour les serveurs distants, utilisant JSON sans état (plus simple à scaler 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é) :

Le SDK TypeScript a deux versions majeures. Choisissez-en une avant d'écrire du code :

  • v2 (@modelcontextprotocol/server) : la version stable actuelle. Utilisez-la pour les nouveaux serveurs.
  • v1 (@modelcontextprotocol/sdk) : ne reçoit que des correctifs de bugs et de sécurité. Utilisez-la uniquement si le package.json du projet dépend déjà de @modelcontextprotocol/sdk, ou migrez ce projet avec npx @modelcontextprotocol/codemod@latest v1-to-v2 .

Si le projet utilise déjà v1, informez-en l'utilisateur une fois, en une ou deux phrases, que v2 (@modelcontextprotocol/server) est la version stable actuelle, que v1 ne reçoit que des correctifs de bugs et de sécurité, et que npx @modelcontextprotocol/codemod@latest v1-to-v2 . migre le projet. Continuez ensuite avec v1 sauf si l'utilisateur demande la migration.

Ne mélangez pas les deux dans un même projet : les exemples de code v1 (importations depuis @modelcontextprotocol/sdk/...) ne s'appliquent pas à v2.

  • SDK TypeScript (v2) : Utilisez WebFetch pour charger https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md ; l'index complet de la documentation est https://ts.sdk.modelcontextprotocol.io/v2/llms.txt
  • ⚡ Guide TypeScript (v2) - Modèles et exemples TypeScript
  • Pour les projets v1 uniquement : https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/v1.x/README.md et le Guide TypeScript (v1)

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 de terminaison 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 de terminaison à implémenter, en commençant par les opérations les plus courantes.


Phase 2 : Implémentation

2.1 Configurer la structure du projet

Consultez 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)
  • Support 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 des 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 de la fonctionnalité
  • Descriptions des paramètres
  • Schéma du type de retour

Implémentation :

  • Async/await pour les opérations d'E/S
  • Gestion appropriée des erreurs avec des messages exploitables
  • Support de la pagination le cas échéant
  • Renvoi à la fois du contenu textuel et des données structurées lors de l'utilisation de 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 Compilation et test

TypeScript :

  • Exécutez npm run build pour vérifier la compilation
  • Projets v2 : exécutez le script d'auto-vérification du guide v2 contre le serveur compilé
  • Testez avec MCP Inspector : npx @modelcontextprotocol/inspector

Python :

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

Consultez les guides spécifiques au langage pour des approches de test détaillées et des listes de contrôle 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 le ✅ Guide d'évaluation pour des directives complètes d'évaluation.

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 EN LECTURE SEULE 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 :

  • Indépendante : Ne dépend pas d'autres questions
  • En lecture seule : Nécessite uniquement des opérations non destructives
  • Complexe : Nécessite 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 nécessitait une désignation de sécurité spécifique utilisant le format ASL-X. Quel nombre 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 principale (À charger en premier)

  • Protocole MCP : Commencez par le plan du site à https://modelcontextprotocol.io/sitemap.xml, puis récupérez des 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 les phases 1/2)

  • SDK Python : Récupérez depuis https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
  • SDK TypeScript (v2) : Récupérez depuis https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md ; index complet de la documentation à https://ts.sdk.modelcontextprotocol.io/v2/llms.txt
  • SDK TypeScript (v1, projets v1 existants uniquement) : Récupérez depuis https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/v1.x/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 de serveur
    • Exemples de modèles Pydantic
    • Enregistrement d'outils avec @mcp.tool
    • Exemples complets fonctionnels
    • Liste de contrôle qualité
  • ⚡ Guide d'implémentation TypeScript (SDK v2) - Guide TypeScript complet pour @modelcontextprotocol/server avec :

    • Configuration du projet et la fabrique de serveur
    • Conception d'outils : schémas Zod 4, formats de sortie, pagination, erreurs
    • Un exemple complet servant stdio et HTTP streamable, plus une authentification par bearer
    • Ressources, invites et notifications
    • Un script d'auto-vérification pour valider le serveur compilé
    • Liens vers des exemples SDK pour des fonctionnalités avancées
    • Une table de traduction v1 → v2, des étapes de migration et une liste de contrôle qualité
  • ⚡ Guide d'implémentation TypeScript (SDK v1) - Le guide équivalent pour les projets existants @modelcontextprotocol/sdk

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 19 individual skills — each has its own dedicated page.

academy-guide

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists

anthropics/template-skill

Replace with description of the skill and when Claude should use it.

brand-guidelines

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists

claude-api

|-

discernment-nudge

After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

docx

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of

frontend-design

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

internal-comms

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

pdf

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

pptx

Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \

skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill

slack-gif-creator

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like

theme-factory

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web-artifacts-builder

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

xlsx

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \

Skills associés