Semantic Context Mcp
@zishengwu
About Semantic Context Mcp
A Model Context Protocol (MCP) server that leverages a vector database to efficiently index and query the codebase.
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"Semantic Context MCP Server": {
"command": "fastmcp",
"args": [
"run",
"your_code_base/semantic-context-mcp/vector_search/fast_mcp_server.py:mcp"
],
"env": {
"OPENAI_API_KEY": "your_api_key",
"OPENAI_BASE_URL": "your_api_base_url",
"OPENAI_MODEL_NAME": "your_embedding_model_name"
}
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Semantic Context MCP Server?
Semantic Context MCP Server is a Model Context Protocol (MCP) server that uses a vector database to index your codebase and perform semantic searches. It parses code into structural blocks (functions, classes), converts them to vector embeddings, and stores them locally, allowing you to find code snippets using natural language queries rather than keyword matching. The server runs in the background, automatically tracks file changes, and incrementally updates its index to keep context up-to-date.
How to use Semantic Context MCP Server?
Install by cloning the repository and setting environment variables for an OpenAI-compatible API (OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL_NAME). Configure the MCP JSON file in your IDE with the command fastmcp run pointing to the server script. The server provides three tools: full_index, status, and query. It automatically performs an initial full index and then runs periodic incremental updates every 5 minutes.
Key features of Semantic Context MCP Server
- Incremental indexing using a Merkle Tree for efficient updates.
- Multi-language AST parsing: Python, Java, C++, JavaScript, TypeScript, Go.
- Semantic code search via natural language queries.
- Background automation with periodic incremental updates every 5 minutes.
- Local-first storage: all data kept in
~/.chromadb.
Use cases of Semantic Context MCP Server
- Finding semantically relevant code snippets without manual keyword guessing.
- Keeping code context automatically updated as you edit files.
- Integrating semantic search into MCP-compatible IDEs.
FAQ from Semantic Context MCP Server
What dependencies are required?
Python 3.8+ and an OpenAI-compatible API for generating embeddings. You must set OPENAI_API_KEY, OPENAI_BASE_URL, and OPENAI_MODEL_NAME.
Where is the indexed data stored?
All data (vector database and index metadata) is stored locally in the user’s home directory under ~/.chromadb.
How does incremental indexing work?
A Merkle Tree built from file content hashes detects changes. Only added, modified, or deleted files are re-parsed and re-indexed, making the process efficient.
Which languages are supported for code parsing?
AST parsing supports Python, Java, C++, JavaScript, TypeScript, and Go.
How often does the server update its index?
It performs a full index on startup, then runs periodic incremental updates every 5 minutes.
More Memory & Knowledge MCP servers
Memory Bank MCP Server
alioshrA Model Context Protocol (MCP) server implementation for remote memory bank management, inspired by Cline Memory Bank.
Obsidian MCP Server
cyanheadsRead, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP.
RAG Documentation MCP Server
hannesrudolphAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.
mcp-local-rag
nkapila6"primitive" RAG-like web search model context protocol (MCP) server that runs locally. ✨ no APIs ✨
Rust Docs MCP Server
Govcraft🦀 Prevents outdated Rust code suggestions from AI assistants. This MCP server fetches current crate docs, uses embeddings/LLMs, and provides accurate context via a tool call.
Comments