项目简介
'UsingMcpServers' 仓库提供了一个演示应用,展示了如何使用 Model Context Protocol (MCP) 为 Azure OpenAI 驱动的聊天代理提供自定义工具。该仓库包含两个主要部分:
- TranslationAgent:一个控制台聊天客户端应用程序,负责与 Azure OpenAI 交互,并通过 MCP 客户端连接到 MCP 服务器获取工具。
- TranslationTools:一个 ASP.NET Core Web 应用程序,作为 MCP 服务器,托管并对外暴露自定义的文本转换工具。
本项目重点是 'TranslationTools' 部分,它是一个有效的 MCP 服务器实现。
主要功能点
本 MCP 服务器('TranslationTools')提供以下功能:
- 自定义工具托管:作为基于 ASP.NET Core 的 MCP 服务器,托管并管理一系列自定义文本转换工具。
- MCP 协议支持:通过 Model Context Protocol (MCP) 标准,允许外部 LLM 客户端发现、列举和调用这些工具。
- Server-Sent Events (SSE) 传输:支持通过 SSE 协议进行通信,实现高效的数据流传输。
- 预定义文本转换工具:
- LeetSpeakTool:将普通文本转换为“1337 语”(Leet Speak)格式,用数字和符号替换字母。
- CodeSpeakTool:一种自定义编码方式,将单词的首字母移到末尾,加上“zx”,然后隔一个字符大写一次。
- ReverseTool:将输入的字符串进行反转。
安装步骤
要运行此 MCP 服务器,您需要 .NET 8 SDK。
- 克隆仓库:
git clone https://github.com/bradygaster/UsingMcpServers.git cd UsingMcpServers - 启动 MCP 服务器:
在项目根目录,运行以下命令启动 'TranslationTools' MCP 服务器:
服务器将在 'http://localhost:5106' 监听请求。dotnet run --project TranslationTools
服务器配置
MCP 客户端需要知道如何连接到此 MCP 服务器。以下是一个典型的 MCP 客户端配置示例,用于连接本服务器:
{ "serverName": "TranslationAgentToolsServer", "description": "提供文本转换功能的MCP服务器", "connection": { "type": "sse", "endpoint": "http://localhost:5106/sse", "description": "MCP服务器通过Server-Sent Events (SSE) 协议在本地端口5106提供服务。" }, "startup": { "command": "dotnet", "args": [ "run", "--project", "TranslationTools" ], "description": "启动MCP服务器的命令行指令及参数,需要在项目根目录执行。" } }
注意:上述配置是提供给 MCP 客户端使用的,客户端将根据这些信息来连接和管理服务器。在实际使用时,您无需手动修改服务器代码来应用此配置。
基本使用方法
-
确保 Azure OpenAI 资源已配置: 项目需要一个 Azure OpenAI 资源,部署了 'gpt-4o-mini' 模型。您可以使用 'prompt.md' 文件配合 GitHub Copilot for Azure 来自动配置。配置完成后,确保 'TranslationAgent' 项目的 'AZURE_OPENAI_ENDPOINT' 用户秘密已正确设置。
-
启动 MCP 服务器: 按照安装步骤中说明,在项目根目录运行 'dotnet run --project TranslationTools'。
-
启动聊天代理客户端: 在另一个终端窗口中,在项目根目录运行以下命令启动 'TranslationAgent' 客户端:
dotnet run --project TranslationAgent -
与代理聊天: 客户端启动后,您可以在控制台中输入提示。聊天代理将根据对话内容,自动判断何时调用 MCP 服务器提供的文本转换工具来处理您的请求。例如,尝试输入一些需要转换的文本,代理将尝试使用 Leet Speak、Code Speak 或反转工具进行处理。
信息
分类
AI与计算