Every other tool
Cursor and Claude Code have a plugin. For everything else — Codex, Gemini CLI, OpenCode, and any other MCP host — one command does the whole setup for you.
Two steps
pip install attogradDB
attograddb setup
attograddb setup detects the AI coding tools installed on your machine, asks which ones to configure and whether to set them up for this project or globally, then writes each tool’s MCP server config and an instructions file so the agent actually calls the memory tools. No manual editing.
$ attograddb setup
Detected these tools:
1. Codex
2. Gemini CLI
3. OpenCode
Configure which? [numbers, comma-separated, or 'all']: all
Install scope:
1. This project (writes into the current directory)
2. Global (writes into your home config for every project)
Scope? [1/2, default 1]: 1
Will configure Codex, Gemini CLI, OpenCode at project scope.
Proceed? [y/N]: y
Restart the tool (or start a new session) afterwards. Then ask it to call recall_decisions before it plans — or rely on the instructions file the setup wrote.
Non-interactive
Everything can be passed as flags, for scripts or dotfiles:
attograddb setup --tools codex,gemini,opencode --scope project --yes
attograddb setup --tools cursor --scope global --yes
--tools accepts any of codex, gemini, opencode, cursor, claude. --project-dir overrides the target project (default: current directory).
Requirements
- Python 3.11+.
- Optional: uv. If
uvxis on your PATH, the generated config launches the server with it (self-contained and version-pinned). Otherwise it uses the Python you installed AttogradDB into.
What it writes
Project scope writes into the current directory; global scope writes into your home config.
- Codex —
mcp_servers.attograd-memoryin.codex/config.toml(or~/.codex/config.toml), plus an instructions block inAGENTS.md. - Gemini CLI —
mcpServers.attograd-memoryin.gemini/settings.json(or~/.gemini/settings.json), plusGEMINI.md. - OpenCode —
mcp.attograd-memory(type: "local") inopencode.json(or~/.config/opencode/opencode.json), plusAGENTS.md. - Cursor —
mcpServers.attograd-memoryin.cursor/mcp.json(or~/.cursor/mcp.json), plus a.cursor/rules/attograd-memory.mdcrule. Use this only if the plugin is unavailable. - Claude Code —
mcpServers.attograd-memoryin.mcp.json(or~/.claude.json), plus aCLAUDE.mdblock. Use this only if the plugin is unavailable.
Re-running attograddb setup is safe: it replaces its own entry and leaves the rest of each file untouched.
Manual MCP (Hermes, Pi, anything else)
Any host that launches a local stdio MCP server can use AttogradDB directly. The server takes an optional --project-root; omit it and it uses $CLAUDE_PROJECT_DIR or the working directory.
attograddb-mcp --project-root /path/to/project
The equivalent host config, using uvx so nothing needs to be pre-installed:
{
"mcpServers": {
"attograd-memory": {
"command": "uvx",
"args": [
"--from",
"attogradDB[mcp]==1.1.0",
"attograddb-mcp",
"--project-root",
"/path/to/project"
]
}
}
}
- Hermes —
mcp_servers:map in~/.hermes/config.yaml(Linux/macOS/WSL2). Reload MCP or start a new session after editing. - Pi — with the
pi-mcp-adapterextension installed, the standardmcpServersmap in~/.pi/agent/mcp.json(global) or.pi/mcp.json(project).
Pass the real project directory, not a shared global folder, so each workspace gets its own .attograd-memory.db.