cursor-context-mcp
by tomaxtoLuca
README.md
# cursor-context-mcp
**MIT** open-source MCP server: filesystem allowlist + pack-aware Qdrant RAG + optional demo Tool Gateway.
> **Not affiliated with Cursor.** Works with Cursor, LM Studio, and any HTTP MCP host.
## Features
| Tool | Description |
| ----------------- | ---------------------------------------------------------- |
| `read_file` | Read UTF-8 text under configured allowlist roots |
| `list_directory` | List immediate children of an allowed directory |
| `search_files` | Stub (v0.1); use `read_file` + `pack_rag_search` |
| `pack_rag_search` | Qdrant scroll with mandatory `case_id` + `pack_id` filters |
## vs `@modelcontextprotocol/server-filesystem`
| | cursor-context-mcp | server-filesystem |
| -------------------------- | ------------------------------------ | ----------------- |
| Path allowlist | Yes (`CONTEXT_MCP_ALLOWED_ROOTS`) | Yes |
| Pack / case ACL RAG | Yes (`pack_rag_search`) | No |
| Tool Gateway audit | Optional demo registry | No |
| Domain packs (legal/condo) | No — see Closed-source sibling below | No |
## Install
From a standalone clone (repo root = this package):
```bash
git clone https://github.com/tomaxtoLuca/cursor-context-mcp.git && cd cursor-context-mcp
python -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
pip install -r requirements.txt
```
**Monorepo note:** inside the tomaxto workspace, this package lives at `mcp/cursor-context-mcp/`.
## Run
```bash
python scripts/acceptance_mcp.py # optional; Qdrant live test skips if down
python server.py # http://127.0.0.1:8780/mcp
```
**Qdrant demo seed** (optional):
```bash
docker run -p 6333:6333 qdrant/qdrant
python scripts/seed_demo.py
```
## Cursor config
Add to `.cursor/mcp.json`. The key (`cursor-context`) is a display name you choose; port `8780` is the default for this server, not a universal MCP port.
```json
{
"mcpServers": {
"cursor-context": {
"url": "http://127.0.0.1:8780/mcp"
}
}
}
```
Reload MCP in Cursor after starting the server.
## Configuration
| Env | Default |
| --------------------------- | ------------------------------------------------ |
| `CONTEXT_MCP_ALLOWED_ROOTS` | `config.yaml` `allowed_roots` (`.` + `fixtures`) |
| `CONTEXT_MCP_HOST` / `PORT` | `127.0.0.1` / `8780` |
| `CONTEXT_QDRANT_URL` | `http://127.0.0.1:6333` |
| `CONTEXT_QDRANT_COLLECTION` | `context_pack_demo` |
| `CONTEXT_DEFAULT_PACK_ID` | `demo-pack` |
| `CONTEXT_GATEWAY_REGISTRY` | `config/gateway_registry.example.json` |
| `CONTEXT_GATEWAY_ENABLED` | `true` |
Copy `.env.example` to `.env` for local overrides.
## Closed-source sibling
SIU production extensions (Legal / Condo / Studio packs, HubSpot LOB, siu-rag client) live in the private **`siu-context`** package (tomaxto monorepo). This open kernel does not include those adapters.
## License
MIT — see [LICENSE](./LICENSE).
---
_Last updated: 2026-06-18_
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues