MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

A generic Model Context Protocol (MCP) server for any REST backend. This project provides service composition, authentication, and dynamic module support. A ZenTao integration is included as an example configuration.

Created 11/26/2025
Updated 20 days ago
Repository documentation and setup instructions

MCP-ANY-REST

项目愿景

在 AI 极速发展的今天,大语言模型 (LLM) 展现了惊人的能力,但如何让 LLM 安全、高效地连接到现有的海量业务系统(REST APIs)始终是一个挑战。

MCP-ANY-REST 应运而生。我们的使命是消除 LLM 与业务数据之间的隔阂

我们不仅仅是在构建一个工具,更是在搭建一座桥梁——一座让 AI 能够理解并操作现实世界数据的桥梁。通过遵循 Model Context Protocol (MCP) 标准,我们让任何 RESTful 服务都能零成本接入 AI 生态。

核心价值

::: tip Write Once, Connect Anywhere 无需为每个 AI 模型重复开发接口。一次配置,处处运行。 :::

技术栈

本项目基于现代化的技术栈构建,确保高性能与可维护性:

| 领域 | 技术 | | :--- | :--- | | 核心逻辑 | Rust | | 协议标准 | Model Context Protocol (MCP) | | 配置语言 | ZML | 文档站点 | VuePress + Theme Hope |

ZML 文档

查看 docs/ 目录下的 ZML 文档索引:

  • 索引:docs/README.md
  • 规范:docs/ZML_SPECIFICATION.md
  • 快速开始:docs/ZML_QUICKSTART.md
  • 授权配置:docs/ZML_AUTHORIZATION.md

特性

  • ZML 配置:使用零成本模块语言 (ZML) 进行声明式配置
  • 令牌认证:安全的基于令牌的认证
  • 服务编排:通过 ServiceComposer 提供统一接口
  • RMCP 合规:完全符合 RMCP 协议标准

前置要求

  • Rust 1.70+ (2021 edition)
  • 一个具有 API 访问权限的 REST 服务(支持 ZenTao 示例)
  • 环境变量配置

安装

  1. 克隆仓库:
git clone <repository-url>
cd mcp-any-rest
  1. 构建项目:

你可以使用提供的构建脚本同时构建 zmlmcp-any-rest 二进制文件并创建分发包:

  • Windows:
.\build_and_copy.bat
  • Linux/macOS:
./build_and_copy.sh

或者使用 cargo 手动构建:

cargo build --release

使用

运行服务器

服务器现在支持灵活的配置目录管理:

  • 命令行指定:使用 --config-dir 指定自定义配置目录
  • 自动检测:如果未指定配置目录,服务器将自动使用相对于可执行文件的 config 目录
# 使用自定义配置目录运行
cargo run --bin mcp-any-rest -- --transport http --config-dir /path/to/your/config

# 在 stdio 模式下运行(使用相对于可执行文件的配置目录)
cargo run --bin mcp-any-rest -- --transport stdio

# 在 release 模式下使用自定义配置目录运行
cargo run --release --bin mcp-any-rest -- --transport http --config-dir ./my-config

# 使用默认配置运行(配置目录相对于可执行文件)
./target/release/mcp-any-rest --transport http

ZML 命令行工具

本项目包含一个用于管理 ZML 模块的 zml 命令行工具。

# 列出模块
cargo run --bin zml -- list

# 编译 ZML 为 JSON
cargo run --bin zml -- compile -i config/zml/project.zml --pretty

更多详情请参阅 docs/ZML_QUICKSTART.md

配置目录结构

配置目录应包含以下文件:

config/
├── config.json                  # 服务器运行时配置
├── modules.json                 # 模块启用映射
└── presets/                     # 预配置模块集
    ├── full.json
    ├── index.json
    └── ...

VSCode 扩展

plugin/vscode-zml 中提供了一个用于 ZML 语法高亮和格式化的 VSCode 扩展。

安装说明请参阅 plugin/vscode-zml/README.md

项目结构

config/                         # 运行时配置和 ZML 源码
├── config.json                  # 服务器运行时配置
├── modules.json                 # 模块启用映射
├── presets/                     # 预配置模块集
│   ├── full.json
│   ├── index.json
│   └── project.json
└── zml/                         # ZML 模块定义 (源码)
    ├── project.zml
    ├── user.zml
    └── ...
src/
├── lib.rs                       # 库导出
├── main.rs                      # 主入口点
├── zml/                         # ZML 语言实现
│   ├── mod.rs
│   ├── ast.rs                   # 抽象语法树
│   ├── parser.rs                # ZML 解析器
│   ├── compiler.rs              # ZML 编译器 (ZML → JSON)
│   └── grammar.pest             # PEG 语法
├── services/                    # 服务编排
│   ├── mod.rs
│   └── composer_service/
│       └── module_registry.rs
└── bin/                         # CLI 和测试工具
    ├── zml.rs                   # 统一 ZML CLI (list, compile)
    ├── test_zml.rs              # ZML 编译/集成测试
    └── ...
docs/                            # ZML 规范和文档
├── README.md                    # 文档索引
├── ZML_SPECIFICATION.md         # ZML 语言规范
├── ZML_QUICKSTART.md            # 快速开始指南
└── ZML_AUTHORIZATION.md         # 授权配置
plugin/
├── vscode-zml/                  # ZML 语法的 VSCode 扩展
│   ├── README.md
│   └── syntaxes/zml.tmLanguage.json
└── web-docs/                    # Web 文档
tests/
├── zml_enum_tests.rs
└── zml_integration_test.rs

开发

添加新服务

要使用基于 ZML 的架构添加新服务模块:

  1. config/zml/ 中创建一个新的 ZML 模块定义文件(例如 config/zml/mymodule.zml
  2. 使用 ZML 语法定义模块结构、方法和类型
  3. 系统将在运行时自动加载并注册该模块
  4. 服务编排层无需修改代码

测试

运行测试:

cargo test

生产构建

cargo build --release

许可证

本项目采用 MIT 许可证。

贡献

  1. Fork 仓库
  2. 创建特性分支
  3. 提交更改
  4. 添加测试
  5. 提交 Pull Request

支持

如有问题或疑问,请在 GitHub 仓库中提交 issue。

Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/xiangweizeng/mcp-any-rest
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "xiangweizeng-mcp-any-rest": { "command": "git", "args": [ "clone", "https://github.com/xiangweizeng/mcp-any-rest" ] } } }