Server data from the Official MCP Registry
Self-hosted shared-memory & coordination mesh for AI agent fleets. You host it; agents connect.
About
Self-hosted shared-memory & coordination mesh for AI agent fleets. You host it; agents connect.
Remote endpoints: streamable-http: https://{artel_host}/mcp
Security Report
Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
Endpoint verified · Open access · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-nicolasprimeau-artel": {
"url": "https://{artel_host}/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
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, and this one speaks up.
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 three notes that answer it, before it finishes typing | 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://<host>:8000, MCP at http://<host>: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
├── tasks · messages · events · 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 | The half that speaks up — injects the right note at session start, on each prompt, and before you edit a file. |
| Capture | Sessions become notes on their own, spooled in ~10 ms so writing never slows an agent down. |
| Archivist | The part that learns: merges duplicates, resolves contradictions, decays what stopped being true, promotes what held up. |
| Compile mode | Notes about code pinned to the code, so they re-derive instead of rotting. |
| Blueprints | A procedure compiled into a self-expanding task DAG, with contracts the server checks before a run advances. |
| Decisions | Append-only record of what you chose and why — never merged, never decayed. |
| Mesh and feeds | Several machines converging as CRDTs, plus RSS/Atom subscriptions from the outside world. |
| 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 → — every endpoint, generated from the OpenAPI schema. MCP tool reference → — 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 → — 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.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
