KE

kerlos/elysia-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

49 stars 5 forks Качество 60 Тренд 17MIT

Плагин ElysiaJS для протокола Model Context с HTTP-транспортом

Обзор

Комплексный плагин ElysiaJS для реализации серверов Model Context Protocol (MCP) с поддержкой транспорта HTTP. Полный перенос MCP на основе HTTP с потоковым HTTP - : Постоянная обработка сеанса через заголовки - : Построено с помощью проверки TypeScript и Zod - : Простая архитектура плагинов для приложений Elysia - : Инструменты, ресурсы, подсказки и журналирование - : Используйте любой регистратор (пино, Winston, Bunyan и т. Д.) - : Правильные ответы на ошибки JSON-RPC 2.0 - : Полное покрытие тестирования блока с пробником Bun Чтобы быстро начать работу с предварительно настроенным проектом Elysia MCP, вы можете использовать наш стартовый шаблон: Шаблон elysia-mcp-starter включает в себя: - Предварительно настроенная настройка Elysia с плагином MCP - конфигурация TypeScript - скрипты разработки - Базовая структура проекта - Пример реализации сервера MCP Этот пример показывает, как создать несколько плагинов MCP в одном приложении Elysia: - добавить - добавить два числа - умножить - Умножить два числа - мощность - Вычислить основание на мощность экспонента -...

Обзор (машинный перевод)

Комплексный плагин ElysiaJS для реализации Серверы Model Context Protocol (MCP) Поддержка HTTP транспорта.

Особенности

HTTP Transport: полный HTTP-транспорт на основе MCP с потоковым HTTP Управление сессией: Государственная обработка сессий через заголовки Безопасный тип: построенный с помощью проверки TypeScript и Zod ** Легкая интеграция**: Простая архитектура плагинов для приложений Elysia Всеобъемлющая поддержка: инструменты, ресурсы, рекомендации и регистрация Поддержка таможенного регистратора: используйте любой регистратор (пино, Winston, Bunyan и т.д.) Обработка ошибок: правильные ответы на ошибки JSON-RPC 2.0 ** Тестирование**: Полное покрытие тестового блока с пробным бегуном Bun

##Установка

Стартовый шаблон

Чтобы быстро начать работу с предварительно настроенным проектом Elysia MCP, вы можете использовать наш стартовый шаблон:

Шаблон elysia-mcp-starter включает в себя:

Предварительно настроенная настройка Elysia с плагином MCP

  • конфигурация TypeScript
  • Скрипты разработки Базовая структура проекта Пример реализации MCP сервера

Быстрый старт

Использование

###Бегущие примеры

** Основной пример:**

** Пример нескольких серверов: **

Этот пример показывает, как создать несколько плагинов MCP в одном приложении Elysia:

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Elysia MCP Plugin

A comprehensive ElysiaJS plugin for implementing Model Context Protocol (MCP) servers with HTTP transport support.

Features

  • HTTP Transport: Full HTTP-based MCP transport with Streamable HTTP
  • Session Management: Stateful session handling via headers
  • Type-Safe: Built with TypeScript and Zod validation
  • Easy Integration: Simple plugin architecture for Elysia apps
  • Comprehensive Support: Tools, Resources, Prompts, and Logging
  • Custom Logger Support: Use any logger (pino, winston, bunyan, etc.)
  • Error Handling: Proper JSON-RPC 2.0 error responses
  • Testing: Full unit test coverage with Bun test runner

Installation

bun add elysia-mcp
# or
npm install elysia-mcp

Starter Template

To quickly get started with a pre-configured Elysia MCP project, you can use our starter template:

# Create a new project from the starter template
bun create https://github.com/kerlos/elysia-mcp-starter my-mcp-project

# Navigate to the project
cd my-mcp-project

# Install dependencies
bun install

# Start development server
bun run dev

The elysia-mcp-starter template includes:

  • Pre-configured Elysia setup with MCP plugin
  • TypeScript configuration
  • Development scripts
  • Basic project structure
  • Example MCP server implementation

Quick Start

import { Elysia } from 'elysia';
import { mcp } from 'elysia-mcp';
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';

const app = new Elysia()
  .use(
    mcp({
      serverInfo: {
        name: 'my-mcp-server',
        version: '1.0.0',
      },
      capabilities: {
        tools: {},
        resources: {},
        prompts: {},
        logging: {},
      },
      setupServer: async (server: McpServer) => {
        // Register your MCP tools, resources, and prompts here
        server.registerTool(
          'echo',
          {
            description: 'Echoes back the provided text',
            inputSchema: {
              text: z.string().describe('Text to echo back'),
            },
          },
          async (args) => {
            return {
              content: [{ type: 'text', text: `Echo: ${args.text}` }],
            };
          }
        );
      },
    })
  )
  .listen(3000);

Usage

Running the Examples

Basic Example:

# Run the basic example server (port 3000)
bun run example

# Or with development mode (auto-restart)
bun run dev

Multiple Servers Example:

# Run the multiple MCP servers example (port 3000)
bun example:multi

This example demonstrates how to create multiple MCP plugins in a single Elysia application:

  • Math Operations Plugin (/math) - Basic arithmetic tools:

    • add - Add two numbers
    • multiply - Multiply two numbers
    • power - Calculate base to the power of exponent
Открыть полный README на GitHub

Установка

npx @modelcontextprotocol/inspector
Новичок в MCP? Начните с руководства на mcpskill.org →