内容
<p align="center">
<img src="docs/assets/atlas-mcp-logo.png" alt="ATLAS MCP logo" width="156" />
</p>
<h1 align="center">ATLAS MCP</h1>
<p align="center">
<strong>安全执行。持久内存。验证结果。</strong>
</p>
<p align="center">
一个开源的模型上下文协议运行时,适用于文件、终端、浏览器、内存和计算机使用,具有策略检查、有界执行和每个结果的证据。
</p>
<p align="center">
<a href="https://github.com/XAGI-Lab/atlas-mcp/actions/workflows/ci.yml"><img src="https://github.com/XAGI-Lab/atlas-mcp/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
<a href="https://github.com/XAGI-Lab/atlas-mcp/actions/workflows/codeql.yml"><img src="https://github.com/XAGI-Lab/atlas-mcp/actions/workflows/codeql.yml/badge.svg" alt="CodeQL" /></a>
<a href="https://github.com/XAGI-Lab/atlas-mcp/releases"><img src="https://img.shields.io/github/v/release/XAGI-Lab/atlas-mcp?include_prereleases&color=8b5cf6" alt="最新版本" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-f97316.svg" alt="Apache-2.0 license" /></a>
<img src="https://img.shields.io/badge/evals-22%2F22-22c55e.svg" alt="22 of 22 deterministic evaluations passing" />
<img src="https://img.shields.io/badge/telemetry-off-0f172a.svg" alt="Telemetry off" />
<a href="https://github.com/XAGI-Lab/atlas-mcp/discussions"><img src="https://img.shields.io/badge/discussions-join-2563eb.svg" alt="GitHub Discussions" /></a>
</p>
<p align="center">
<img src="docs/assets/atlas-mcp-hero.png" alt="ATLAS MCP governed execution flow" width="100%" />
</p>
> [!WARNING]
> ATLAS MCP 是一个alpha版本。其本地stdio运行时已进行端到端测试,但API可能会在`1.0`之前更改。请使用隔离的工作空间,保持域和命令允许列表的范围,并审查每个重要批准。
## 一个运行时,五个执行层 🧭
ATLAS MCP 将工具调用转换为持久、可检查的任务:
| 层 | 实现内容 |
|---|---|
| 🗂️ **文件** | 根目录限制的读取、哈希、原子写入、移动、创建目录和删除,带有符号链接逃逸防御 |
| 💻 **终端** | 无shell的前台和后台进程,带有允许列表、超时、取消和编辑 |
| 🌐 **浏览器** | 隔离的Playwright会话、语义化DOM目标、有界构件、网络策略和基于条件的动作后等待 |
| 🧠 **内存** | 带有混合词典排名、会话上下文、说话者匹配、置信度、新鲜度、多样性、过期、替换和编辑的限定SQLite内存 |
| 🖥️ **计算机** | 能力发现加上受控的截图、指针、键盘和滚动适配器,适用于macOS和支持的Linux/X11设置 |
每个层都通过相同的策略、批准、预算、验证、收据和证书管道。
## 证据,而非排行榜剧场 📊
下面的数字来自于Apple Silicon Mac上的已提交脚本和JSON构件。这些是组件测量值,而不是声称ATLAS MCP是普遍“最佳”的或与基准测试直接可比。
| 能力 | 当前公共结果 | 含义 |
|---|---:|---|
| 🧠 LoCoMo检索 | **0.7597 平均证据覆盖率 @20** | 1,982个证据问题;比之前的公共排名器相对增加20.75%;无模型、嵌入或网络调用 |
| 🧠 合成召回 | **100/100 Recall@1** | 1,000个记录的确定性种植事实回归 |
| 🌐 静态页面结算 | **183.7 ms p50 vs 301.3 ms** | 39%减少等待,10/10个读取正确 |
| 🌐 慢速渲染结算 | **10/10 vs 0/10 correct** | 基于条件的等待观察最终DOM;固定300毫秒读取太早 |
| 💻 终端 | **30/30 验证执行** | 无shell进程启动;测量机器上的48.1毫秒p50 |
| 🖥️ 计算机控制平面 | **30/30 能力探测** | 0.032毫秒p50适配器发现;这不是桌面任务成功率 |
| ✅ 安全/执行评估 | **22/22 通过** | 确定性策略、遍历、终端、内存、计算机、取消和验证场景 |
阅读 [研究索引](docs/research/README.md)、[基准测试方法](docs/research/METHODOLOGY.md)和原始的[微基准测试](docs/research/results/core-microbenchmarks.json)和[LoCoMo](docs/research/results/locomo-retrieval.json)构件。
> [!IMPORTANT]
> ATLAS MCP **尚未**运行官方的OSWorld、OSWorld-MCP、WebArena或LongMemEval端到端提交。在发布结果环境、模型策略和评估器之前,这些分数仍然未被声明。
## 一个刻意的小MCP表面 ✨
| MCP工具 | 用途 |
|---|---|
| `atlas_capabilities` | 发现操作、平台支持、限制和策略立场 |
| `atlas_plan` | 验证、持久化和策略检查一个有界操作 |
| `atlas_execute` | 执行批准的计划并验证声明的结果 |
| `atlas_task_status` | 读取持久任务状态 |
| `atlas_task_cancel` | 合作取消待处理或正在运行的工作 |
| `atlas_receipt` | 检索编辑证据和执行证书 |
高级别工具保持模式紧凑,而操作契约携带特定的文件、终端、浏览器、内存、计算机或系统操作。
## 快速入门 🚀
要求:Node.js 22或更新版本,pnpm 9.5,可选Chrome、Chromium或Edge用于浏览器工作。
```bash
git clone https://github.com/XAGI-Lab/atlas-mcp.git
cd atlas-mcp
corepack enable
pnpm install --frozen-lockfile
pnpm build
pnpm atlas doctor
pnpm atlas init --client generic
```
启动stdio服务器:
```bash
pnpm atlas serve
```
运行只读系统任务:
```bash
pnpm atlas run --request examples/01-system-info/task.json
```
运行验证的突变:
```bash
pnpm atlas run --request examples/02-verified-file-write/task.json
```
突变会暂停一个确切的、过期的、任务范围的批准短语。有关Claude Desktop、Cursor、VS Code、通用客户端、Python和Docker的安装和客户端设置,请参见[安装和客户端设置](docs/INSTALLATION.md)。
## 示例:检查计算机使用支持 🖥️
计算机输入永远不会被默默地假设。首先发现适配器:
```json
{
"goal": "检查本地计算机使用支持",
"operation": {
"kind": "computer",
"action": "capabilities"
}
}
```
截图是只读的。指针、打字、按键和滚动操作是高风险突变:它们需要声明的证据和范围内的批准。macOS还需要Screen Recording或Accessibility权限用于相应的操作。Linux输入目前需要`xdotool`和X11。
## 执行流程 ⚙️
```mermaid
flowchart LR
Client["MCP客户端"] --> Plan["持久化有界计划"]
Plan --> Policy{"计划时的策略"}
Policy -->|deny| Stop["策略阻止"]
Policy -->|allow or exact approval| Recheck{"执行时的策略"}
Recheck --> Runtime["文件 · 终端 · 浏览器 · 内存 · 计算机"]
Runtime --> Observe["动作后观察"]
Observe --> Verify{"证据谓词通过?"}
Verify -->|yes| Success["验证成功"]
Verify -->|no| Partial["部分或失败"]
Success --> Receipt["编辑收据 + SHA-256证书"]
Partial --> Receipt
```
```text
planned → awaiting_approval → running → verifying
↘ verified_success
↘ partial | failed | cancelled | budget_exhausted
```
成功的进程或点击并不自动成为成功的目标。如果突变成功但其所需的证据缺失或错误,则任务是`partial`,而非`verified_success`。
## 安全默认值 🔒
- 本地stdio传输;不需要帐户或托管服务。
- 遥测关闭。
- shell解释器、权限提升和任意桌面键名被拒绝。
- 路径和终端工作目录保持在配置的根目录内。
- 浏览器域默认拒绝;私有、链接本地、环回和云元数据目的地保持阻止,除非明确允许。
- 浏览器输出标记为不可信;页面内容永远不会更改策略。
- 突变需要声明的证据和确切的任务范围内的批准短语。
- 原始密钥模式在终端输出、内存、任务或收据持久化之前被编辑。
- 计算机操作使用有界类型字段和平台适配器——不是用户提供的shell命令。
参见[威胁模型](docs/THREAT_MODEL.md)和[安全策略](SECURITY.md)以了解剩余风险。
## 复制分数 🧪
```bash
# 完整验证
pnpm check
pnpm evals
pnpm e2e
pnpm pack:check
pnpm security:audit
# 本地内存、浏览器、终端和计算机微基准测试
pnpm benchmark:core
# 官方LoCoMo数据不会被预置(CC BY-NC 4.0)
git clone https://github.com/snap-research/locomo.git /tmp/locomo
pnpm benchmark:locomo -- \
--dataset /tmp/locomo/data/locomo10.json \
--output docs/research/results/locomo-retrieval.json
```
基准测试构件包括数据集哈希、环境详细信息、样本计数、延迟百分位数和声明边界。
## SDK和实现语言 🧩
- [`@atlas-mcp/sdk`](packages/sdk-ts) — TypeScript客户端。
- [`atlas-mcp`](sdk-py) — Python客户端。
- [`@atlas-mcp/protocol`](packages/protocol)和[`@atlas-mcp/receipt-schema`](packages/receipt-schema) — 语言中立的JSON合约。
ATLAS MCP是能力驱动的,而不是语言受限的。Rust、Go、Python、TypeScript、Swift、C#或其他语言可以在测量显示隔离、移植性、性能、可靠性或平台集成有真正改进的情况下使用,而不会破坏公共合约。
## 仓库地图 🗂️
```text
apps/cli/ CLI和stdio入口
packages/protocol/ 严格的任务和操作模式
packages/runtime-core/ 生命周期、预算、重试、取消
packages/policy-core/ 本地策略和范围内的批准
packages/server/ 六工具MCP服务器和运行时路由器
packages/file-runtime/ 限定文件系统操作
packages/terminal-runtime/ 无shell进程监督
packages/browser-runtime/ 隔离的浏览器自动化和稳定DOM等待
packages/computer-runtime/ 受控的本地计算机使用适配器
packages/memory/ 限定混合检索和生命周期控制
packages/storage-sqlite/ 持久本地状态
packages/verifier-core/ 确定性证据谓词
packages/receipt-schema/ 收据和执行证书
packages/sdk-ts/ TypeScript客户端SDK
sdk-py/ Python客户端SDK
evals/ 确定性评估工具
scripts/ 基准测试和发布检查
docs/research/ 方法、发现和原始结果
examples/ 可运行的任务示例
```
## 文档 📚
- [安装和客户端设置](docs/INSTALLATION.md)
- [功能和限制](docs/CAPABILITIES.md)
- [架构](docs/ARCHITECTURE.md)
- [研究和基准测试](docs/research/README.md)
- [兼容性策略](docs/COMPATIBILITY.md)
- [验证证据](docs/VALIDATION.md)
- [威胁模型](docs/THREAT_MODEL.md)
- [路线图](ROADMAP.md)
## 贡献 🤝
代码、适配器、基准测试工具、验证谓词、文档和威胁分析均欢迎。开始使用[CONTRIBUTING.md](CONTRIBUTING.md),在DCO下签署提交,并通过[GitHub私有漏洞报告](https://github.com/XAGI-Lab/atlas-mcp/security/advisories/new)报告漏洞。
## 许可证 📄
软件和文档根据[Apache License 2.0](LICENSE)许可。官方徽标和英雄艺术作品根据[CC BY-ND 4.0](LICENSES/CC-BY-ND-4.0.txt)许可;参见[BRAND.md](BRAND.md)。第三方基准测试数据集保留其自己的许可证,不包含在此存储库中。
<p align="center">
由<a href="https://github.com/XAGI-Lab">XAGI实验室</a>在开放中构建。
</p>
连接信息
猜你喜欢
暂无推荐服务器