使用说明

项目简介

本项目 'mcpservers' 提供了一系列基于 Model Context Protocol (MCP) 协议实现的服务器,全部以 .NET 工具 (dotnet tool) 的形式发布。这些服务器旨在作为 LLM 应用的后端,提供上下文信息和工具能力,支持通过 Stdio 和 SSE 两种传输协议与 MCP 客户端进行通信。

主要功能点

  • 资源访问: 'mcpserver.openxml' 系列服务器能够读取和解析 OpenXML 格式的文档(如 .docx 文件),提取文本内容,为 LLM 提供文档数据。
  • 工具执行: 服务器注册并暴露各种工具,例如 'mcpserver.openxml' 提供了读取 Word 文档的工具,'mcpserver.everything' 提供了回声 (Echo) 和加法 (Add) 等通用工具。
  • 多传输协议: 支持 Stdio (标准输入输出) 和 SSE (Server-Sent Events) 两种传输协议,满足不同应用场景的需求。
  • 框架支持: 提供 'ModelContextProtocolServer.Stdio' 和 'ModelContextProtocolServer.Sse' 框架,简化 MCP 服务器的开发。
  • 客户端工具: 包含 'mcpclient' 客户端工具,方便用户与 MCP 服务器进行交互和测试工具功能。

安装步骤

  1. 安装 .NET SDK: 确保已安装 .NET SDK (建议最新版本)。
  2. 安装 MCP 服务器 dotnet tool: 使用 'dotnet tool install --global' 命令安装所需的 MCP 服务器工具。例如,安装 'mcpserver.openxml.stdio' 服务器:
    dotnet tool install --global mcpserver.openxml.stdio
    或者安装 'mcpserver.everything.stdio' 服务器:
    dotnet tool install --global mcpserver.everything.stdio
    也可以选择安装支持 SSE 协议的服务器,例如 'mcpserver.openxml.sse':
    dotnet tool install --global mcpserver.openxml.sse

服务器配置

MCP 客户端需要配置服务器连接信息才能与 MCP 服务器通信。以下是不同服务器类型的配置示例 (JSON 格式):

1. Stdio 服务器 (例如 'mcpserver.openxml.stdio', 'mcpserver.everything.stdio') 配置:

{
  "serverName": "openxml-stdio-server",  // 自定义服务器名称,用于客户端标识
  "transportType": "stdio",             // 传输类型为 Stdio
  "command": "mcpserver.openxml.stdio", // 启动服务器的命令 (dotnet tool 名称)
  "args": []                             // 启动参数,本例中无需参数
}

注意:

  • 'serverName' 可以自定义,用于在客户端区分不同的服务器连接。
  • 'transportType' 必须设置为 '"stdio"'。
  • 'command' 需要设置为已安装的 dotnet tool 名称 (例如 'mcpserver.openxml.stdio')。
  • 'args' 可以根据服务器需求添加启动参数,本例中 'mcpserver.openxml.stdio' 和 'mcpserver.everything.stdio' 默认无需额外参数。

2. SSE 服务器 (例如 'mcpserver.openxml.sse') 配置:

{
  "serverName": "openxml-sse-server",   // 自定义服务器名称
  "transportType": "sse",              // 传输类型为 SSE
  "location": "http://localhost:5000/sse" // SSE 服务器的地址,默认为 http://localhost:5000/sse
}

注意:

  • 'transportType' 必须设置为 '"sse"'。
  • 'location' 需要设置为 SSE 服务器的 URL 地址。默认情况下,'mcpserver.openxml.sse' 监听 'http://localhost:5000/sse'。

基本使用方法

  1. 启动 MCP 服务器: 对于 Stdio 服务器,客户端在需要时会自动启动。对于 SSE 服务器,需要先手动启动服务器 (例如,在命令行中运行 'mcpserver.openxml.sse')。
  2. 配置 MCP 客户端: 在 MCP 客户端中配置上述服务器连接信息 (JSON 格式)。
  3. 运行 MCP 客户端: 运行 MCP 客户端工具 (例如 'mcpclient')。
  4. 选择工具并执行: 客户端会显示服务器提供的工具列表。选择要执行的工具,并根据提示输入工具所需的参数。
  5. 查看结果: 客户端将显示工具执行的结果。

示例 (使用 'mcpclient' 客户端和 'mcpserver.openxml.stdio' 服务器读取 Word 文档):

  1. 确保已安装 'mcpserver.openxml.stdio' 和 'mcpclient' dotnet tool。
  2. 配置 'mcpclient' 客户端连接到 'mcpserver.openxml.stdio' 服务器 (使用上述 Stdio 服务器配置 JSON)。
  3. 运行 'mcpclient' 客户端。
  4. 在工具列表中选择 "ReadWordDocument (Read a .docx file and return the content as plain text.)" 工具。
  5. 客户端会提示输入 'filename' 参数。输入 Word 文档的文件名 (确保该文档位于服务器配置的 'allowedPath' 目录下,默认为服务器程序运行目录)。
  6. 客户端将显示从 Word 文档中提取的文本内容。

通过以上步骤,您可以使用 'mcpservers' 项目提供的 MCP 服务器和客户端工具,体验 MCP 协议的功能,并为 LLM 应用构建强大的上下文服务。

信息

分类

AI与计算