Agent skill · software engineering · affaan-m

mcp-server-patterns

Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP. Use Context7 or official MCP docs for latest API. Use when building or debugging an MCP server — tools, resources, prompts, validation, or transport choice.

Why this skill is useful

Provides specific patterns and examples for building MCP servers with Node/TypeScript that the AI wouldn't reliably generate on its own.

What it needs

Requires @modelcontextprotocol/sdk, zod installed locally. About 2k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.

What this skill does

MCP Server Patterns The Model Context Protocol (MCP) lets AI assistants call tools, read resources, and use prompts from your server. Use this skill when building or maintaining MCP servers. The SDK API evolves; check Context7 (query-docs for "MCP") or the official MCP documentation for current method names and signatures. When to Use Use when: implementing a new MCP server, adding tools or resources, choosing stdio vs HTTP, upgrading the SDK, or debugging MCP registration and transport issues. How It Works Core concepts Tools: Actions the model can invoke (e.g. search, run a command). Register with registerTool() or tool() depending on SDK version. Resources: Read-only data the model can fetch (e.g. file contents, API responses). Register with registerResource() or resource(). Handlers typically receive a uri argument. Prompts: Reusable, parameterised prompt templates the client can surface (e.g. in Claude Desktop). Register with registerPrompt() or equivalent. Transport: stdio for local clients (e.g. Claude Desktop); Streamable HTTP is preferred for remote (Cursor, cloud). Legacy HTTP/SSE is for backward compatibility. The Node/TypeScript SDK may expose tool() / resource() or registerTool() / registerResource(); the official SDK has changed over time. Always verify against the current MCP docs or Context7. Connecting with stdio For local clients, create a stdio transport and pass it to your server’s connect method. The exact API varies by SDK version (e.g. constructor vs factory). See the official MCP documentation or query Context7 for "MCP stdio server" for the current pattern. Keep server logic (tools + resources) independent of transport so you can plug in stdio or HTTP in the entrypoint. Remote (Streamable HTTP) For Cursor, cloud, or other remote clients, use Streamable HTTP (single MCP HTTP endpoint per current spec). Support legacy HTTP/SSE only when backward compatibility is required. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills affaan-m/mcp-server-patterns

View the source on GitHub

Browse the @skills marketplace