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 les API récentes. À 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 ?

Ce skil fournit un guide complet pour construire et maintenir des serveurs MCP (Model Context Protocol) en utilisant les SDK Node.js/TypeScript. Il couvre les concepts fondamentaux de MCP : les outils (actions invocables par l'IA), les ressources (données en lecture seule) et les prompts (modèles de requêtes paramétrés). Le skill explique les différences entre les transports stdio (pour les clients locaux) et Streamable HTTP (pour les clients distants comme Cursor), et met en garde contre les changements d'API entre les versions du SDK officiel. Il inclut des exemples pratiques d'installation et de configuration, ainsi que des bonnes pratiques comme la validation des schémas avec Zod, la gestion des erreurs, l'idempotence et la gestion des limites de taux. Le skill insiste sur l'importance de vérifier la documentation officielle (modelcontextprotocol.io) ou d'utiliser Context7 pour obtenir les signatures d'API actuelles, afin d'éviter les erreurs dues aux évolutions du SDK. Il prend en charge les langages JavaScript/TypeScript, Go et C#.

Compatible avec✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/affaan-m/ECC/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 Model Context Protocol (MCP) permet aux assistants IA d'appeler des outils, de lire des ressources et d'utiliser des prompts depuis votre serveur. Utilisez ce skill 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 de méthodes et signatures actuels.

Pour la décision plus large de savoir quand une capacité doit être une règle, un skill, MCP ou un simple workflow CLI/API, consultez docs/capability-surface-selection.md.

Quand utiliser

À utiliser lors de : l'implémentation 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 de problèmes d'enregistrement MCP et de transport.

Comment ça fonctionne

Concepts de base

  • Outils : Actions que le modèle peut invoquer (par exemple, rechercher, exécuter 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 (par exemple, contenu 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 requêtes paramétrés et réutilisables que le client peut afficher (par exemple, dans Claude Desktop). Enregistrez-les avec registerPrompt() ou équivalent.
  • Transport : stdio pour les clients locaux (par exemple, Claude Desktop) ; Streamable HTTP est préféré pour le remote (Cursor, cloud). Legacy HTTP/SSE 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 la documentation MCP actuelle ou Context7.

Connexion avec stdio

Pour les clients locaux, créez un transport stdio et transmettez-le à la méthode connect de votre serveur. L'API exacte varie selon la version du SDK (par exemple, constructeur vs fabrique). Consultez la documentation officielle MCP ou interrogez Context7 pour "MCP stdio server" afin d'obtenir le pattern 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.

Remote (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 legacy HTTP/SSE que lorsque la rétrocompatibilité est nécessaire.

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(). Idem pour les ressources — incluez un uri dans le gestionnaire lorsque l'API le fournit. Consultez 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 des schémas d'entrée pour chaque outil ; documentez les paramètres et la forme de retour.
  • 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 les outils idempotents lorsque c'est possible afin que les tentatives soient sûres.
  • 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.
  • Versioning : Épinglez la version du SDK dans package.json ; consultez les notes de version lors de la mise à niveau.

SDK et documentation officiels

  • JavaScript/TypeScript : @modelcontextprotocol/sdk (npm). Utilisez Context7 avec le nom de bibliothèque "MCP" pour les patterns 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/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

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.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills associés