EM

emillindfors/mcp

Developer tools

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

18 stars 10 forks Качество 36 Тренд 10

Каталог для создания MCP (Model Context Protocol) совместимых программ с ржавчиной

Обзор

Реализация протокола Model Context Protocol (MCP), обеспечивающего стандартизированный способ доступа моделей ИИ к внешнему контексту и ресурсам. mcp.rs - это высокопроизводительная, безопасная для типов реализация протокола Model Context Protocol, предназначенная для обеспечения бесперебойной связи между приложениями ИИ и их интеграцией. Он обеспечивает надежную основу для создания серверов MCP, которые могут подвергать различные типы ресурсов (файлы, данные, API) моделям ИИ. - Стандартный транспорт ввода/вывода (stdio) для инструментов CLI - HTTP с событиями отправки сервера (SSE) для веб-интеграций - расширяемая транспортная система для пользовательских реализаций - Поставщик ресурсов файловой системы - Поддержка шаблонирования ресурсов - Обновления ресурсов в режиме реального времени - Возможности подписки на ресурсы - - файлы конфигурации YAML/JSON - Переопределение переменной среды - Аргументы командной строки - Чувствительные по умолчанию - : - Встроенные средства контроля доступа - Защита пути - Ограничение скорости - Поддержка CORS Добавить mcp.

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

Реализация протокола Model Context Protocol (MCP), обеспечивающего стандартизированный способ доступа моделей ИИ к внешнему контексту и ресурсам.

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

###Клиент

###Сервис

Обзор

mcp.rs - это высокопроизводительная, безопасная для типов реализация протокола Model Context Protocol, предназначенная для обеспечения бесперебойной связи между приложениями ИИ и их интеграцией. Он обеспечивает надежную основу для создания серверов MCP, которые могут подвергать различные типы ресурсов (файлы, данные, API) моделям ИИ.

Особенности

** Несколько видов транспорта**: Стандартный ввод/вывод (stdio) для инструментов CLI HTTP с серверными событиями (SSE) для веб-интеграций Расширяемая транспортная система для пользовательских реализаций

** Управление ресурсами**: Поставщик ресурсов файловой системы

  • Поддержка темперамента ресурсов Обновления ресурсов в реальном времени
  • Возможности подписки на ресурсы

** Гибкая конфигурация**: Конфигурационные файлы YAML/JSON Переопределение переменной среды

  • Аргументы командной строки

  • Чувствительные дефолты

  • ** Безопасность**: Встроенные элементы управления доступом

  • Защита поперечного пути

  • Ограничение ставок Поддержка CORS

##Установка

Добавьте mcp.rs в «Груз» вашего проекта.

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

README

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

mcp.rs

A Rust implementation of the Model Context Protocol (MCP), providing a standardized way for AI models to access external context and resources.

Quickstart

Client

# List resources
cargo run --bin client list-resources

# Read a specific file
cargo run --bin client read-resource -u "file:///path/to/file"

# Use a prompt
cargo run --bin client get-prompt -n "code_review" -a '{"code": "fn main() {}", "language": "rust"}'

# Call a tool
cargo run --bin client -- --server "http://127.0.0.1:3000" call-tool --name "file_system" --args '{\"operation\": \"read_file\", \"path\": \"Config.toml\"}'

# Set log level
cargo run --bin client set-log-level -l "debug"

# Use SSE transport
cargo run --bin client -t sse -s http://localhost:3000 list-resources

Server

# Run with test config
cargo run --bin server -- --config "../servers/test.json"

Overview

mcp.rs is a high-performance, type-safe Rust implementation of the Model Context Protocol, designed to enable seamless communication between AI applications and their integrations. It provides a robust foundation for building MCP servers that can expose various types of resources (files, data, APIs) to AI models.

Features

  • Multiple Transport Types:

    • Standard Input/Output (stdio) transport for CLI tools
    • HTTP with Server-Sent Events (SSE) for web integrations
    • Extensible transport system for custom implementations
  • Resource Management:

    • File system resource provider
    • Resource templating support
    • Real-time resource updates
    • Resource subscription capabilities
  • Flexible Configuration:

    • YAML/JSON configuration files
    • Environment variable overrides
    • Command-line arguments
    • Sensible defaults
  • Security:

    • Built-in access controls
    • Path traversal protection
    • Rate limiting
    • CORS support

Installation

Add mcp.rs to your project’s Cargo.toml:

[dependencies]
mcp = "0.1.0"

Quick Start

  1. Create a basic MCP server:
use mcp::{McpServer, ServerConfig};

#[tokio::main]
async fn main() -> Result {
    // Create server with default configuration
    let server = McpServer::new(ServerConfig::default());
    
    // Run the server
    server.run().await
}
  1. Configure via command line:
# Run with stdio transport
mcp-server -t stdio

# Run with SSE transport on port 3000
mcp-server -t sse -p 3000

# Enable debug logging
mcp-server -l debug
  1. Or use a configuration file:
server:
  name: "my-mcp-server"
  version: "1.0.0"
  transport: sse
  port: 3000

resources:
  root_path: "./resources"
  allowed_schemes:
    - file
  max_file_size: 10485760

security:
  enable_auth: false
  allowed_origins:
    - "*"

logging:
  level: "info"
  format: "pretty"

Architecture

mcp.rs follows a modular architecture:

  • Transport Layer: Handles communication between clients and servers
Открыть полный README на GitHub

Установка

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

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