Communitygithub.com

mcp-server-patterns

Construisez des serveurs MCP avec le SDK Node/TypeScript — outils, ressources, prompts, validation Zod, stdio vs Streamable HTTP. Utilisez Context7 ou la documentation officielle MCP pour l'API la plus récente. À utiliser lors de la construction ou du débogage d'un serveur MCP — outils, ressources, prompts, validation ou choix du transport.

Qu'est-ce que mcp-server-patterns ?

Cette compétence guide les développeurs dans la création et la maintenance de serveurs MCP (Modèle Context Protocol) à l'aide du SDK Node/TypeScript. Elle couvre les concepts fondamentaux comme les outils, les ressources et les prompts, ainsi que la validation des entrées avec Zod. La compétence détaille le choix entre le transport stdio (pour les clients locaux comme Claude Desktop) et le Streamable HTTP (pour les clients distants comme Cursor ou le cloud), en incluant la gestion de la compatibilité avec l'ancien HTTP/SSE. Pratique pour tous les assistants IA et plateformes supportant MCP, elle fournit des exemples concrets d'installation et de configuration, ainsi que les meilleures pratiques concernant les schémas, la gestion des erreurs, l'idempotence et le versionnement du SDK. La compétence recommande de toujours vérifier les signatures API actuelles via Context7 ou la documentation officielle MCP, car le SDK évolue fréquemment.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/mcp-server-patterns

Demander à votre IA préférée

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

Documentation

MCP Server Patterns

Le Protocole de Contexte de Modèle (MCP) permet aux assistants IA d'appeler des outils, de lire des ressources et d'utiliser des prompts depuis votre serveur. Utilisez cette compétence lors de la construction ou de la maintenance de serveurs MCP. L'API du SDK évolue ; vérifiez Context7 (query-docs pour "MCP") ou la documentation officielle MCP pour les noms et signatures de méthodes actuels.

Pour la décision plus large de routage indiquant si une capacité doit être une règle, une compétence, MCP ou un simple workflow CLI/API, voir docs/capability-surface-selection.md.

Quand l'utiliser

Utilisez-la lors de : la mise en œuvre d'un nouveau serveur MCP, l'ajout d'outils ou de ressources, le choix entre stdio et HTTP, la mise à niveau du SDK, ou le débogage des problèmes d'enregistrement et de transport MCP.

Comment ça fonctionne

Concepts essentiels

  • Outils : Actions que le modèle peut invoquer (ex. recherche, exécution d'une commande). Enregistrez-les avec registerTool() ou tool() selon la version du SDK.
  • Ressources : Données en lecture seule que le modèle peut récupérer (ex. contenus de fichiers, réponses API). Enregistrez-les avec registerResource() ou resource(). Les gestionnaires reçoivent généralement un argument uri.
  • Prompts : Modèles de prompts paramétrés et réutilisables que le client peut afficher (ex. dans Claude Desktop). Enregistrez-les avec registerPrompt() ou équivalent.
  • Transport : stdio pour les clients locaux (ex. Claude Desktop) ; Streamable HTTP est préféré pour les clients distants (Cursor, cloud). HTTP/SSE hérité est pour la rétrocompatibilité.

Le SDK Node/TypeScript peut exposer tool() / resource() ou registerTool() / registerResource() ; le SDK officiel a changé au fil du temps. Vérifiez toujours auprès de la documentation MCP actuelle ou de Context7.

Connexion avec stdio

Pour les clients locaux, créez un transport stdio et passez-le à la méthode connect de votre serveur. L'API exacte varie selon la version du SDK (ex. constructeur vs factory). Consultez la documentation officielle MCP ou interrogez Context7 avec "MCP stdio server" pour le modèle actuel.

Gardez la logique du serveur (outils + ressources) indépendante du transport afin de pouvoir brancher stdio ou HTTP dans le point d'entrée.

Connexion distante (Streamable HTTP)

Pour Cursor, le cloud ou d'autres clients distants, utilisez Streamable HTTP (un seul point de terminaison MCP HTTP selon la spécification actuelle). Ne supportez le HTTP/SSE hérité que lorsque la rétrocompatibilité est requise.

Exemples

Installation et configuration du serveur

npm install @modelcontextprotocol/sdk zod
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

const server = new McpServer({ name: "my-server", version: "1.0.0" });

Enregistrez les outils et les ressources en utilisant l'API fournie par votre version du SDK : certaines versions utilisent server.tool(name, description, schema, handler) (arguments positionnels), d'autres utilisent server.tool({ name, description, inputSchema }, handler) ou registerTool(). Même chose pour les ressources — incluez un uri dans le gestionnaire lorsque l'API le fournit. Vérifiez la documentation officielle MCP ou Context7 pour les signatures actuelles de @modelcontextprotocol/sdk afin d'éviter les erreurs de copier-coller.

Utilisez Zod (ou le format de schéma préféré du SDK) pour la validation des entrées.

Bonnes pratiques

  • Schéma d'abord : Définissez les schémas d'entrée pour chaque outil ; documentez les paramètres et la forme de la réponse.
  • Erreurs : Renvoyez des erreurs structurées ou des messages que le modèle peut interpréter ; évitez les traces de pile brutes.
  • Idempotence : Préférez des outils idempotents lorsque c'est possible afin que les tentatives soient sans risque.
  • Limites de taux et coût : Pour les outils qui appellent des API externes, tenez compte des limites de taux et du coût ; documentez-les dans la description de l'outil.
  • Versionnement : Verrouillez la version du SDK dans package.json ; consultez les notes de version lors de la mise à niveau.

SDK officiels et documentation

  • JavaScript/TypeScript : @modelcontextprotocol/sdk (npm). Utilisez Context7 avec le nom de bibliothèque "MCP" pour les modèles d'enregistrement et de transport actuels.
  • Go : SDK Go officiel sur GitHub (modelcontextprotocol/go-sdk).
  • C# : SDK C# officiel pour .NET.

Individual skills in this repo

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

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Skills associés