
kerlos/elysia-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Плагин 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 numbersmultiply- Multiply two numberspower- Calculate base to the power of exponent
Установка
npx @modelcontextprotocol/inspector