Artel
概览
作者提供的说明(英文原文)
Self-hosted shared-memory & coordination mesh for AI agent fleets. You host it; agents connect.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在云端运行
- 传输方式: Streamable HTTP
- 分类: 搜索与 AI 记忆
- 你需要填写:X-Agent-Id, X-Api-Key
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 需要你自己填写:
X-Agent-Id,X-Api-Key
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- 在云端运行无需安装任何东西,通过互联网连接
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http artel 'https://{artel_host}/mcp' --header 'X-Agent-Id: your-value' --header 'X-Api-Key: your-value'运行前请先填写空着的值。
地址中有只有你知道的 {…} 部分(例如你的账户),请复制后自行填写。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"artel": {
"url": "https://{artel_host}/mcp",
"headers": {
"X-Agent-Id": "your-value",
"X-Api-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
地址中有只有你知道的 {…} 部分(例如你的账户),请复制后自行填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"artel": {
"type": "http",
"url": "https://{artel_host}/mcp",
"headers": {
"X-Agent-Id": "your-value",
"X-Api-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
X-Agent-Id必填 HTTP headerYour agent_id on the Artel instanceX-Api-Key机密 必填 HTTP headerYour agent API key on the Artel instance
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 NicolasPrimeau 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
这个地址需要填入你自己的账户信息,所以我们无法替你检查
- – 不适用
使用 OAuth 登录
这个地址需要填入你自己的账户信息,所以我们无法替你检查
- … 尚未检查
工具描述中没有隐藏指令
尚未检查;我们会在检查端点时读取工具列表
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5692 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 5692 个服务器的 15% 更新
- 基础检查结果等于或优于此分类中其他 5692 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Artel 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:X-Agent-Id, X-Api-Key
它在我的电脑上运行还是在云端?
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.17.1)于5个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Exa
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Artel
Your fleet's smart notepad. One that learns.
One pad that you and every agent you run write into. Whatever any of you figures out is written down once and handed back the moment it matters: the gotcha about *this* file right before you edit it, where you stopped on Friday, the thing another agent already learned the hard way. Nothing to file, nothing to tag, nothing to look up. A normal notepad waits to be opened; this one speaks up, in one line, and stays quiet when it has nothing worth saying, which is most of the time.
It also doesn't just accumulate. A background archivist works the pile while you're gone, so the pad gets sharper the more the fleet uses it. What one session learns at 3am, the rest know by morning; nobody solves the same thing twice.
You run it on your own machine. None of it goes to anyone's cloud.
What that looks like
| An agent is about to… | Artel says | who wrote it |
|---|---|---|
edit auth.py | "the token refresh silently no-ops when the clock skews" | a different agent, last month |
| start work Monday | "Friday you stopped mid-migration; here's where" | you, before the weekend |
| debug a flaky test | "seen in March: it was the shared fixture, not the test" | an agent on another machine |
| ask a question | the one note that answers it, or nothing at all | whoever hit it first |
Nobody opened a file to find any of that, and nobody had to know who to ask.
Quick start
There is no public instance to point at. This is your notepad, so you run it. One container, one port:
curl -O https://raw.githubusercontent.com/NicolasPrimeau/artel/master/docker-compose.yml
curl -O https://raw.githubusercontent.com/NicolasPrimeau/artel/master/.env.example cp .env.example .env
edit .env: set UI_PASSWORD, and a key for the archivist if you want one
(ANTHROPIC_API_KEY, or OPENROUTER_API_KEY with ARCHIVIST_PROVIDER=openrouter)
docker compose up -d
API + UI at http:// :8000, MCP at http:// :8000/mcp. Images at ghcr.io/nicolasprimeau/artel:edge.
Once running, register an agent:
curl -fsSL http://<host>:8000/onboard | sh
mDNS note: the
mdnsservice usesnetwork_mode: hostand only works on Linux. Remove it on Mac/Windows Docker Desktop.
Under the hood
A server, a database, and a librarian. Notes go in over HTTP or MCP, embeddings make them findable by meaning rather than keyword, and everything below the queue happens without an agent asking for it.
you · Claude Code · opencode · Claude API · AutoGen
│ push: notes/skills/gotchas in ┄ capture: sessions out ▼ REST / MCP ──► Artel Server ──► SQLite (WAL) + embeddings ├── notes: semantic search · confidence decay · knowledge graph ├── captures queue ──► archivist compaction ──► notes ├── procedures · decisions · session handoffs └── archivist: capture · synthesis · merge · decay · promote │ mesh (CRDT feeds + mDNS) ◄──► your other machines
What's inside
Each of these has a page in the docs; this is the map.
| [The plugin](https://artel.run/docs/plugin/) | The half that speaks up. One line when a note is close to what the agent is doing, silence otherwise. Agents never have to call anything. |
| [Capture](https://artel.run/docs/capture/) | Sessions become notes on their own, spooled in ~10 ms so writing never slows an agent down. |
| [Archivist](https://artel.run/docs/archivist/) | The part that learns: merges duplicates, resolves contradictions, decays what stopped being true, promotes what held up. |
| [Compile mode](https://artel.run/docs/compile-mode/) | Notes about code pinned to the code, so they re-derive instead of rotting. |
| [Procedures](https://artel.run/docs/blueprints/) | A written skill compiled into steps. The server checks each against the repository and the agent is handed the next one when the last is really done. |
| [Decisions](https://artel.run/docs/decisions/) | Append-only record of what you chose and why. Never merged, never decayed. |
| [Mesh and feeds](https://artel.run/docs/mesh/) | Several machines converging as CRDTs, plus RSS/Atom subscriptions from the outside world. |
| [Dashboard](https://artel.run/docs/dashboard/) | Browse, search, and watch the fleet from a browser. |
Five kinds of note, with different lifespans: memory (fades if it stops being true), doc (settled reference), directive (standing instruction, never fades), skill (how to do a thing), compiled (pinned to source).
Any agent that speaks HTTP or MCP joins: Claude Code, OpenCode, Zed, a raw httpx script. See connecting clients.
REST API
All requests require X-Agent-ID and X-API-Key headers (except /agents/self-register and /onboard).
[Full REST reference →](https://artel.run/docs/reference/rest/) covers every endpoint, generated from the OpenAPI schema. [MCP tool reference →](https://artel.run/docs/reference/mcp-tools/) lists all 47 tools an agent can call.
A running server also serves interactive docs at /docs and the raw schema at openapi.json.
Configuration
Configured entirely through environment variables (or a .env file). The essentials:
| Variable | Description |
|---|---|
AGENT_KEYS | agent-id:api-key pairs, comma-separated. Optional :proj1;proj2 suffix scopes an agent to projects. |
UI_PASSWORD | Password for the dashboard. |
ANTHROPIC_API_KEY | Enables the archivist. Without it, Artel runs in passive mode. |
REGISTRATION_KEY | Required by /agents/self-register. Unset disables open registration. |
PUBLIC_URL | Externally reachable base URL, used in OAuth metadata and onboarding. |
[Full configuration reference →](https://artel.run/docs/reference/configuration/) covers all 56 settings across the server, MCP adapter, and archivist, generated from the settings classes.
Development
uv sync --dev
uv run pytest tests/ -v
License
MIT. See LICENSE.md.