Fast Context MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Fast Context MCPfind the user login handler in the auth module"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Fast Context MCP
AI-driven semantic code search via reverse-engineered Windsurf protocol (Python implementation).
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.
Related MCP server: code-rag-mcp
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)
pip install fast-context-mcpFrom Source
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):
{
"mcpServers": {
"fast-context": {
"command": "python",
"args": ["-m", "fast_context_mcp.server"]
}
}
}Programmatic Usage
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 forproject_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-installerProtocol Details
The project implements a reverse-engineered version of Windsurf's internal protocol:
Connect Frame: Binary protobuf handshake with magic bytes (
0x0001)Session Management: UUID-based session tracking
Tool Definitions: JSON Schema-based tool specifications
Response Streaming: Chunked protobuf responses with gzip compression
Development
Setup
# Install development dependencies
pip install -e ".[dev]"Running Tests
pytestLinting
ruff check .
ruff format .License
MIT License - see LICENSE file for details.
Acknowledgments
Inspired by Windsurf's Cascade feature
Built with the Model Context Protocol
Disclaimer
This project is a reverse-engineered implementation for educational purposes. It is not affiliated with or endorsed by Codeium/Windsurf.
Available Tools
1 toolsearch_codeB
Search for relevant code in a codebase using AI-powered semantic search.
Args: query: Natural language description of what you're looking for. project_root: Absolute path to the project root directory.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| project_root | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about result count limits, ranking, whether the search is read-only against an index, latency, or how the project root is used (indexed vs scanned). For a search tool with zero annotation coverage this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in a single sentence, followed by a compact Args block. The structure is efficient, with the only mild redundancy being the restatement of parameter names already visible in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and both parameters are described. However, with no annotations and no coverage of result limits, ranking, or index prerequisites, an agent still lacks enough context to predict what the call will do at scale.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the properties carry only titles — so the description must compensate, and it does: it explains 'query' is a natural-language description and 'project_root' must be an absolute path. That is meaningful added detail for both required parameters, though it omits format examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search for relevant code in a codebase') and adds the retrieval mechanism ('AI-powered semantic search'), which tells an agent this is not a literal/textual grep. No siblings exist to differentiate against, so it cannot reach 5 on that criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no statement of when this is preferable to a conventional text or symbol search, and no prerequisites or exclusions. The phrase 'semantic search' only implicitly hints at the right context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
search_code
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion with any other tool in this server.
The single tool name 'search_code' follows a clear verb_noun convention, though consistency across a set cannot be meaningfully evaluated with one tool.
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.
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
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server enabling symbol-aware semantic search in Claude Code, allowing precise location of functions, types, and implementations via a symbol graph and embeddings.9MIT
- AlicenseAqualityDmaintenanceEnables semantic search over codebases using natural language queries, returning relevant code snippets with source locations. Integrates with Claude Code for automatic codebase exploration.11MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI coding assistants to semantically search and retrieve relevant code patterns, documentation, and implementations from a codebase via MCP tools.8MIT
- AlicenseNot gradedqualityAmaintenanceEnables semantic code search across indexed codebases using natural language queries, with support for CLI and MCP interfaces.1MIT