About Any Rest
Any Rest is an MCP server in the Search category: 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.
Install
git clone https://github.com/xiangweizeng/mcp-any-restThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Any Rest
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
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 示例)
- 环境变量配置
安装
- 克隆仓库:
git clone <repository-url>
cd mcp-any-rest
- 构建项目:
你可以使用提供的构建脚本同时构建 zml 和 mcp-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 的架构添加新服务模块:
- 在
config/zml/中创建一个新的 ZML 模块定义文件(例如config/zml/mymodule.zml) - 使用 ZML 语法定义模块结构、方法和类型
- 系统将在运行时自动加载并注册该模块
- 服务编排层无需修改代码
测试
运行测试:
cargo test
生产构建
cargo build --release
许可证
本项目采用 MIT 许可证。
贡献
- Fork 仓库
- 创建特性分支
- 提交更改
- 添加测试
- 提交 Pull Request
支持
如有问题或疑问,请在 GitHub 仓库中提交 issue。
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.