typescript-mcp-server-generator

от github

Полный генератор проектов TypeScript MCP сервера с инструментами, ресурсами и конфигурацией транспорта. Создаёт проект Node.js/TypeScript с @modelcontextprotocol/sdk, валидацией zod и выбором HTTP (Express) или stdio транспорта. Генерирует как минимум один готовый к использованию инструмент с валидацией схемы, обработкой ошибок и структурированными ответами. Включает tsconfig.json с ES модулями, правильную настройку package.json и инструменты разработки (tsx/ts-node). Опционально добавляет ресурсы с динамическими...

npx skills add https://github.com/github/awesome-copilot --skill typescript-mcp-server-generator

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.

Больше skills от github

console-rendering
github
Инструкции по использованию системы консольного рендеринга на основе тегов структур в Go
official
acquire-codebase-knowledge
github
Используйте этот навык, когда пользователь явно просит составить карту, задокументировать или ознакомиться с существующей кодовой базой. Активируйте по запросам вроде "составь карту этой кодовой базы", "задокументируй…
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
Генерирует настраиваемые файлы инструкций для ИИ-агентов через команду инструкций AgentRC. Создаёт .github/copilot-instructions.md (по умолчанию, рекомендуется для Copilot в VS…
official
acreadiness-policy
github
Помочь пользователю выбрать, написать или применить политику AgentRC. Политики настраивают оценку готовности, отключая нерелевантные проверки, переопределяя влияние/уровень, задавая…
official
add-educational-comments
github
Добавляет учебные комментарии в файлы с кодом, превращая их в эффективные учебные ресурсы. Адаптирует глубину и тон объяснений под три настраиваемых уровня знаний: начальный, средний и продвинутый. Автоматически запрашивает файл, если он не предоставлен, с нумерованным списком для быстрого выбора. Расширяет файлы до 125% только за счёт учебных комментариев (жёсткое ограничение: 400 новых строк; 300 для файлов длиннее 1000 строк). Сохраняет кодировку файла, стиль отступов, синтаксическую корректность и...
official
adobe-illustrator-scripting
github
Пишите, отлаживайте и оптимизируйте скрипты автоматизации Adobe Illustrator с помощью ExtendScript (JavaScript/JSX). Используйте при создании или изменении скриптов, которые управляют…
official
agent-governance
github
Декларативные политики, классификация намерений и журналы аудита для контроля доступа и поведения инструментов ИИ-агентов. Компонуемые политики управления определяют разрешённые/заблокированные инструменты, фильтры контента, ограничения скорости и требования к утверждению — хранятся как конфигурация, а не код. Семантическая классификация намерений обнаруживает опасные запросы (утечка данных, повышение привилегий, инъекция подсказок) до выполнения инструмента с помощью сигналов на основе шаблонов. Декоратор управления на уровне инструмента применяет политики на функции...
official