code knowledge mcptool
Provides a project memory bank and RAG context provider for enhanced code understanding and management through vector embeddings, integrated with RooCode and Cline.
Provides a project memory bank and RAG context provider for enhanced code understanding and management through vector embeddings, integrated with RooCode and Cline.
A knowledge management tool for code repositories using vector embeddings. This tool helps maintain and query knowledge about your codebase using advanced embedding techniques.
First, you need to build the distribution files:
# Clone the repository
git clone https://github.com/yourusername/code-knowledge-tool.git
cd code-knowledge-tool
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate
# Install build tools
python -m pip install --upgrade pip build
# Build the package
python -m build
This will create two files in the dist/ directory: - code_knowledge_tool-0.1.0-py3-none-any.whl (wheel file for installation) - code_knowledge_tool-0.1.0.tar.gz (source distribution)
Ensure Ollama is installed and running:
# Install Ollama (if not already installed)
curl https://ollama.ai/install.sh | sh
# Start Ollama service
ollama serve
Install the package:
# Navigate to where you built the package
cd /path/to/code_knowledge_tool
# Install from the wheel file
pip install dist/code_knowledge_tool-0.1.0-py3-none-any.whl
This option is best if you want to modify the tool or contribute to its development:
# Assuming you're already in the code-knowledge-tool directory
# and have activated your virtual environment
# Install in editable mode with development dependencies
pip install -e ".[dev]"
For Cline (VSCode):
# Open the settings file
open ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
Add this configuration:
{
"mcpServers": {
"code_knowledge": {
"command": "python",
"args": ["-m", "code_knowledge_tool.mcp_tool"],
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
}
}
For RooCode:
# Open the settings file
open ~/Library/Application Support/RooCode/roocode_config.json
Add the same configuration as above.
This tool can serve as your project's memory bank and RAG context provider. To set this up:
Copy the provided template to your project:
cp clinerules_template.md /path/to/your/project/.clinerules
Customize the rules and patterns in .clinerules for your project's needs
The template includes comprehensive instructions for: - Knowledge base management - RAG-based development workflows - Code quality guidelines - Memory management practices
See clinerules_template.md for the full configuration and usage details.
The project follows an integration-first testing approach, focusing on end-to-end functionality and MCP contract compliance. The test suite consists of:
Error handling
Package Build Tests
To run the tests:
# Install test dependencies
pip install -e ".[dev]"
# Run all tests
pytest
# Run specific test suites
pytest tests/integration/test_mcp_contract.py -v # MCP functionality
pytest tests/integration/test_package_build.py -v # Installation verification
Test Environment Requirements:
# Ensure Ollama is running
ollama serve
The tests use a temporary directory (test_knowledge_store) that is cleaned up automatically between test runs.
For more details on the testing strategy and patterns, see the documentation in docs/
.
If you want to make this package available through pip (i.e., pip install code-knowledge-tool
), you would need to:
1. Register an account on PyPI
2. Install twine: pip install twine
3. Upload your distribution: twine upload dist/*
However, for now, use the local build and installation methods described above.
MIT License