typescript-mcp-server-generator
by github
Complete TypeScript MCP server project generator with tools, resources, and transport configuration. Scaffolds a full Node.js/TypeScript project with @modelcontextprotocol/sdk, zod validation, and choice of HTTP (Express) or stdio transport Generates at least one production-ready tool with schema validation, error handling, and structured content responses Includes tsconfig.json with ES modules, proper package.json setup, and dev tooling (tsx/ts-node) Optionally adds resources with dynamic...
npx skills add https://github.com/github/awesome-copilot --skill typescript-mcp-server-generatorGenerate TypeScript MCP Server
Create a complete Model Context Protocol (MCP) server in TypeScript with the following specifications:
Requirements
- Project Structure: Create a new TypeScript/Node.js project with proper directory structure
- NPM Packages: Include @modelcontextprotocol/sdk, zod@3, and either express (for HTTP) or stdio support
- TypeScript Configuration: Proper tsconfig.json with ES modules support
- Server Type: Choose between HTTP (with Streamable HTTP transport) or stdio-based server
- Tools: Create at least one useful tool with proper schema validation
- Error Handling: Include comprehensive error handling and validation
Implementation Details
Project Setup
- Initialize with
npm initand create package.json - Install dependencies:
@modelcontextprotocol/sdk,zod@3, and transport-specific packages - Configure TypeScript with ES modules:
"type": "module"in package.json - Add dev dependencies:
tsxorts-nodefor development - Create proper .gitignore file
Server Configuration
- Use
McpServerclass for high-level implementation - Set server name and version
- Choose appropriate transport (StreamableHTTPServerTransport or StdioServerTransport)
- For HTTP: set up Express with proper middleware and error handling
- For stdio: use StdioServerTransport directly
Tool Implementation
- Use
registerTool()method with descriptive names - Define schemas using zod for input and output validation
- Provide clear
titleanddescriptionfields - Return both
contentandstructuredContentin results - Implement proper error handling with try-catch blocks
- Support async operations where appropriate
Resource/Prompt Setup (Optional)
- Add resources using
registerResource()with ResourceTemplate for dynamic URIs - Add prompts using
registerPrompt()with argument schemas - Consider adding completion support for better UX
Code Quality
- Use TypeScript for type safety
- Follow async/await patterns consistently
- Implement proper cleanup on transport close events
- Use environment variables for configuration
- Add inline comments for complex logic
- Structure code with clear separation of concerns
Example Tool Types to Consider
- Data processing and transformation
- External API integrations
- File system operations (read, search, analyze)
- Database queries
- Text analysis or summarization (with sampling)
- System information retrieval
Configuration Options
-
For HTTP Servers:
- Port configuration via environment variables
- CORS setup for browser clients
- Session management (stateless vs stateful)
- DNS rebinding protection for local servers
-
For stdio Servers:
- Proper stdin/stdout handling
- Environment-based configuration
- Process lifecycle management
Testing Guidance
- Explain how to run the server (
npm startornpx tsx server.ts) - Provide MCP Inspector command:
npx @modelcontextprotocol/inspector - For HTTP servers, include connection URL:
http://localhost:PORT/mcp - Include example tool invocations
- Add troubleshooting tips for common issues
Additional Features to Consider
- Sampling support for LLM-powered tools
- User input elicitation for interactive workflows
- Dynamic tool registration with enable/disable capabilities
- Notification debouncing for bulk updates
- Resource links for efficient data references
Generate a complete, production-ready MCP server with comprehensive documentation, type safety, and error handling.
More skills from github
console-rendering
github
Instructions for using the struct tag-based console rendering system in Go
official
acquire-codebase-knowledge
github
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS…
official
acreadiness-policy
github
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting…
official
add-educational-comments
github
Add educational comments to code files to transform them into effective learning resources. Adapts explanation depth and tone to three configurable knowledge levels: beginner, intermediate, and advanced Automatically requests a file if none is provided, with numbered list matching for quick selection Expands files by up to 125% using educational comments only (hard limit: 400 new lines; 300 for files over 1,000 lines) Preserves file encoding, indentation style, syntax correctness, and...
official
adobe-illustrator-scripting
github
Write, debug, and optimize Adobe Illustrator automation scripts using ExtendScript (JavaScript/JSX). Use when creating or modifying scripts that manipulate…
official
agent-governance
github
Declarative policies, intent classification, and audit trails for controlling AI agent tool access and behavior. Composable governance policies define allowed/blocked tools, content filters, rate limits, and approval requirements — stored as configuration, not code Semantic intent classification detects dangerous prompts (data exfiltration, privilege escalation, prompt injection) before tool execution using pattern-based signals Tool-level governance decorator enforces policies at function...
official