Token导航 LogoToken导航TokenDH.com
wdrMCP (Wunderio) logo
AI代理stdio官方级别未说明来源级核验

wdrMCP (Wunderio)

MCP Server

@wunderio/wdrmcp

一个通用的MCP服务器,动态加载YAML配置文件中的工具定义并在Docker容器中执行或代理到远程MCP服务器。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptDocker容器AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

wunderio

提供方

wunderio

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @wunderio/wdrmcp --tools-config /path/to/tools-config

详细介绍

@wunderio/wdrmcp

一个通用的MCP(模型上下文协议)服务器,它从YAML配置文件中动态加载工具定义,并在Docker容器中执行它们,或者将它们代理到远程MCP服务器。

官方MCP TypeScript SDK.

特性

  • YAML驱动的工具定义 --以声明方式定义工具,无需更改代码
  • Docker容器执行 --在带有安全验证的Docker容器中运行命令
  • MCP服务器代理 --代理工具通过HTTP JSON-RPC/流式HTTP MCP调用远程MCP服务器
  • 动态工具发现 --自动从远程MCP服务器获取和公开工具
  • 安全 --容器所有权验证、命令注入预防、参数验证
  • DDEV集成 --对DDEV容器命名和项目范围的内置支持

安装

npm install -g @wunderio/wdrmcp

或者直接与npx一起使用:

npx @wunderio/wdrmcp --tools-config /path/to/tools-config

用法

命令行界面

wdrmcp --tools-config /path/to/tools-config [options]

选项:

标志描述默认值
`--tools-config
`YAML工具配置目录的路径*(必填)*
--log-level 日志级别(调试、信息、警告、错误)info
`--log-file
`日志文件路径/tmp/wdrmcp.log
--strict-host-key-checking强制SSH主机密钥验证false

环境变量:

变量描述默认值
DDEV_PROJECTDDEV项目名称default-project
HOST_PROJECT_ROOT主机文件系统项目根/workspace
CONTAINER_PROJECT_ROOT容器文件系统项目根/var/www/html
SSH_STRICT_HOST_KEY_CHECKING强制SSH主机密钥验证(true/false)false

VS代码/GitHub副本配置

{
  "servers": {
    "wdrmcp": {
      "command": "npx",
      "args": ["-y", "@wunderio/wdrmcp", "--tools-config", "/path/to/tools-config"],
      "env": {
        "DDEV_PROJECT": "my-project"
      }
    }
  }
}

工具配置格式

工具在Tools-config目录中的YAML文件中定义。每个文件必须包含 tools 阵列。

命令工具

通过SSH执行shell命令:

tools:
  - name: my_tool
    enabled: true
    description: "What this tool does"
    type: command
    command_template: "my-command {arg1} {arg2}"
    ssh_target: "web"
    ssh_user: "${DDEV_SSH_USER}"
    working_dir: "/var/www/html"
    shell: "bash" # Uses /usr/bin/env to resolve the shell
    default_args:
      arg2: "default-value"
    disallowed_commands:
      - "rm"
      - "shutdown"
    validation_rules:
      - pattern: "dangerous-pattern"
        message: "This pattern is not allowed"
    max_arg_length: 4096
    input_schema:
      type: object
      properties:
        arg1:
          type: string
          description: "First argument"
      required:
        - arg1

MCP服务器代理工具

代理工具调用远程MCP服务器:

tools:
  - name: remote_tools
    enabled: true
    description: "Remote MCP server"
    type: mcp_server
    server_url: "http://localhost:8080"
    expose_remote_tools: true
    tool_prefix: "remote_"
    timeout: 30
    auth_token: "${REMOTE_MCP_TOKEN}"

笔记:

  • wdrmcp 支持普通JSON-RPC HTTP MCP端点和流式HTTP MCP端点。
  • 对于流式HTTP服务器, wdrmcp 执行 initializenotifications/initialized,保持 mcp-session-id,并发送 Accept: application/json, text/event-stream.

建筑

src/
├── index.ts           # CLI entry point
├── server.ts          # MCP server setup (tool registration with Zod schemas)
├── registry.ts        # Tool registry (YAML loading, executor creation)
├── executors/
│   ├── base.ts        # Base executor interface
│   ├── command.ts     # Docker container command executor
│   └── mcp-proxy.ts   # Remote MCP server proxy executor
├── docker.ts          # Docker exec & container validation
├── config.ts          # CLI argument parsing
├── logger.ts          # Stderr-only logger
└── types.ts           # TypeScript type definitions

许可证

麻省理工学院

安全说明

  • 中的参数占位符 command_template 在执行之前,每个参数都进行了shell转义。
  • disallowed_commands 与参数值和呈现的命令字符串匹配。
  • 主机密钥验证是可配置的;集 --strict-host-key-checking (或 SSH_STRICT_HOST_KEY_CHECKING=true)用于类似生产的环境。
  • 使用环境占位符作为凭据(${VAR})而不是YAML中的字面秘密。

目录标签

目录标签

TypeScriptDocker容器AI代理YAML配置本地部署模型上下文协议远程代理工具执行

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@wunderio/wdrmcp

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP