mcp-echo-env 翻译为中文是“MCP回声环境”或“MCP回声配置环境”,具体翻译可能根据上下文有所调整。在这里,“MCP”可能代表某个特定的系统、项目或概念名称,“echo-env”则暗示了这是一个用于回声或反馈的环境或配置
这个仓库提供了一个MCP服务器,该服务器仅简单地回显选定的环境变量 变量。它的存在是为了验证MCP客户端是否传播了工作区上下文 (PWD 和 WORKSPACE_SLUG) 进入服务器 过程。规范分布是指已发布的npm包 mcp-server-echo-env,以及 该页面应被视为面向最终用户的项目主页。
项目链接:
- 仓库:
- 问题/反馈:
- npm 包:
有关安装、本地开发和分发的详细信息,请参阅 instructions.md本README文件的其余部分将重点介绍 在测试MCP客户端或代理时,如何对服务器进行操作。
工作区的 .env 文件
服务器启动时,会从一个(文件/配置)中加载环境变量 .env 文件在……中 当前工作目录(如果存在);否则,使用合理的默认值。 特别是,当 WORKSPACE_SLUG 如果尚未定义,则自动(进行定义/执行) 回退到工作区目录的基名,并且 PWD 默认为 当前工作目录。
示例 .env 放置在工作区根目录:
# .env
WORKSPACE_SLUG=my-workspace
PWD=/custom/path/override在实际环境中导出的值仍然具有优先权,因此您可以 通过每次运行覆盖(设置) WORKSPACE_SLUG=demo pnpm start 需要时。
对于包含多个工作区的单体仓库,请放置一个专用的 .env 每个中的文件 工作区根目录和启动 mcp-server-echo-env 从那个目录中。该 服务器重新计算两者 PWD 并且 WORKSPACE_SLUG 每次启动时,如此简单 更改目录并重新运行二进制文件就足以验证MCP(管理控制点/多点控制单元/其他根据上下文确定的MCP含义)的工作方式 客户端处理特定于工作区的变量。您也可以为每次运行覆盖这些变量 无需通过提供内联导出编辑文件: WORKSPACE_SLUG=staging PWD=/path/to/workspace mcp-server-echo-env。
日志记录控制
设置 MCP_ECHO_ENV_LOG_LEVEL 调整服务器在标准错误输出(stderr)上的详细程度:
silent– 抑制所有日志输出。error– 仅报告失败(建议用于脚本化的冒烟测试)。info(默认)– 发出生命周期消息,如准备就绪和关闭消息。debug– 包括参数载荷和结构化响应。
所有日志都留在标准错误输出(stderr)上,因此它们永远不会干扰返回的JSON内容 在标准输出(stdout)上显示给客户端。
可用工具
env_echo
将环境变量回传给调用者。
- 默认行为: 回报;收益
PWD并且WORKSPACE_SLUG. - 参数: 无。该工具故意忽略用户提供的密钥,因此仅
工作区路径和别名始终是公开的。
该工具返回一个格式化文本块和结构化JSON:
{
"tool": "env_echo",
"variables": {
"PWD": "/Users/me/projects/demo",
"WORKSPACE_SLUG": "my-demo-workspace"
},
"workspace_slug": "my-demo-workspace",
"pwd": "/Users/me/projects/demo"
}这个(或“该”) variables 映射(map)总是只包含这两个键。小写别名 (workspace_slug, pwd) 使常用检查值易于阅读。
MCP客户端能力检查
使用此服务器进行快速验证测试,以确认MCP客户端或代理 传递环境变量:
- 发射
mcp-server-echo-env从你希望客户端使用的工区中
检查。对于临时检查,您可以运行 npx mcp-server-echo-env (无需 (事先安装)或 pnpm dlx mcp-server-echo-env。
- 将您的MCP客户端连接到正在运行的服务器(请参阅Codex CLI指令)
以下是一个示例)。
- 调用
env_echo工具并确保所报告的PWD并且WORKSPACE_SLUG
值与您启动服务器时的工作区相匹配。不匹配表示 客户端没有传递预期的环境上下文。
示例触发序列
- 在一个终端中,从目标工作区启动服务器:
WORKSPACE_SLUG=demo mcp-server-echo-env让这个程序继续运行;它会打印一条准备就绪的消息,然后等待 请求:
- 在另一个终端中,使用Codex CLI(或另一个MCP客户端)来调用
工具。对于Codex CLI,请运行:
codex 'Call env_echo with the default arguments and show the JSON response.'确保您之前已将服务器注册到 codex mcp add; Codex 将 发射;启动 mcp-server-echo-env调用工具,并将JSON有效载荷包含在(请求中) 其回应确认,客户已转达 PWD 并且 WORKSPACE_SLUG。
- 完成后,使用(命令/方法)停止服务器
Ctrl+C在第一个终端中。
Codex CLI 示例
有两种方法可以让服务器对 Codex CLI 可用。
选项1:CLI注册
codex mcp add mcp-echo-env mcp-server-echo-env确保 mcp-server-echo-env 可以在您的(设备/系统中)找到 $PATH (见“分布/ (见下文“安装”)。注册后,使用您想要的提示启动 Codex:
codex 'Call env_echo with the default arguments and show the JSON response.'Codex 将自动启动服务器,实时流式传输工具输出,并包含 在回复中包含JSON有效载荷。测试完成后,请移除服务器 与……的注册 codex mcp remove mcp-echo-env与其他服务器配对 (例如,通过Jina网络搜索MCP进行额外的) codex mcp add 电话。
选项2:手动配置输入
编辑 ~/.codex/config.toml 并补充:
[mcp_servers.mcp-echo-env]
command = "mcp-server-echo-env"然后,您可以使用相同的(方法/方式)启动Codex mcp_servers 上述的重写,或 制作 mcp-echo-env TOML文件中配置文件的一部分。添加一个可选的 [mcp_servers.mcp-echo-env.env] 仅当您想强制执行全局设置时才选择该部分 以(权力)否决 否则服务器将会推断 WORKSPACE_SLUG 来自活跃(的部分/方面) 工作区。 服务器无需授权或凭证——目标仅仅是 反映客户端提供的所有环境变量。
其他MCP客户端
同样的 mcp-echo-env 二进制文件可与任何支持stdio的MCP客户端配合使用 服务器。以下是两种流行选项的示例配置。
Playwright MCP 运行器
安装Playwright MCP包并进行注册 mcp-echo-env 与之并列的是:
pnpm dlx @playwright/mcp@latest --version将服务器添加到 Playwright 推荐的 JSON 配置文件中(通常 ~/.config/mcp/clients/playwright.json):
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
},
"mcp-echo-env": {
"command": "mcp-server-echo-env"
}
}
}重启 Playwright MCP 运行器并运行一个快速工具调用(例如):
playwright mcp call mcp-echo-env env_echoPlaywright 打印的 JSON 负载应该与您所在的工作区相匹配 启动了跑步程序/开始了跑步。
Jina MCP工具
这个(或“该”) jina-mcp-tools 该包提供了网页搜索和阅读器功能。添加 在共享MCP配置中,紧邻其旁的echo服务器(例如 ~/.config/mcp/clients/jina.json):
{
"mcpServers": {
"jina-mcp-tools": {
"command": "npx",
"args": ["jina-mcp-tools"]
},
"mcp-echo-env": {
"command": "mcp-server-echo-env"
}
}
}现在,您可以要求Jina的客户端验证上下文传递(例如):
gina mcp call mcp-echo-env env_echo如果响应列出了预期的 PWD 并且 WORKSPACE_SLUG,客户是 正确地将环境变量转发到服务器。
