关于 Echo MCP Server
Echo MCP Server 是一个轻量级 .NET Core 服务,可按配置格式将消息返回给调用方,适用于基础回显功能和 MCP 服务开发示例。
主要功能
- 01将消息回传给调用方
- 02配置响应格式
- 03在本机或 Docker 中运行
适用场景
- 01测试客户端消息往返
- 02演示简单的 MCP 服务
MCP 相关
向 MCP 客户端提供 `echo` 工具,接收消息并按配置的格式返回。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Echo MCP 服务
一个简单的回显服务,实现了 Model Context Protocol(MCP)。该服务通过 MCP 接口提供基本的回显功能。
概述
Echo MCP 服务使用 .NET Core 和 Model Context Protocol C# SDK(github.com/modelcontextprotocol/csharp-sdk)构建。它提供了一个将消息回显给客户端的工具。该服务旨在保持轻量,并演示如何创建具备简单功能的自定义 MCP 服务。它既可以直接部署在机器上,也可以作为 Docker 容器部署。
功能
- 将任意消息回显给客户端
- 通过配置自定义消息格式
- 基于 Model Context Protocol 标准构建
开始使用
先决条件
- .NET 10.0(用于本地开发/部署)
- Docker(用于容器部署)
构建说明(用于开发)
如果要从源代码构建项目:
-
克隆此仓库:
git clone https://github.com/yourusername/echo-mcp-server.git -
切换到项目根目录:
cd echo-mcp-server -
使用以下命令构建项目:
dotnet build src/echo.sln -
运行测试:
dotnet test src/echo.sln
.NET 工具
Echo MCP 服务以 .NET 全局工具的形式在 NuGet 上提供。
安装
dotnet tool install --global Ave.McpServer.Echo
运行
ave-mcpserver-echo
一次性执行(无需永久安装)
使用 .NET 10 SDK,可以通过 dotnet tool exec 运行该工具,无需全局安装:
dotnet tool exec -y ave.mcpserver.echo
-y 标志会自动接受提示。该工具会缓存在本地,但不会添加到 PATH 中。
Docker 支持
手动构建 Docker
要自行构建 Docker 镜像:
# Navigate to the repository root
cd echo-mcp-server
# Build the Docker image
docker build -f src/Core.Infrastructure.McpServer/Dockerfile -t echo-mcp-server:latest src/
# Run the locally built image
docker run -d --name echo-mcp echo-mcp-server:latest
MCP 协议用法
客户端集成
要从应用程序连接到 Echo MCP 服务:
- 使用 Model Context Protocol C# SDK 或任何兼容 MCP 的客户端
- 将客户端配置为连接到服务的端点
- 调用下文介绍的可用工具
可用工具
echo
将消息回显给客户端。
参数:
message(必需):要回显的消息。
请求示例:
{
"name": "echo",
"parameters": {
"message": "Hello, world!"
}
}
响应示例:
Echo: Hello, world!
配置
MessageFormat
MessageFormat 设置决定回显消息的格式。它使用包含 {message} 占位符的模板字符串,该占位符会被输入消息替换。
你可以通过两种方式设置 MessageFormat:
- appsettings.json 文件(用于本地部署):
{
"MessageFormat": "Server says: {message}"
}
- 环境变量(用于容器化部署):
使用 Claude 运行 MCP 服务时,环境变量通过 Claude Desktop 配置传递,如下方“配置 Claude Desktop”一节所示。
如果未指定,服务默认使用 "Echo: {message}"。
配置 Claude Desktop / Claude Code
将服务配置添加到配置文件的 mcpServers 部分。
使用 .NET 工具
需要 .NET 10 SDK。此方式会在首次使用时自动下载工具,并在后续运行时更新到最新版本。
"echo": {
"command": "dotnet",
"args": [
"tool",
"exec",
"-y",
"ave.mcpserver.echo"
],
"env": {
"MessageFormat": "Claude says: {message}"
}
}
使用全局安装
需要 .NET 10 SDK。安装一次该工具,然后直接使用。
dotnet tool install --global Ave.McpServer.Echo
"echo": {
"command": "ave-mcpserver-echo",
"env": {
"MessageFormat": "Claude says: {message}"
}
}
更新方式:dotnet tool update --global Ave.McpServer.Echo
使用 Docker
无需 .NET 10 SDK。
"echo": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "MessageFormat=Claude says: {message}",
"aadversteeg/echo-mcp-server:latest"
]
}
使用 Docker 和自定义配置文件
要使用主机系统中的自定义配置文件:
- 在主机上创建自定义配置文件(例如,
echo-appsettings.json):
{
"MessageFormat": "My Custom Format: {message}",
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning"
}
}
}
- 更新配置以挂载此文件:
"echo": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v", "C:/path/to/echo-appsettings.json:/app/appsettings.json",
"aadversteeg/echo-mcp-server:latest"
]
}
重要说明:
- 启动容器前,配置文件必须已存在于主机系统上
- 主机上的文件名可以任意指定(例如,
echo-appsettings.json),但必须挂载到容器内的/app/appsettings.json - 确保路径符合操作系统要求(Windows 使用反斜杠或正斜杠,Linux/macOS 使用正斜杠)
- 修改配置文件后,重启 Claude Desktop 以应用更改
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。