Skip to main content
Glama

CodeCortX-MCP

CHANGELOG.mdโ€ข8.45 kB
# Changelog All notable changes to CodeCortXMCP will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [0.1.0] - 2024-09-30 ### ๐ŸŽ‰ Initial Release This is the first public release of CodeCortXMCP, a high-performance code analysis server built for the Model Context Protocol. ### โœจ Features Added #### Core Engine - **High-Performance Symbol Indexing**: <1ms symbol lookups, >100 files/sec indexing - **Lock-free Concurrency**: DashMap-based storage for non-blocking operations - **Smart Caching**: Binary persistence with <1s startup for cached repositories - **Memory Management**: Automatic LRU eviction with configurable limits - **Incremental Updates**: SHA-256 based change detection for efficient re-indexing #### Language Support (15 Languages) - **Rust**: Functions, structs, enums, traits, implementations, constants, modules - **Python**: Functions, classes, methods, variables, imports - **JavaScript**: Functions, classes, methods, constants, variables - **TypeScript**: Functions, classes, interfaces, types, enums - **Java**: Classes, methods, interfaces, enums, constants - **Go**: Functions, structs, interfaces, constants, variables - **C**: Functions, structs, enums, typedefs, variables - **C++**: Classes, functions, namespaces, templates - **Ruby**: Classes, modules, methods, constants - **PHP**: Classes, functions, methods, constants - **C#**: Classes, methods, interfaces, enums, properties - **Kotlin**: Classes, functions, interfaces, objects - **Scala**: Classes, objects, traits, functions - **Swift**: Classes, structs, protocols, functions - **Objective-C**: Classes, methods, protocols, categories #### MCP Tools (7 Tools) 1. **`index_code`**: Index source code directories for analysis 2. **`get_symbol`**: Retrieve detailed symbol information with optional source 3. **`get_symbol_references`**: Find all references to symbols across codebase 4. **`find_symbols`**: Search symbols with fuzzy matching and type filtering 5. **`code_search`**: BM25 statistical full-text search through code content 6. **`get_file_outline`**: Structured overview of symbols in specific files 7. **`get_directory_outline`**: High-level project structure navigation #### Search & Navigation - **BM25 Full-text Search**: Statistical ranking for code content search - **Symbol Reference Tracking**: Cross-file reference resolution - **Fuzzy Symbol Search**: Prefix matching and type-based filtering - **File Structure Analysis**: Organized symbol outlines with signatures - **Directory Overview**: Project architecture understanding ### ๐Ÿ—๏ธ Architecture #### Storage Engine - **SymbolStore**: Central concurrent data structure using DashMap - **Binary Persistence**: Fast cache serialization with bincode 2.0 - **Memory Tracking**: Real-time usage monitoring with atomic counters - **LRU Eviction**: Automatic cleanup when memory limits reached #### Indexing Pipeline - **Tree-sitter Parsing**: Consistent AST generation across languages - **Parallel Processing**: Async file processing with Tokio runtime - **Error Resilience**: Graceful handling of malformed code - **Incremental Updates**: Only reprocess changed files #### Performance Optimizations - **Lock-free Operations**: No blocking on concurrent access - **Memory Bounded**: Configurable limits with automatic eviction - **Efficient Serialization**: Binary format for fast I/O - **Batch Processing**: Optimized file system operations ### ๐Ÿงช Testing & Quality #### Comprehensive Test Suite (83 Tests) - **54 Unit Tests**: Core module functionality - **5 Integration Tests**: End-to-end workflows - **5 Performance Tests**: Requirement validation - **15 Language Tests**: Multi-language support - **4 Tool Tests**: MCP interface compliance #### Performance Validation - **Symbol Lookup**: <1ms average response time - **Indexing Speed**: >100 files/second processing - **Concurrent Access**: >50k lookups/second capacity - **Memory Usage**: <1GB for large repositories - **Startup Time**: <1s with cached indexes #### Quality Assurance - **Criterion Benchmarks**: Detailed performance measurements - **Memory Profiling**: Leak detection and usage optimization - **Error Handling**: Comprehensive error recovery - **Documentation**: Complete API and architecture docs ### ๐Ÿ”ง Configuration & Deployment #### Environment Configuration ```bash CODECORTEXT_MAX_MEMORY_MB=1024 # Memory limit CODECORTEXT_EVICTION_THRESHOLD=0.8 # LRU trigger threshold CODECORTEXT_CACHE_DIR=~/.cache/ # Cache location RUST_LOG=codecortext_mcp=info # Logging level ``` #### Amazon Q CLI Integration - **Simple Configuration**: Single JSON config entry - **Cross-platform**: macOS, Windows, Linux support - **Zero Dependencies**: Self-contained binary #### Development Tools - **MCP Inspector**: Protocol testing and debugging - **Manual Testing**: Command-line JSON-RPC interface - **Performance Profiling**: Built-in benchmarks and validation ### ๐Ÿ“š Documentation #### User Documentation - **README.md**: Complete setup and usage guide - **Installation**: Building from source instructions - **Usage Examples**: Amazon Q CLI and manual testing - **Troubleshooting**: Common issues and solutions #### Developer Documentation - **ARCHITECTURE.md**: Detailed system design - **DEVELOPMENT.md**: Contribution guidelines and workflow - **API Reference**: Complete MCP tool documentation - **Performance Guide**: Optimization strategies ### ๐Ÿ”’ Security & Reliability #### Error Handling - **Graceful Degradation**: Partial results on failures - **Input Validation**: Comprehensive parameter checking - **Resource Limits**: Memory and processing bounds - **Structured Logging**: Detailed error reporting #### Dependency Management - **Minimal Dependencies**: Core Rust ecosystem only - **Security Auditing**: Regular dependency scanning - **Version Pinning**: Reproducible builds - **License Compliance**: Apache 2.0 throughout ### ๐Ÿ“Š Performance Benchmarks #### Validated Performance Targets - **Symbol Lookups**: <1ms average (validated) - **Indexing Speed**: >100 files/second (validated) - **Concurrent Access**: >50k lookups/second (validated) - **Memory Usage**: <1GB for large repos (validated) - **Cache Startup**: <1s for previously indexed repos (validated) #### Real-world Testing - **Large Codebases**: Tested on 10,000+ file repositories - **Multi-language**: Validated across all 15 supported languages - **Concurrent Load**: Stress tested with 1000+ simultaneous requests - **Memory Pressure**: LRU eviction validated under memory constraints ### ๐Ÿš€ Getting Started #### Quick Installation ```bash git clone https://github.com/kensave/codecortex-mcp.git cd codecortext-mcp cargo build --release ``` #### Amazon Q CLI Setup ```json { "mcpServers": { "codecortext": { "command": "/path/to/codecortext-mcp/target/release/codecortext-mcp", "args": [] } } } ``` #### First Usage 1. Restart Amazon Q CLI 2. Ask: "Index the code in my project directory" 3. Ask: "Show me all functions containing 'parse'" 4. Ask: "Search for error handling patterns" ### ๐Ÿ”ฎ Future Roadmap #### Planned Features - **LSP Integration**: Language Server Protocol support - **Streaming Updates**: Real-time file change processing - **Advanced Search**: Semantic and type-aware queries - **Plugin System**: Custom language and tool extensions - **Distributed Mode**: Multi-node scaling capabilities #### Performance Improvements - **Query Optimization**: Advanced indexing strategies - **Memory Efficiency**: Compressed storage formats - **Parallel Parsing**: Multi-core AST generation - **Network Protocol**: Remote server deployment --- ### ๐Ÿ“ Notes This initial release focuses on providing a solid, high-performance foundation for code analysis within the MCP ecosystem. The architecture is designed for extensibility while maintaining the core principles of speed, reliability, and ease of use. For detailed technical information, see [ARCHITECTURE.md](ARCHITECTURE.md). For development guidelines, see [DEVELOPMENT.md](DEVELOPMENT.md). For complete API documentation, see [docs/api.md](docs/api.md). --- **Contributors**: Built with โค๏ธ by Kenneth J. Sanchez **License**: Apache 2.0 **Repository**: https://github.com/kensave/codecortex-mcp

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kensave/CodeCortX-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server