This guide shows the shortest correct path to run the project today.
Current validated project version: 0.2.2.
Required:
- Python 3.10+
uv- Git
Required only for the default managed Neo4j mode:
- Docker running locally
Install uv if needed:
curl -LsSf https://astral.sh/uv/install.sh | shgit clone <repository-url>
cd codebase_state_manager_mcp
./scripts/setup.shAlternative:
uv sync --extra devRecommended launcher:
python run_mcp_server.pyAlternative:
python -m src.mcp_serverLegacy compatibility alias still exists, but is deprecated:
python init_neo4j_and_mcp.py{
"mcp": {
"codebase-state-manager": {
"type": "local",
"command": [
"uv",
"run",
"--project",
"/absolute/path/to/codebase_state_manager_mcp",
"python",
"run_mcp_server.py"
],
"enabled": true
}
}
}This mode does not require:
NEO4J_URINEO4J_USERNEO4J_PASSWORD
In editor MCP configs, uv run --project ... selects the Python environment
used to run this MCP server. It is not the codebase being managed.
If you want to manage a different codebase directory (for example, the repo you are actively editing), set:
{
"env": {
"MANAGED_PROJECT_PATH": "/absolute/path/to/your/codebase"
}
}{
"env": {
"DB_MODE": "sqlite"
}
}{
"env": {
"DB_MODE": "neo4j",
"NEO4J_BOOTSTRAP_MODE": "external",
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "your_password"
}
}docker ps | grep codebase-state-manager-neo4j
ls ./.data/neo4j/python -m pytest tests -q
uv run mypy src/
uv run bandit -r src/ -qLatest validation result on the current codebase:
568 passedmypypassingbanditclean
genesis_toolnew_state_transition_toolget_current_state_info_toolget_current_state_compact_context_toolget_rewarded_transitions_toolset_transition_reward_toolfix_volume_path_toolcheck_consistency_toolrepair_consistency_tool
For the full list and exact semantics, see README.md and ARCHITECTURE.md.