PM

platformatic/mcp

Analytics & monitoring

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

62 stars 16 forks Качество 75 Тренд 34Apache-2.0

Плагин Fastify, который реализует сервер Model Context Protocol (MCP) с использованием JSON-RPC 2.0. Этот плагин позволяет приложениям Fastify раскрывать инструменты, ресурсы и подсказки после MCP.

Обзор

Плагин Fastify, который реализует сервер Model Context Protocol (MCP) с использованием JSON-RPC 2.0. Этот плагин позволяет приложениям Fastify предоставлять инструменты, ресурсы и подсказки в соответствии со спецификацией MCP 2025-06-18 с полной поддержкой поиска. Для проверки схемы безопасности типа установите TypeBox: - : Внедряет полную спецификацию протокола Model Context с вызыванием - : Запросы информации от сервера к клиенту с валидацией схемы - : Валидация безопасной схемы с автоматическим выводом TypeScript - : Санитаризация ввода, ограничение скорости и оценка безопасности - : HTTP / SSE и стио-транспортировка для гибкой связи - : Сервер-Отправленные события для связи в режиме реального времени - : Управление сеансом с поддержкой Redis и вещание сообщений - : История сообщений и поддержка пересоединения с Last-Event-ID - : Бесшовное переключение между локальным и распределенным хранилищем - : Комплексное покрытие испытаний, функции безопасности и поддержка аутентификации Плагин поддерживает возможность извлечения ...

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

Плагин Fastify, который реализует сервер Model Context Protocol (MCP) с использованием JSON-RPC 2.0. Этот плагин позволяет приложениям Fastify предоставлять инструменты, ресурсы и подсказки в соответствии со спецификацией MCP 2025-06-18 с полной поддержкой поиска.

##Установка

Поддержка TypeBox (необязательно)

Для проверки схемы безопасности типа установите TypeBox:

Особенности

** Полная поддержка MCP 2025-11-25**: Внедрение текущей версии протокола Model Context, ведение переговоров до 2025-06-18, 2025-03-26 и 2024-11-05 для пожилых клиентов

  • Задачи (экспериментальные): Задачи дополненных инструментальных вызовов с опросом, отсроченным получением результата и отменой ** Поддержка запроса : запросы информации от сервера к клиенту как в форме, так и в режиме URL, с проверкой схемы Icons: Дополнительные метаданные значков по инструментам, ресурсам, шаблонам ресурсов и подсказкам TypeBox Validation: Валидация схемы с автоматическим выводом TypeScript ** Повышение безопасности: Санитаризация входных данных, ограничение ставок и оценка безопасности Множественная транспортная поддержка: HTTP/SSE и стио-транспорт для гибкой связи SSE Streaming: события отправки сервера для связи в реальном времени

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

README

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

Fastify MCP Server

A Fastify plugin that implements the Model Context Protocol (MCP) server using JSON-RPC 2.0. This plugin enables Fastify applications to expose tools, resources, and prompts following the MCP 2025-06-18 specification with full elicitation support.

Installation

npm install @platformatic/mcp

TypeBox Support (Optional)

For type-safe schema validation, install TypeBox:

npm install @sinclair/typebox

Features

  • Complete MCP 2025-11-25 Support: Implements the current Model Context Protocol revision, negotiating down to 2025-06-18, 2025-03-26 and 2024-11-05 for older clients
  • Tasks (experimental): Task-augmented tool calls with polling, deferred result retrieval and cancellation
  • Elicitation Support: Server-to-client information requests in both form and URL mode, with schema validation
  • Icons: Optional icon metadata on tools, resources, resource templates and prompts
  • TypeBox Validation: Type-safe schema validation with automatic TypeScript inference
  • Security Enhancements: Input sanitization, rate limiting, and security assessment
  • Multiple Transport Support: HTTP/SSE and stdio transports for flexible communication
  • SSE Streaming: Server-Sent Events for real-time communication
  • Horizontal Scaling: Redis-backed session management and message broadcasting
  • Session Persistence: Message history and reconnection support with Last-Event-ID
  • Memory & Redis Backends: Seamless switching between local and distributed storage
  • Production Ready: Comprehensive test coverage, security features, and authentication support

Quick Start

import Fastify from 'fastify'
import mcpPlugin from '@platformatic/mcp'
// Or use named import:
// import { mcpPlugin } from '@platformatic/mcp'

const app = Fastify({ logger: true })

// Register the MCP plugin
await app.register(mcpPlugin, {
  serverInfo: {
    name: 'my-mcp-server',
    version: '1.0.0'
  },
  capabilities: {
    tools: { listChanged: true },
    resources: { subscribe: true },
    prompts: {}
  },
  instructions: 'This server provides custom tools and resources'
})

// Add tools, resources, and prompts with handlers
app.mcpAddTool({
  name: 'calculator',
  description: 'Performs basic arithmetic operations',
  inputSchema: {
    type: 'object',
    properties: {
      operation: { type: 'string', enum: ['add', 'subtract', 'multiply', 'divide'] },
      a: { type: 'number' },
      b: { type: 'number' }
    },
    required: ['operation', 'a', 'b']
  }
}, async (params) => {
  const { operation, a, b } = params
  let result
  switch (operation) {
    case 'add': result = a + b; break
    case 'subtract': result = a - b; break
    case 'multiply': result = a * b; break
    case 'divide': result = a / b; break
    default: throw new Error('Invalid operation')
  }
  return {
    content: [{ type: 'text', text: `Result: ${result}` }]
  }
})

app.mcpAddResource({
Открыть полный README на GitHub

Установка

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

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