A local-first, agent-agnostic MCP server for workspace indexing and retrieval.
Context Engine MCP Server
A local-first, agent-agnostic Model Context Protocol (MCP) server for workspace indexing, retrieval, planning, and review workflows, with a setup path that works well for Codex and other OpenAI-powered agents.
New here? Start with the beginner quick start below.
If you want client-specific setup help, see docs/MCP_CLIENT_SETUP.md.
If you are on Windows, see docs/WINDOWS_DEPLOYMENT_GUIDE.md.
Historical docs live in docs/archive/INDEX.md if you need the old planning and migration notes.
OpenAI / Codex Showcase
If you want to see what this project demonstrates for OpenAI-style agent workflows, start here:
- Local workspace indexing and retrieval
- Review and planning workflows layered on top of the same MCP server
- Beginner-friendly install and client setup
- Windows support and copy-paste setup examples
- AI-agent-friendly instructions for self-setup
Why This Matters
- It shows how an OpenAI-powered agent can connect to a real workspace and start using tools right away.
- It combines retrieval, review, and planning in one MCP server instead of relying on one-off scripts.
- It gives both humans and AI agents a simple, repeatable setup path, which makes demos and onboarding easier.
Fastest demo path:
npm install
npm run build
codex mcp add context-engine -- node dist/index.js
Then in Codex, confirm the tools are visible and try:
use semantic_search to find authentication logic
Beginner Quick Start
If you just want to get Context Engine running locally, follow these steps:
- Install Node.js 18+.
- Clone this repository and open it in a terminal at the repo root.
- Install dependencies:
npm install
- Build the server:
npm run build
- Run the verification checks:
npm run verify
- Start the MCP server:
node dist/index.js
By default, Context Engine now resolves the workspace like this:
- explicit
--workspacewins - otherwise it uses the current folder
- if you launched from a nested folder inside a git repo, it falls back to the nearest git root
- if no git root exists, it stays on the current folder and logs a warning
On first run, if the index is missing or stale, startup can kick off background indexing automatically. The server still starts first, but the first query may be slower until indexing finishes.
Connect It To Your MCP Client
The server speaks MCP over stdio, so most clients can launch it with the same command.
First-Time Setup vs Daily Use
Use this mental model:
- First-time setup: Register the MCP server once in your client.
- Daily use: Open any repo and let the server resolve the workspace automatically.
- Override only when needed:
Pass
--workspace <absolute-path>if the client launches from the wrong folder or you want a different repo on purpose.
Codex CLI
codex mcp add context-engine -- node dist/index.js
Windows example
codex mcp add context-engine -- node "D:\GitProjects\context-engine\dist\index.js"
Claude Code, Claude Desktop, Cursor, Antigravity
See docs/MCP_CLIENT_SETUP.md for copy-paste config examples for each client.
Ready-to-use sample config files live in examples/mcp-clients/. Optional skill packages for AI workflows live in examples/skills/.
If an AI agent is setting this up
Paste this into the agent if you want it to do the setup for you:
Set up Context Engine MCP for this workspace.
- Run
npm installandnpm run build.- Register the MCP server once with
node dist/index.js.- Confirm the client launches the MCP server from the repo I am working in.
- If the client launches from the wrong folder, add
--workspace <absolute-path-to-workspace>as an override.- Confirm the server appears in the client and that
tool_manifest()or an equivalent tool list works.- Run one quick retrieval test, for example
semantic_search, to confirm the connection is working.- If startup says the workspace is unindexed or stale, let the background indexing finish or run
index_workspacemanually.If the client is Codex CLI, use:
codex mcp add context-engine -- node dist/index.js
Startup Behavior
When the server starts without --workspace, it tries to be repo-aware:
- repo root launch: uses that repo
- nested repo folder launch: upgrades to the nearest git root
- non-git folder launch: stays on the current folder and warns clearly
If startup auto-index is enabled, missing or stale workspaces start background indexing automatically.
Operator override:
- disable startup auto-index with
CE_AUTO_INDEX_ON_STARTUP=false - force a specific workspace with
--workspace "D:\path\to\repo"
Architecture
This implementation follows a clean 5-layer archit
Tools (2)
semantic_searchPerforms semantic search across the workspace to find relevant code or documentation.index_workspaceManually triggers the indexing of the current workspace.Environment Variables
CE_AUTO_INDEX_ON_STARTUPControls whether background indexing starts automatically on server launch.Configuration
{"mcpServers": {"context-engine": {"command": "node", "args": ["/path/to/context-engine/dist/index.js"]}}}