develop-mcp-server-ts — TypeScript SDK lightdash-tools, community, TypeScript SDK, ide skills, MCP specification, Stdio server, Streamable HTTP, Logging and completion, Pagination utilities, Claude Code, Cursor

v1.0.0
GitHub

About this Skill

Ideal for AI Agents like Cursor, Windsurf, and Claude Code needing to build customizable MCP servers with TypeScript develop-mcp-server-ts is a skill that enables building MCP servers with the official TypeScript SDK, following the MCP specification for tools and resources

Features

Provides a repeatable workflow for building MCP servers with TypeScript
Follows MCP specification 2025-11-25 for tools and resources
Supports Stdio and Streamable HTTP server utilities
Includes logging, completion, and pagination capabilities
Utilizes the official TypeScript SDK for MCP server development

# Core Topics

yu-iskw yu-iskw
[0]
[0]
Updated: 3/9/2026

Agent Capability Analysis

The develop-mcp-server-ts skill by yu-iskw is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for TypeScript SDK, MCP specification, Stdio server.

Ideal Agent Persona

Ideal for AI Agents like Cursor, Windsurf, and Claude Code needing to build customizable MCP servers with TypeScript

Core Value

Empowers agents to create repeatable workflows for building MCP servers with the official TypeScript SDK, following the MCP specification for tools, resources, and server utilities like logging, completion, and pagination over Stdio or Streamable HTTP

Capabilities Granted for develop-mcp-server-ts

Building MCP servers with custom tools and resources
Implementing logging and completion utilities in MCP servers
Developing Streamable HTTP servers for scalable applications

! Prerequisites & Limits

  • Requires knowledge of TypeScript and MCP specification
  • Follows MCP specification 2025-11-25, which may have version-specific requirements
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox
SKILL.md
Readonly

Develop MCP Server (TypeScript)

Purpose

Provide a repeatable, documented workflow for building MCP servers with the official TypeScript SDK so that agents and developers can add tools, resources, and prompts without ad-hoc discovery. Follow this workflow to go from requirements to a testable server (Stdio or Streamable HTTP). The skill follows MCP specification 2025-11-25 for tools, resources, prompts, and server utilities (logging, completion, pagination).

Workflow Checklist

  • Step 1: Requirements discovery
    • Read references/mcp-specification.md for primitives (Tools, Resources, Prompts) and transports.
    • Decide which primitives the server will expose (e.g. tools only, or tools + resources).
    • Choose transport: Stdio (local, process-based) or Streamable HTTP (remote, web-based).
  • Step 2: Project initialization
  • Step 3: Implementation patterns
    • Use references/typescript-sdk-cheatsheet.md for McpServer, transport, registerTool (with Zod inputSchema), and registerResource.
    • Consider tool annotations (title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint) so clients can present tools and users can approve them; see cheatsheet “Tool annotations” and MCP Tool annotations.
    • For tools that delete or permanently change data, set destructiveHint: true; clients should prompt for confirmation before executing, and agent instructions should require asking the user before invoking destructive tools.
    • For Stdio: Use only console.error (or stderr) for logging; never console.log (stdout corrupts JSON-RPC).
    • Optionally copy from assets/templates/server-stdio.ts or assets/templates/server-http.ts.
  • Step 4: Testing
    • Test with MCP Inspector: e.g. npx @modelcontextprotocol/inspector and run your server (e.g. node build/index.js).
    • Or test with Claude Desktop: Add the server to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json) with command and args, then restart Claude Desktop.

Detailed Instructions

1. Requirements discovery

Read the MCP specification summary for:

  • Primitives: Tools (callable by the LLM), Resources (read-only context), Prompts (reusable templates).
  • Transports: Stdio (local, one client per process) vs Streamable HTTP (remote, many clients).
  • Lifecycle: Initialize, negotiate capabilities, then list/call tools or read resources.

Decide which primitives your server needs and whether it will run locally (Stdio) or be hosted (Streamable HTTP).

2. Project initialization

  • Create a package (e.g. pnpm init or npm init -y).
  • Install: pnpm add @modelcontextprotocol/sdk zod (or npm install @modelcontextprotocol/sdk zod). The SDK requires Zod for tool inputSchema.
  • Set "type": "module" in package.json if using ESM.
  • Use a tsconfig with "module": "Node16", "moduleResolution": "Node16", "target": "ES2022", and "outDir": "./build" (or similar).

3. Implementation patterns

Use the TypeScript SDK cheatsheet for:

  • Creating an McpServer and connecting a transport (StdioServerTransport or StreamableHTTPServerTransport).
  • Registering tools with server.registerTool(name, { description, inputSchema }, handler). Use Zod for inputSchema (e.g. { id: z.string() }). Return { content: [{ type: "text", text: "..." }] }. Add tool annotations (title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint) when they help clients present or approve tools. For destructive operations (e.g. delete), set destructiveHint: true; clients should prompt for user confirmation and agent instructions should require asking the user before calling such tools.
  • Registering resources if needed (URI templates and read handler).
  • Logging: For Stdio transport, never write to stdout; use console.error or a logger that writes to stderr.

4. Testing

  • MCP Inspector: Run npx @modelcontextprotocol/inspector, then start your server (e.g. with the command you would use in Claude Desktop). Use the Inspector UI to list tools and call them.
  • Claude Desktop: Edit the config file (see Connect to local MCP servers). Add an entry under mcpServers with command and args (e.g. node and ["/path/to/build/index.js"]). Restart Claude Desktop fully (quit the app, then reopen). Verify the server appears under Connectors.

Success Criteria

  • The server lists and executes tools (and optionally resources/prompts) correctly.
  • For Stdio: No use of console.log; logs go to stderr.
  • Tool inputSchema uses Zod and matches the SDK expectations.
  • Tool names follow spec 2025-11-25 (1–128 chars, allowed characters); errors use tool execution result (isError: true) or protocol errors as appropriate.
  • Tool annotations (title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint) are used where they help clients present or approve tools.
  • Official links (TypeScript SDK, MCP spec 2025-11-25) are used for version and API details.

References

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is develop-mcp-server-ts?

Ideal for AI Agents like Cursor, Windsurf, and Claude Code needing to build customizable MCP servers with TypeScript develop-mcp-server-ts is a skill that enables building MCP servers with the official TypeScript SDK, following the MCP specification for tools and resources

How do I install develop-mcp-server-ts?

Run the command: npx killer-skills add yu-iskw/lightdash-tools/develop-mcp-server-ts. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for develop-mcp-server-ts?

Key use cases include: Building MCP servers with custom tools and resources, Implementing logging and completion utilities in MCP servers, Developing Streamable HTTP servers for scalable applications.

Which IDEs are compatible with develop-mcp-server-ts?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for develop-mcp-server-ts?

Requires knowledge of TypeScript and MCP specification. Follows MCP specification 2025-11-25, which may have version-specific requirements.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add yu-iskw/lightdash-tools/develop-mcp-server-ts. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use develop-mcp-server-ts immediately in the current project.

Related Skills

Looking for an alternative to develop-mcp-server-ts or another community skill for your workflow? Explore these related open-source skills.

View All

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

Generate customizable widget plugins for the prompts.chat feed system

149.6k
0
AI

flags

Logo of vercel
vercel

The React Framework

138.4k
0
Browser

pr-review

Logo of pytorch
pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

98.6k
0
Developer