mcp-server-patterns

Implement MCP servers with Node/TypeScript SDK registration and transport patterns.

Updated May 9, 2026
One-click install
npx skills add https://github.com/RambleRainbow/jd --skill mcp-server-patterns-ramblerainbow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mcp-server-patterns
Source: https://github.com/RambleRainbow/jd/tree/main/.claude/skills/mcp-server-patterns
Command: npx skills add https://github.com/RambleRainbow/jd --skill mcp-server-patterns-ramblerainbow

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates the frustration of navigating evolving Model Context Protocol (MCP) SDK APIs and inconsistent implementation patterns when building or maintaining MCP servers, reducing compatibility errors and development time.

Core Features & Use Cases

  • MCP Component Implementation: Guides correct registration of tools (actions the model can invoke), read-only resources (data the model can fetch), and reusable parameterised prompt templates for client surfaces like Claude Desktop.
  • Transport Configuration: Helps select and implement the appropriate transport: stdio for local clients (e.g. Claude Desktop) and Streamable HTTP for remote clients (e.g. Cursor, cloud services), with guidance for legacy HTTP/SSE backward compatibility when needed.
  • Use Case: A developer building an internal MCP server to expose company API data as resources to Claude Desktop can use this skill to implement correct registration patterns and stdio transport setup without debugging SDK version mismatches.

Quick Start

Use the mcp-server-patterns skill to build a new MCP server with a validated search tool and stdio transport for local Claude Desktop integration.

Frequently Asked Questions about mcp-server-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an MCP server with Node and TypeScript?

Building an MCP server with Node and TypeScript involves registering tools, resources, and prompt templates using the SDK. You configure transport-agnostic server logic and apply version-agnostic registration patterns aligned with current MCP specifications.

How do I configure stdio transport for a local MCP server?

Configuring stdio transport for a local MCP server connects your application to local clients like Claude Desktop. You select stdio for local integrations and Streamable HTTP for remote clients, with guidance available for legacy HTTP/SSE backward compatibility.

How do I validate input parameters in a Model Context Protocol server?

Validating input parameters in a Model Context Protocol server uses Zod-based input validation. This approach ensures correct data types for tool actions and parameterized prompt templates before the model invokes them or fetches read-only resources.

Does the MCP TypeScript SDK support Streamable HTTP for remote clients?

Yes, the MCP TypeScript SDK supports Streamable HTTP for remote clients like Cursor and cloud services. You implement this transport alongside stdio for local clients, maintaining transport-agnostic server logic design across your implementation.

Why are my MCP tools and resources not registering correctly across SDK versions?

MCP tools and resources fail to register correctly across SDK versions due to evolving API mismatches. Using version-agnostic registration patterns for tools, resources, and prompts eliminates implementation guesswork and resolves compatibility errors during upgrades.