Fast Context MCP
by meimingqi222
README.md
# Fast Context MCP
AI-driven semantic code search via reverse-engineered Windsurf protocol (Python implementation).
[](https://python.org)
[](LICENSE)
[](https://modelcontextprotocol.io)
## Overview
Fast Context MCP provides an AI-powered semantic code search tool through the Model Context Protocol (MCP). It leverages a reverse-engineered Windsurf protocol to deliver intelligent code context retrieval for LLMs and development workflows.
## Features
- **AI-Powered Semantic Search**: Natural language queries to find relevant code
- **MCP Server Integration**: Compatible with MCP-enabled clients (Claude Desktop, etc.)
- **Protobuf Protocol**: Efficient binary communication with Windsurf API
- **Tree-based Context**: Includes directory structure for better code understanding
- **Multi-language Support**: Works with any codebase (Python, JavaScript, Go, etc.)
## Installation
### From PyPI (Recommended)
```bash
pip install fast-context-mcp
```
### From Source
```bash
git clone https://github.com/YOUR_USERNAME/fast-context-mcp-py.git
cd fast-context-mcp-py
pip install -e .
```
## Usage
### As an MCP Server
Add to your Claude Desktop configuration (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"fast-context": {
"command": "python",
"args": ["-m", "fast_context_mcp.server"]
}
}
}
```
### Programmatic Usage
```python
from fast_context_mcp.search import search_with_content
result = search_with_content(
query="Find the authentication middleware",
project_root="/path/to/your/project"
)
print(result)
```
### Available Tools
#### `search_code`
Search for relevant code in a codebase using AI-powered semantic search.
**Parameters:**
- `query` (string): Natural language description of what you're looking for
- `project_root` (string): Absolute path to the project root directory
**Returns:** JSON-formatted search results with relevant file paths and line ranges.
## Architecture
```
fast_context_mcp/
├── core.py # Core search implementation & API communication
├── search.py # Search orchestration and result formatting
├── server.py # MCP server implementation
├── protobuf.py # Protobuf encoding/decoding
├── executor.py # Tool execution with context management
└── rg_installer.py # Ripgrep auto-installer
```
## Protocol Details
The project implements a reverse-engineered version of Windsurf's internal protocol:
1. **Connect Frame**: Binary protobuf handshake with magic bytes (`0x0001`)
2. **Session Management**: UUID-based session tracking
3. **Tool Definitions**: JSON Schema-based tool specifications
4. **Response Streaming**: Chunked protobuf responses with gzip compression
## Development
### Setup
```bash
# Install development dependencies
pip install -e ".[dev]"
```
### Running Tests
```bash
pytest
```
### Linting
```bash
ruff check .
ruff format .
```
## License
MIT License - see [LICENSE](LICENSE) file for details.
## Acknowledgments
- Inspired by [Windsurf](https://www.codeium.com/windsurf)'s Cascade feature
- Built with the [Model Context Protocol](https://modelcontextprotocol.io)
## Disclaimer
This project is a reverse-engineered implementation for educational purposes. It is not affiliated with or endorsed by Codeium/Windsurf.
TDQS
B3.2/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is no possibility of confusion with any other tool in this server.
Naming Consistency5/5
The single tool name 'search_code' follows a clear verb_noun convention, though consistency across a set cannot be meaningfully evaluated with one tool.
Tool Count2/5
A single tool for an entire MCP server is thin; even for a narrow semantic search service, users would likely expect at least indexing or context-management operations.
Completeness2/5
The surface is severely limited: there is no indexing, no result retrieval beyond search, no configuration, and no way to manage or refresh the codebase context.
Maintenance
ActivityInactive
ResponsivenessNo issues