Structural code navigation for coding agents: edit by symbol, dependency graphs, call chains, dead code detection, plus persistent memory to cut token use.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add token-savior --env WORKSPACE_ROOTS='<WORKSPACE_ROOTS>' -- uvx token-savior-recall~/.codex/config.toml
[mcp_servers.token-savior]
command = "uvx"
args = ["token-savior-recall"]
env = { WORKSPACE_ROOTS = "<WORKSPACE_ROOTS>" }
# codex mcp add token-savior --env WORKSPACE_ROOTS='<WORKSPACE_ROOTS>' -- uvx token-savior-recall~/.cursor/mcp.json
{
"mcpServers": {
"token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
],
"env": {
"WORKSPACE_ROOTS": "<WORKSPACE_ROOTS>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"token-savior": {
"type": "stdio",
"command": "uvx",
"args": [
"token-savior-recall"
],
"env": {
"WORKSPACE_ROOTS": "<WORKSPACE_ROOTS>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
],
"env": {
"WORKSPACE_ROOTS": "<WORKSPACE_ROOTS>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
],
"env": {
"WORKSPACE_ROOTS": "<WORKSPACE_ROOTS>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"token-savior": {
"command": "uvx",
"args": [
"token-savior-recall"
],
"env": {
"WORKSPACE_ROOTS": "<WORKSPACE_ROOTS>"
}
}
}
}Environment variables
WORKSPACE_ROOTS
Replace the placeholders with your own credentials and keep them out of version control.