mcpField
E
Echo MCP Server

Echo MCP Server

本地服务
github.com/aadversteeg开发工具038 周前更新

关于 Echo MCP Server

Echo MCP Server 是一个轻量级 .NET Core 服务,可按配置格式将消息返回给调用方,适用于基础回显功能和 MCP 服务开发示例。

主要功能

  1. 01将消息回传给调用方
  2. 02配置响应格式
  3. 03在本机或 Docker 中运行

适用场景

  1. 01测试客户端消息往返
  2. 02演示简单的 MCP 服务

MCP 相关

向 MCP 客户端提供 `echo` 工具,接收消息并按配置的格式返回。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"echo-mcp-server-aadversteeg": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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(用于容器部署)
构建说明(用于开发)

如果要从源代码构建项目:

  1. 克隆此仓库:

    git clone https://github.com/yourusername/echo-mcp-server.git
    
  2. 切换到项目根目录:

    cd echo-mcp-server
    
  3. 使用以下命令构建项目:

    dotnet build src/echo.sln
    
  4. 运行测试:

    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 服务:

  1. 使用 Model Context Protocol C# SDK 或任何兼容 MCP 的客户端
  2. 将客户端配置为连接到服务的端点
  3. 调用下文介绍的可用工具
可用工具
echo

将消息回显给客户端。

参数:

  • message(必需):要回显的消息。

请求示例:

{
  "name": "echo",
  "parameters": {
    "message": "Hello, world!"
  }
}

响应示例:

Echo: Hello, world!

配置

MessageFormat

MessageFormat 设置决定回显消息的格式。它使用包含 {message} 占位符的模板字符串,该占位符会被输入消息替换。

你可以通过两种方式设置 MessageFormat:

  1. appsettings.json 文件(用于本地部署):
{
  "MessageFormat": "Server says: {message}"
}
  1. 环境变量(用于容器化部署):

使用 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 和自定义配置文件

要使用主机系统中的自定义配置文件:

  1. 在主机上创建自定义配置文件(例如,echo-appsettings.json):
{
  "MessageFormat": "My Custom Format: {message}",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning"
    }
  }
}
  1. 更新配置以挂载此文件:
"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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。