Knowledge Item (KI) management MCP server for AI-assisted development
Project description
ki-manager — Knowledge Item MCP Server
AI-powered knowledge management for software projects.
Install once, use across all your projects.
What is ki-manager?
ki-manager is an MCP (Model Context Protocol) server that turns any project into a self-documenting codebase for AI agents (Claude, Antigravity, Cursor, Windsurf, etc.).
It provides:
- Knowledge Items (KI) — structured Markdown snapshots of each module, stored in
.ki-base/knowledge/ - Coverage Audit — measures how well your KI base covers your actual code
- Dependency Analysis — auto-updates "Related KIs" by analyzing imports
- Git Snapshots — versioned knowledge state (
git_checkpoint,git_restore) - Scaffolding — one command creates the complete
.ki-base/structure in any project
Installation
Option A: uv tool install (recommended)
-
Install
ki-managerglobally via uv:uv tool install ki-manager
-
Add to your IDE MCP configuration (
mcp_config.json):{ "mcpServers": { "ki-manager": { "command": "ki-manager" } } }
Note for Windows / ADI Antigravity: If
ki-manageris not found in PATH by your IDE, specify the full path to the executable:- Windows:
"C:\\Users\\<username>\\.local\\bin\\ki-manager.exe" - Linux/macOS:
"/home/<username>/.local/bin/ki-manager"
- Windows:
Option B: pip / uv pip
pip install ki-manager
# or
uv pip install ki-manager
Option C: Smithery (Claude Desktop / Cursor / Windsurf GUI)
Search for ki-manager in your IDE's MCP marketplace and click Install.
Option D: Local development
If you cloned the repository and are developing locally, point your IDE to the .venv Python directly:
{
"mcpServers": {
"ki-manager": {
"command": "/absolute/path/to/repo/.venv/bin/python",
"args": ["-m", "ki_manager.server"]
}
}
}
On Windows:
{
"mcpServers": {
"ki-manager": {
"command": "C:\\path\\to\\repo\\.venv\\Scripts\\python.exe",
"args": ["-m", "ki_manager.server"]
}
}
}
Quickstart
1. Add the MCP server to your IDE
Pick one of the options above and add it to your MCP config.
2. Initialize a project
In your IDE chat, call the ki_init_project tool:
ki_init_project(project_path="/absolute/path/to/your-project")
This creates:
your-project/
└── .ki-base/
├── config.json ← machine-specific (auto-added to .gitignore)
├── ki_config.json ← project settings (commit to git)
├── doc_config.json ← file→KI map (commit to git)
├── AGENTS.md ← agent instructions (commit to git)
├── DIR_INDEX.md ← directory index (commit to git)
└── knowledge/
└── _OVERVIEW.ki.md ← starter Knowledge Item
3. Start documenting
Use the available tools or slash commands:
| Tool / Command | Action |
|---|---|
audit_coverage |
Find documentation gaps |
generate_dir_index |
Build directory index |
sync_agents_md |
Sync KI table in AGENTS.md |
git_checkpoint |
Save knowledge snapshot to git |
/expand-knowledge |
Iteratively fill gaps (Antigravity) |
/sync-knowledge |
Full sync workflow (Antigravity) |
/create-adr |
Record architectural decision |
What Goes Into Git?
| Path | Git | Notes |
|---|---|---|
.ki-base/knowledge/*.ki.md |
✅ | Project knowledge |
.ki-base/doc_config.json |
✅ | Module manifest |
.ki-base/ki_config.json |
✅ | Project settings |
.ki-base/AGENTS.md |
✅ | Agent instructions |
.ki-base/DIR_INDEX.md |
✅ | Directory index |
.ki-base/config.json |
❌ | Machine-specific paths |
.ki-base/doc_state.json |
❌ | Hash cache |
Security
The MCP server operates in a sandbox:
- All file access is restricted to the
.ki-base/directory - Executable files (
.py,.exe,.sh, etc.) cannot be modified via MCP - Critical config files are protected from direct overwrite
Project Structure (this repo)
ki-manager/
├── pyproject.toml ← pip / uvx package config
├── smithery.yaml ← Smithery MCP marketplace config
├── src/ki_manager/
│ ├── server.py ← MCP server entry point
│ ├── tools/
│ │ └── scaffold.py ← ki_init_project implementation
│ └── scripts/ ← bundled analysis scripts
│ ├── ki_utils.py ← shared utilities
│ ├── audit_coverage.py
│ ├── sync_agents_md.py
│ ├── generate_dir_index.py
│ ├── ki_dependency_analyzer.py
│ └── ...
├── knowledge/ ← KI documentation of this repo itself
└── decisions/ ← Architecture Decision Records
Troubleshooting
MCP server hangs on initialization (never connects)
Using uvx directly in mcpServers configuration is known to cause hangs or stdio pipe drops in ADI Antigravity and Windows environments due to ephemeral environment creation delays and process wrapping.
Solution: Install via uv tool install ki-manager and specify ki-manager or its absolute executable path in mcpServers.
Step 1 — Check logs:
Server logs are written to ~/.ki_base/logs/. Open the latest file and look for REQ: lines. If there are no REQ: lines at all, stdin is not being piped correctly by the IDE.
Step 2 — Specify exact executable path:
If your IDE cannot find ki-manager in system PATH:
{
"mcpServers": {
"ki-manager": {
"command": "C:\\Users\\<username>\\.local\\bin\\ki-manager.exe"
}
}
}
Step 3 — Reinstall / Upgrade tool:
To upgrade to the latest PyPI version when using uv tool:
uv tool install --reinstall ki-manager
Server is running but no tools appear
Check that ki_status is visible in the IDE. If it shows No project active for current workspace, the server is working correctly — it just needs a project to be initialized (ki_init_project) or the IDE is not passing rootUri in the MCP handshake.
[Errno 22] Invalid argument in logs
This error was present in versions < 2.0.11 on Windows when wrapping sys.stdout with a codecs encoder. Upgrade to >= 2.0.11 to fix it:
uv tool install --reinstall ki-manager
License
MIT — free to use, copy, and adapt.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ki_manager-2.0.36.tar.gz.
File metadata
- Download URL: ki_manager-2.0.36.tar.gz
- Upload date:
- Size: 40.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
224746950018b1cb165abbe3221a1819c292e61a30361987908da17e18443a7a
|
|
| MD5 |
16753d56b0c4f932f565c13b08d4a0fb
|
|
| BLAKE2b-256 |
bc1f48be2d15ed43128f23019ad7726e8ccbe87caefef54da4948c29483d36fe
|
Provenance
The following attestation bundles were made for ki_manager-2.0.36.tar.gz:
Publisher:
publish.yml on Laeryid/KI-base
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ki_manager-2.0.36.tar.gz -
Subject digest:
224746950018b1cb165abbe3221a1819c292e61a30361987908da17e18443a7a - Sigstore transparency entry: 2305716642
- Sigstore integration time:
-
Permalink:
Laeryid/KI-base@c21f167601a1dad371fd0b3e436c032f7f21885d -
Branch / Tag:
refs/tags/v2.0.36 - Owner: https://github.com/Laeryid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c21f167601a1dad371fd0b3e436c032f7f21885d -
Trigger Event:
push
-
Statement type:
File details
Details for the file ki_manager-2.0.36-py3-none-any.whl.
File metadata
- Download URL: ki_manager-2.0.36-py3-none-any.whl
- Upload date:
- Size: 52.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f3ab95189e15178f3c67112e7f5f09c0e2b1fdf560e0e5010d2de6a0ab25b86
|
|
| MD5 |
ab77c13bb490e5099a2e22ea89f276dd
|
|
| BLAKE2b-256 |
a14c1382a297b9734f9ec3868afbf756e39c0a75b69bd3d5bbb8a196b163c89b
|
Provenance
The following attestation bundles were made for ki_manager-2.0.36-py3-none-any.whl:
Publisher:
publish.yml on Laeryid/KI-base
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ki_manager-2.0.36-py3-none-any.whl -
Subject digest:
4f3ab95189e15178f3c67112e7f5f09c0e2b1fdf560e0e5010d2de6a0ab25b86 - Sigstore transparency entry: 2305716807
- Sigstore integration time:
-
Permalink:
Laeryid/KI-base@c21f167601a1dad371fd0b3e436c032f7f21885d -
Branch / Tag:
refs/tags/v2.0.36 - Owner: https://github.com/Laeryid
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c21f167601a1dad371fd0b3e436c032f7f21885d -
Trigger Event:
push
-
Statement type: