JM

javierustk/mormot-mcp-server

Developer tools

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

22 stars 4 forks Качество 72 Тренд 24MIT

Полная реализация спецификации MCP 2025-06-18 для Delphi с mORMot2

Обзор

Высокопроизводительная реализация сервера Model Context Protocol (MCP) с использованием фреймворка mORMot2. (модель без гражданства по запросу, сервер/открытие, подписки/прослушивание) с полной обратной совместимостью с клиентами на основе инициализации (2024-11-05 до 2025-11-25) и двунаправленными уведомлениями через SSE. - Отсутствие внешних зависимостей за пределами mORMot2 - - stdio и HTTP с SSE - - Полная поддержка протокола с использованием TDocVariant - - Легко расширить с помощью пользовательских инструментов, ресурсов и подсказок - - Компиляции с Delphi и Free Pascal Зарегистрируйте пользовательские инструменты с помощью JSON Schema validation и listChanged notifications - List, read, templates, and subscriptions with URI-based access - List and get with multiple content types (text, image, audio, resource) - setLevel method with RFC 5424 log levels - - Argument auto-completion for prompts and resources - - JSON-RPC newline-delimited, logs to stderr - - REST API with Server-Sent Events (SSE), CORS, and TLS support - - Cryptographic session IDs...

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

Leer en español

Высокопроизводительная реализация сервера Model Context Protocol (MCP) с использованием фреймворка mORMot2.

** Внедряет спецификацию MCP 2026-07-28** (модель без гражданства по запросу, server/discover, subscriptions/listen)) с полной обратной совместимостью с клиентами на основе инициализации (2024-11-05 до 2025-11-25) и двунаправленными уведомлениями через SSE.

Особенности

###Ядро ** Чистая реализация mORMot2** - Никаких внешних зависимостей кроме mORMot2 ** Поддержка двойного транспорта** - stdio и HTTP с SSE JSON-RPC 2.0 - полная поддержка протокола с использованием TDocVariant ** Модульная архитектура** - Легко расширяется с помощью пользовательских инструментов, ресурсов и подсказок Кросс-платформа - компиляции с Delphi и Free Pascal

###Способности MCP Инструменты - Регистрируйте пользовательские инструменты с помощью проверки JSON Schema и listChanged уведомлений Ресурсы - Список, чтение, шаблоны и подписки с доступом на основе URI Подробности - Список и получение с несколькими типами контента (текст, изображение, аудио, ресурс)

  • Logging - setLevel метод с уровнями журналов RFC 5424 Завершение - Аргумент самозавершение для подсказок и ресурсов

Транспортный уровень

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

README

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

mORMot2 MCP Server

🇪🇸 Leer en español

High-performance Model Context Protocol (MCP) server implementation using the mORMot2 framework.

Implements MCP Specification 2026-07-28 (stateless per-request model, server/discover, subscriptions/listen) with full backward compatibility with initialize-based clients (2024-11-05 through 2025-11-25) and bidirectional notifications via SSE.

Features

Core

  • Pure mORMot2 implementation - No external dependencies beyond mORMot2
  • Dual transport support - stdio and HTTP with SSE
  • JSON-RPC 2.0 - Full protocol support using TDocVariant
  • Modular architecture - Easy to extend with custom tools, resources, and prompts
  • Cross-platform - Compiles with Delphi and Free Pascal

MCP Capabilities

  • Tools - Register custom tools with JSON Schema validation and listChanged notifications
  • Resources - List, read, templates, and subscriptions with URI-based access
  • Prompts - List and get with multiple content types (text, image, audio, resource)
  • Logging - setLevel method with RFC 5424 log levels
  • Completion - Argument auto-completion for prompts and resources

Transport Layer

  • stdio transport - JSON-RPC newline-delimited, logs to stderr
  • HTTP transport - REST API with Server-Sent Events (SSE), CORS, and TLS support
  • Session management - Cryptographic session IDs (128-bit)
  • SSE notifications - Real-time bidirectional communication
  • Keepalive - Configurable SSE keepalive (default 30s)
  • Graceful shutdown - SIGTERM/SIGINT handling with 5s timeout
  • Event bus - Thread-safe pub/sub for internal notification routing

Notifications

  • notifications/tools/list_changed - Tool registration changes
  • notifications/resources/list_changed - Resource changes
  • notifications/resources/updated - Subscribed resource updates
  • notifications/prompts/list_changed - Prompt changes
  • notifications/message - Log messages
  • notifications/progress - Progress updates
  • notifications/cancelled - Request cancellation

Requirements

  • mORMot2 framework
  • Delphi 10.3+ (tested) or Free Pascal 3.2+ (not yet tested)

Project Structure

mORMot-MCP-Server/
├── MCPServer.dpr           # Delphi project
├── MCPServer.lpr           # Free Pascal project
├── MCPServer.lpi           # Lazarus project
├── src/
│   ├── Core/
│   │   ├── MCP.Manager.Registry.pas   # Manager registration
│   │   └── MCP.Events.pas             # Event bus (pub/sub)
│   ├── Protocol/
│   │   └── MCP.Types.pas              # Core types and settings
│   ├── Transport/
│   │   ├── MCP.Transport.Base.pas     # Transport abstraction
│   │   ├── MCP.Transport.Stdio.pas    # stdio transport
│   │   └── MCP.Transport.Http.pas     # HTTP + SSE transport
│   ├── Server/
│   │   └── MCP.Server.pas             # Legacy HTTP server
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "mormot-server": { "command": "C:\\path\\to\\MCPServer.exe", "args": ["--transport=stdio"] } } }