MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Typescript-Mcp-Server-Generator

Typescript-Mcp-Server-Generator是一款code方向的AI技能,核心价值是Generate a complete MCP server project in TypeScript with tools, resources, and proper configuration,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

Generate a complete MCP server project in TypeScript with tools, resources, and proper configuration

Last verified on: 2026-05-30
mkdir -p ./skills/typescript-mcp-server-generator && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/typescript-mcp-server-generator/SKILL.md -o ./skills/typescript-mcp-server-generator/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Generate TypeScript MCP Server


Create a complete Model Context Protocol (MCP) server in TypeScript with the following specifications:


Requirements


1. **Project Structure**: Create a new TypeScript/Node.js project with proper directory structure

2. **NPM Packages**: Include @modelcontextprotocol/sdk, zod@3, and either express (for HTTP) or stdio support

3. **TypeScript Configuration**: Proper tsconfig.json with ES modules support

4. **Server Type**: Choose between HTTP (with Streamable HTTP transport) or stdio-based server

5. **Tools**: Create at least one useful tool with proper schema validation

6. **Error Handling**: Include comprehensive error handling and validation


Implementation Details


Project Setup

- Initialize with `npm init` and 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: `tsx` or `ts-node` for development

- Create proper .gitignore file


Server Configuration

- Use `McpServer` class 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 `title` and `description` fields

- Return both `content` and `structuredContent` in 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 start` or `npx 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.

🎯 Best For

  • Developers scaffolding new projects
  • Prototype builders
  • Claude users
  • GitHub Copilot users
  • Software engineers

💡 Use Cases

  • Bootstrapping React components
  • Creating API route handlers
  • TypeScript type safety checking
  • Module refactoring

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Typescript-Mcp-Server-Generator to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Can I customize the generated output?

Yes — modify the skill's prompt instructions to match your project conventions and coding style.

Is Typescript-Mcp-Server-Generator compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Typescript-Mcp-Server-Generator?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Typescript-Mcp-Server-Generator?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/typescript-mcp-server-generator/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Using generated code without understanding

Understand what generated code does before shipping it to production.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills