使用说明
@mcpbay/easymcp服务器
README.md由人工智能编写,由人类审查。
这个图书馆是实验性的!不要在生产中使用它!
模型上下文协议(MCP)服务器规范的Types/Deno实现。该库为构建MCP服务器提供了一个框架,使AI应用程序和各种数据源、工具和服务之间能够无缝通信。
什么是模型上下文协议?
模型上下文协议 (MCP)是一种标准化协议,允许人工智能应用程序以结构化的方式与外部工具、资源和服务进行交互。它定义了客户端和服务器如何通信,以公开工具执行、资源访问、提示管理和采样操作等功能。
这个图书馆是做什么的?
此库提供了一个完整的MCP服务器实现,可以处理:
- 协议协商:支持MCP协议版本
2024-11-05,2025-03-26,2025-06-18,以及2025-11-25 - 请求/响应生命周期:管理完整的消息处理管道,包括验证、执行和错误处理
- 传输层:目前支持基于进程的通信的stdio传输
- 超时管理:不同操作类型的可配置超时
- 中止控制:内置请求取消支持
核心功能
工具
公开客户端可以调用的可执行函数。工具可以是同步的或异步的,并支持对长时间运行的操作进行可选的基于任务的执行。
资源
提供对数据源(文件、API响应、数据库查询等)的访问。可以列出、读取和订阅资源以进行更新。
提示
定义客户端可以检索和使用的可重用提示模板。支持通过参数替换动态生成提示。
取样/完成
从客户端请求LLM完成,使服务器能够执行AI辅助操作。
任务
通过状态跟踪、取消和进度报告支持长时间运行的操作。
日志记录
具有多个严重级别(调试、信息、通知、警告、错误、严重、警报、紧急)和可选文件输出的结构化日志记录系统。
进度通知
使用可定制的进度令牌对长时间运行的操作进行实时进度更新。
引出
使用JSON模式从客户端请求结构化输入以进行验证。
建筑
该库是围绕上下文模型模式构建的,您可以在其中实现 IContextModel 用于定义服务器行为的接口:
onClientListInformation:提供服务器元数据onClientListTools:显示可用工具onClientCallTool:处理工具执行onClientListResources:公开可用资源onClientReadResource:处理资源访问onClientListPrompts:显示可用提示onClientGetPrompt:处理快速检索onClientRequestsCompletion:处理完成请求onClientConnect:在客户端连接时初始化onClientRootsChanged:处理客户端根更改
出口
该库为不同的用例提供了多个入口点:
- 主要出口 (
.):核心EasyMCPServer类和配置接口 - 类型 (
./types):所有协议结构的TypeScript接口和类型定义 - 实用工具 (
./utils):实用功能包括crashIfNot用于验证和memoize用于优化 - 验证器 (
./validators):所有协议方法的请求和响应验证功能 - 运输 (
./transports):传输层实现(stdio) - 枚举 (
./enums):协议常量的枚举类型(LogLevel、TaskStatus、ContextModelEntityType)
配置选项
服务器支持通过以下方式进行广泛配置 IEasyMCPConfig 接口:
protocol:选择MCP协议版本timeout:默认请求超时completionAttemptTimeout:完成请求超时elicitationAttemptTimeout:诱导请求超时server.sendToolsListChangedNotification:启用工具列表更改通知server.sendPromptsListChangedNotification:启用提示列表更改通知server.sendResourcesListChangedNotification:启用资源列表更改通知server.sendResourcesUpdatedNotification:启用单个资源更新通知server.allowClientSubscribeToIndividualResourceUpdate:允许资源订阅server.sendLogs:启用日志记录功能server.logsFilePath:日志输出的文件路径server.supportsCompletion:启用完成/采样功能
许可证
麻省理工学院许可证-版权所有(c)2026 mcpbay
