YAML配置管理工具

一款VS Code扩展,通过YAML配置文件管理MCP服务器,提供可视化界面和自动转换功能。

  • by adefemi171
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 adefemi171/yaml2mcp

使用说明

🔄⚙️ YAML2MCP

一个VS Code扩展,可帮助您使用YAML配置文件管理MCP(模型上下文协议)服务器。此扩展提供了一个用户友好的界面来启动、停止和监视MCP服务器,自动将YAML配置转换为IDE所需的JSON格式。

特性

  • 📝 YAML配置:使用干净、可读的YAML格式而不是JSON来管理MCP服务器
  • 🚀 动态服务器管理:通过VS Code UI按需启动和停止MCP服务器
  • 🔄 自动同步:自动将YAML转换为 mcp.json IDE兼容性格式
  • 👀 视觉状态:在侧栏中一目了然地查看服务器状态(运行/停止/错误)
  • 📊 多种配置:在单个YAML文件中管理多个MCP服务器配置
  • 🔍 文件监视:自动检测对YAML配置文件的更改

安装

  1. 克隆或下载此存储库
  2. 在VS Code中打开项目
  3. 跑 npm install 安装依赖项
  4. 按 F5 启动新的“扩展开发主机”窗口
  5. 在新窗口中,扩展将处于活动状态

配置

YAML配置格式

创建一个 mcp.yaml 工作区根目录中的文件(或配置自定义路径):

version: "1.0"
servers:
  my-mcp-server:
    type: stdio
    command: node
    args:
      - server.js
    env:
      NODE_ENV: production
      API_KEY: your-api-key
    disabled: false
    autoApprove:
      - execute_command

  another-server:
    type: stdio
    command: python
    args:
      - -m
      - mcp_server
    env:
      PYTHONPATH: /path/to/python

  http-server:
    type: http
    url: http://localhost:8000
    disabled: false

inputs: []

配置字段

服务器配置(服务器对象):

  • 服务器名称是 servers 对象
  • 类型 (必填):要么 stdio 或 http
  • 对于 stdio 类型:
    • 命令 (必填):执行命令(例如。, node, python, npm)
    • 参数 (可选):命令行参数数组
    • 环境 (可选):环境变量作为键值对
  • 对于 http 类型:
    • 网址 (必填):MCP服务器的HTTP URL
  • 残疾的 (可选):用于禁用服务器的布尔值
  • 自动批准 (可选):要自动批准的工具名称数组
  • 禁用工具 (可选):要禁用的工具名称数组

输入:

  • 输入 (可选):输入配置数组(默认情况下当前为空数组)

VS代码设置

您可以在VS代码设置中自定义路径:

{
  "yaml2mcp.configPath": "${workspaceFolder}/mcp.yaml",
  "yaml2mcp.mcpJsonPath": "${workspaceFolder}/.vscode/mcp.json"
}

用法

启动服务器

  1. 打开 MCP服务器 视图(单击活动栏中的YAML2MCP图标)
  2. 右键单击已停止的服务器
  3. 选择 启动MCP服务器

服务器将启动 mcp.json 文件将自动更新以包含它。

停止服务器

  1. 在 MCP服务器 查看,右键单击正在运行的服务器
  2. 选择 停止MCP服务器

服务器将被停止,并将从中删除 mcp.json.

刷新视图

单击中的刷新图标 MCP服务器 查看标题以重新加载配置。

打开配置

单击中的配置图标 MCP服务器 查看标头以打开或创建YAML配置文件。

运作原理

  1. YAML配置:在YAML文件中定义所有MCP服务器(mcp.yaml)
  2. 运行时管理:扩展独立管理服务器进程
  3. JSON移植:生成的数据中只包含正在运行的服务器 mcp.json 文件
  4. IDE兼容性:您的IDE读取 mcp.json 文件与往常一样,但您通过YAML管理它

项目结构

yaml2mcp/
├── src/
│   ├── extension.ts          # Main extension entry point
│   ├── types.ts              # TypeScript type definitions
│   ├── configParser.ts       # YAML configuration parser
│   ├── jsonTranspiler.ts     # YAML to JSON transpiler
│   ├── processManager.ts     # Process management (start/stop)
│   └── treeDataProvider.ts   # Tree view UI provider
├── package.json
├── tsconfig.json
└── README.md

发展

建筑

npm run compile

观察变化

npm run watch

测试

  1. 按 F5 在VS代码中启动扩展开发主机
  2. 在新窗口中测试扩展

故障排除

服务器无法启动

  • 检查YAML配置中的命令和参数是否正确
  • 验证该命令在PATH中可用
  • 检查VS代码输出面板是否有错误消息

配置未加载

  • 确保YAML文件有效(检查语法错误)
  • 验证VS Code设置中的文件路径是否与您的实际文件位置匹配
  • 尝试刷新视图或重新加载窗口

JSON未更新

  • 确保您对包含以下内容的目录具有写入权限 mcp.json
  • 检查设置中的路径是否正确
  • 在VS代码输出面板中查找错误

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。