aion
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aionpull context for myproject"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aion
A shared working-state layer for your AI coding tools. Claude, Cursor, and other MCP clients read and write one small notebook, so they stay on the same page — and you stop being the copy-paste bus between them.
One-click install for Cursor (activates once aion is published to PyPI). Remember to set
AION_SOURCE=cursorin the server's env afterwards.
The problem
You use more than one AI assistant on a project. They don't know what each other did: you tell Claude a decision, switch to Cursor, and Cursor has no idea. You end up re-explaining and copy-pasting context by hand.
Related MCP server: anchor-mcp
What aion does
aion is a tiny local MCP server that keeps a shared, persistent notebook every tool can read and write. It does three jobs:
Remember — decisions, changes, questions, and notes, organized by project.
Track — a lightweight roadmap/to-do list with progress rollup.
Hand off — post a task to another tool's inbox (with an optional "doorbell").
It does not replace your repo, docs, or git — those stay the source of truth. aion just holds the live working state and hands each tool the slice it needs.
Install
pipx install aion # or: uv tool install aionNo install step at all, if you use uv:
uvx aion --helpConnect your tools
Point each client at the aion command. Give each client a distinct AION_SOURCE
(so handoffs route correctly) and set AION_SEGMENT to your project name.
Claude Code
claude mcp add aion --env AION_SOURCE=claude-code --env AION_SEGMENT=myproject -- aion
# or with uv: claude mcp add aion --env AION_SOURCE=claude-code -- uvx aionCursor — .cursor/mcp.json:
{
"mcpServers": {
"aion": { "command": "aion", "env": { "AION_SOURCE": "cursor", "AION_SEGMENT": "myproject" } }
}
}Claude Desktop — Settings → Developer → Edit Config:
{
"mcpServers": {
"aion": { "command": "aion", "env": { "AION_SOURCE": "claude-desktop", "AION_SEGMENT": "myproject" } }
}
}Restart the client after editing its config — MCP servers are launched (and their env read) when the client connects.
Use it
Add this to each tool's rules (CLAUDE.md, Cursor rules) so they do it reflexively:
Before working, call
context_pull(segment="myproject")and treat the result as the current truth. As you work,context_log(...)your decisions/changes/questions/tasks. When something is settled,context_resolve(id).
That's the whole loop: pull first, write back. Now open Cursor and it already knows what you and Claude decided — no paste.
Segments
State is organized by a dotted segment path whose first element is the project:
myproject # the whole project
myproject/backend # a layer
myproject/backend/auth # a workstreamPulling a parent includes all descendants. That one mechanism keeps an always-on space from turning into an undifferentiated blob.
The tools
tool | purpose |
| current working state + your inbox |
| append a decision/change/question/task/note |
| close a question or task |
| full-text recall over history |
| check |
| post a handoff to another tool's inbox |
| build & manage the roadmap |
| see the tree / how far along |
| decisions + open questions that constrain a task |
| reuse an approach from another project |
They also surface as slash commands (/mcp__aion__pull, …log, …resolve, …search,
…handoff) in clients that support MCP prompts.
Optional extras
Auto-ingest commits — copy
hooks/post-commitinto a repo's.git/hooks/(setAION_SEGMENT) and every commit logs itself as achange.Doorbell — set
AION_DELIVERY=1in a sender's env and acontext_handoffto Cursor also summons Cursor via its deeplink (you confirm before it runs). Without it, handoffs are inbox-only. Onlycursorhas a verified deeplink today.
How it works
One SQLite database, one append-only table. Every decision, task, handoff, and
roadmap node is a row tagged with a segment and a type. History is free because
nothing is overwritten. Full-text search uses FTS5 with a LIKE fallback. The MCP
tools are thin wrappers over a plain-Python storage layer (src/aion/store.py).
Configuration
var | default | purpose |
|
| database path (share explicitly if clients don't hit the default) |
|
| who is writing ( |
|
| default project segment |
| (unset) |
|
Development
git clone https://github.com/imsm/aion && cd aion
pip install -e ".[dev]"
pytest
ruff check .License
Apache-2.0 © Ismail Saleh.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/imsm/aion'
If you have feedback or need assistance with the MCP directory API, please join our Discord server