openaaas-mcp-adapter
This server acts as an MCP (Model Context Protocol) adapter for the OpenAaaS Agent Orchestration Network, enabling AI clients to discover, submit, and manage tasks on distributed remote AI agents.
Server Management
discover— Fetch API information from a specified server URLset_server_url— Configure and save a server address for future requestslist_servers— View all configured serversset_default_server— Switch which server is used by defaultremove_server— Delete a server configuration
Account Management
register— Create a client account to obtain an API keyupdate_profile— Update the current client's username
Service Discovery
list_services— Retrieve a summary list of available remote agent servicesget_service_usage— Get detailed usage instructions for a specific service, including capabilities, call conventions, return formats, and limitations
Task Lifecycle
submit_task— Submit a task prompt (with optional local file uploads) to a remote agent for executionget_task— Query the status and final result of a submitted taskcancel_task— Cancel a task that is currently executing
File Management
list_files— List all result files associated with a completed taskdownload_result— Download individual or all result files from a task
🚀 Quick Start
方式 | 入口 |
在线体验 |
|
下载客户端 | GitHub Releases — macOS / Windows 桌面客户端 |
Related MCP server: mcp-pdf-reader
什么是 OpenAaaS?
智能流动,数据静止 —— 让 Agent 走到数据身边,而不是把数据交给 Agent。
OpenAaaS 是一个面向 AI for Science 的 Agent-to-Agent 编排网络(Agent Orchestration Network)。网络中的每个节点都运行着一个拥有完整工具链的 Agent 实例;数据驻留在产生它的原地,Agent 能力通过网络流动到数据身边,完成分析、计算与协作。
操作视频 | 截图 |
接入网络查看节点列表委派结果返回 |
论文:技术设计与实现细节详见 arXiv:2605.13618。
为什么选择 OpenAaaS?
1. Agent 编排,节点即 Agent
OpenAaaS 编排的不是脚本、函数或固定 API,而是运行在远程节点上的完整 Agent 实例。每个节点上的 Docker 容器内都运行着一个拥有本地工具、模型和数据的完整 Agent,能够自主决策、自主执行,并在需要时继续委派给子 Agent。
例如,Claude Code 可以发现一个运行在实验室服务器上的数据分析 Agent,把任务委派给它;该节点 Agent 处理本地数据时,还可以进一步调用节点内的子 Agent 完成清洗、建模或可视化。任意 Agent(Claude Code、pi mono 等)都可以加入网络,发现、委派并组合其他节点的 Agent。
2. 数据原地处理,零迁移
原始数据始终留在产生它的位置,远程 Agent 直接在数据旁工作。不同实验室、服务器或仪器可以围绕同一个复杂任务协作:每个节点只处理自己的本地数据,网络只传输任务描述(即委派请求)与结果(KB~MB 级),不触碰原始数据(TB 级)。
传统云端方案 | OpenAaaS | |
数据流向 | 本地 → 云端 → 本地 | 原始数据原地不动 |
网络传输 | 原始数据(TB 级) | 委派请求与结果(KB~MB 级) |
防火墙要求 | 需开放入站端口 | 仅出站 HTTP 即可 |
敏感数据 | 必须出域 | 不出实验室 |
3. 免规范化接入,即插即用
无需统一数据格式,JSON/CSV/Excel/MATLAB/HDF5/厂商二进制格式均可原地处理。你可以把已有的脚本、模型、数据库查询、仪器接口或内部工具打包进一个完整 Agent 实例的 Docker 镜像;这个实例会作为 Agent 节点注册到网络中,供其他 Agent 发现并委派任务。远程 Agent 看到的不是一个可被调用的函数,而是一个能自主决策、使用本地工具链完成任务的完整 Agent。节点零配置入网:open-aaas-server run 首次启动自动生成 config.toml 和 SQLite。自描述网络接口 + 渐进式能力发现,Agent 无需插件即可发现并使用其他 Agent 节点的能力。
4. 近数据端计算,低门槛部署
Rust 单二进制 + SQLite 嵌入式,零依赖部署,复制即用。Docker 隔离执行,每个任务独立沙箱。节点单向出站即可加入网络,无需公网 IP、无需开端口、无需 SSH——专为实验室防火墙和 NAT 环境设计。
如何使用?
以下任一方式都可以让你的 Agent 加入 OpenAaaS 网络,发现远程 Agent 并向它们委派任务。
公共服务器:https://api.open-aaas.com
当前可用服务
名称 | ID | 描述 |
IDM-Alpha材料科学文献研究助手 |
| 材料科学文献分析与问答,可生成论文深度阅读报告。适用于金属材料、陶瓷材料、复合材料等方向的文献问答、论文解读与跨论文综述。 |
扶摇多专家研讨系统 |
| 针对深度问题的 AI 多专家会议研讨系统,从多视角拆分问题并输出深度研讨结论。 |
六元高熵合金描述符数据库 |
| 利用近数据端 Agent 查询六元高熵合金全成分描述符数据。总数据量 500 亿条,超 10 万亿数据点,主要为描述符数据,含少量机器学习预测的压缩塑性数据,不含真实实验数据。 |
亦可通过 pyopenaaas 或 OpenAaaS API 实时查询当前可用服务。
方式 | 适合谁 | 入口 |
Jupyter Notebook (Binder) | 想先体验,无需安装 | |
桌面客户端 | 非技术用户 | |
Python SDK | Python/Jupyter 用户 |
|
MCP 适配器 | Claude/Cursor/Cline 用户 |
|
pi 插件 | 对话型 Agent 用户 |
|
Jupyter Notebook (Binder)
点击上方 Binder 徽章即可在浏览器中运行 binder/quickstart.ipynb,无需安装任何软件。
桌面客户端
基于 Tauri 的跨平台桌面应用,支持 macOS 和 Windows。适合非技术用户管理多个服务器、拖拽上传文件、实时查看任务进度。
macOS 和 Windows 用户可直接从 GitHub Releases 下载
.dmg或.msi安装包。macOS 首次打开需前往 系统设置 → 隐私与安全性 → 安全性 点击"仍要打开"。
Python SDK
pip install pyopenaaas在 OpenAaaS 中,
submit_task是指让你的 Agent 向远程节点上的另一个完整 Agent 实例提交委派请求,而不是调用一个远程函数。
import pyopenaaas
client = pyopenaaas.Client()
client.register(name="your-name")
agents = client.list_services() # 获取网络中的 Agent 节点列表
task = client.submit_task(
service_id=agents[0].id, # 向该完整 Agent 实例委派任务
task_prompt="你的任务描述", # 由目标 Agent 实例自主理解并执行
)
task = client.wait_for_task(task.id)
paths = client.download_all_files(task.id)MCP 适配器
openaaas-mcp-adapter 已发布至 PyPI。支持 MCP 的客户端(Claude Desktop、Cursor、Cline 等)只需一条配置即可接入:
{
"mcpServers": {
"openaaas": {
"command": "uvx",
"args": ["openaaas-mcp-adapter"],
"toolTimeoutMs": 600000
}
}
}toolTimeoutMs设置 MCP 工具调用的最大等待时间(毫秒),适合长任务轮询场景。⚠️ 该参数由 MCP 客户端解析,实际生效情况取决于具体客户端实现;某些客户端或 Agent 工具本身可能仍有独立的超时限制,导致该参数不生效。
配置后重启客户端,即可在对话中调用全部能力。
详见 openaaas-mcp-adapter/README.md。
pi 插件
面向 pi 用户的 TypeScript 扩展,安装方式:
pi install npm:open-aaas-pi-extension安装后在对话中直接说:
"帮我设置 OpenAaaS 的服务器地址为 https://api.open-aaas.com,然后向合适的远程 Agent 节点委派一个数据分析任务"
客户端 Agent 自动完成注册、节点发现、任务委派和结果获取。
通用 Agent 框架
如果你的 Agent 没有 OpenAaaS 插件,直接访问 https://api.open-aaas.com。无需认证,返回完整 API 文档和使用说明,Agent 读取后即可自动完成注册、节点发现、任务委派。
部署自己的节点
预编译二进制(推荐)
无需安装 Rust,下载即可运行:GitHub Releases
组件 | 二进制文件名 |
Server |
|
Agent Core |
|
支持平台:
Server / Agent Core:Linux x64 (musl 静态链接)、Linux arm64 (musl 静态链接)、macOS arm64、Windows x64
桌面客户端:macOS、Windows
Linux 版本采用 musl 静态链接,不依赖系统 glibc,可在任意 Linux 发行版直接运行。
chmod +x open-aaas-server # Unix 用户
./open-aaas-server run首次启动自动生成 config.toml 和 SQLite 数据库。
从源码编译
cd server
cargo build --release
./target/release/open-aaas-server runAgent Core 部署详见 agent-core/README.md。
架构
客户端 Agent
(pi mono / Claude Code / Cline / 自研 Agent)
▲
│ 控制流:委派请求、心跳、结果(KB 级)
▼
───────────────────────────────────────────────────────────────────
OpenAaaS Server(网络枢纽)
Rust + SQLite — 轻量索引层
• 节点注册 • 委派路由 • 节点心跳 • 文件中转
▲
│ 短轮询(单向出站 HTTP)
▼
───────────────────────────────────────────────────────────────────
Agent Core(网络节点)
Rust + Docker — 部署在数据本地
• 向网络注册能力 • 轮询认领委派任务
• 容器沙箱隔离执行 • 上报结果
│
▼
[完整 Agent 实例]
(拥有完整工具链,在容器内自主决策、自主执行)
│
├─→ [本地数据集](TB 级)
├─→ [分析脚本](算法/模型)
└─→ [专用硬件](GPU/仪器)层级 | 组件 | 职责 |
客户端 Agent | pi mono / Codex / Open Code / 自研 Agent | 理解任务、发现网络中的其他 Agent、委派任务并整合结果 |
网络枢纽 | Server — 节点注册与委派路由中心 (Rust + SQLite) | 节点注册、委派路由、节点心跳、文件中转 |
网络节点 | agent-core — 在数据本地运行完整 Agent 实例的网络节点 (Rust + Docker) | 向网络注册自身能力、轮询认领任务、在沙箱中启动完整 Agent 实例隔离执行、上报结果 |
项目结构
OpenAaaS/
├── server/ # 网络枢纽(调度中心) (Rust)
├── agent-core/ # 网络节点:在数据本地运行完整 Agent 实例 (Rust)
├── admin-cli/ # 命令行管理员工具 (Rust)
├── client-app/ # 桌面客户端 (Tauri + Vue 3)
├── dash/ # 调试与管理员工具 (Python/Streamlit)
├── openaaas-mcp-adapter/ # MCP 适配器
├── pi-extension/ # PI 插件
├── pyopenaaas/ # Python SDK
└── binder/ # 示例 notebook 与脚本论文
arXiv:2605.13618 — https://arxiv.org/abs/2605.13618
参与贡献
欢迎参与贡献!请阅读 CONTRIBUTING.md。
开源许可
MIT License © IDM Explorer Lab
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wolido/OpenAaaS'
If you have feedback or need assistance with the MCP directory API, please join our Discord server