Context+
Context+
대규모 엔지니어링을 위한 의미론적 지능(Semantic Intelligence).
Context+는 99%의 정확도를 요구하는 개발자를 위해 설계된 MCP 서버입니다. RAG, Tree-sitter AST, 스펙트럼 클러스터링 및 Obsidian 스타일의 링크 기능을 결합하여 방대한 코드베이스를 검색 가능한 계층적 기능 그래프로 변환합니다.
이곳에 오신 김에 제 다른 프로젝트인 Airena도 확인해 보세요. AI 에이전트 팀을 구성하여 다른 오케스트레이터들과 정면 대결을 펼쳐보세요. 리더보드 1위에게는 $1600의 상금이 주어집니다!
https://github.com/user-attachments/assets/a97a451f-c9b4-468d-b036-15b65fc13e79
도구
탐색
도구 | 설명 |
| 파일 헤더와 심볼 범위(함수/클래스/메서드의 줄 번호)를 포함하는 프로젝트의 구조적 AST 트리입니다. 동적 가지치기를 통해 출력을 자동으로 줄입니다. |
| 전체 본문을 읽지 않고 줄 범위를 포함한 함수 시그니처, 클래스 메서드 및 타입 정의를 제공합니다. API 표면을 보여줍니다. |
| 정확한 텍스트가 아닌 의미로 검색합니다. 파일 헤더/심볼에 임베딩을 사용하며 일치하는 심볼 정의 줄을 반환합니다. |
| 함수/클래스/변수에 대한 식별자 수준의 의미론적 검색으로, 순위가 매겨진 호출 위치와 줄 번호를 제공합니다. |
| 스펙트럼 클러스터링을 사용하여 의미별로 코드베이스를 탐색합니다. 의미적으로 관련된 파일을 레이블이 지정된 클러스터로 그룹화합니다. |
분석
도구 | 설명 |
| 심볼이 가져오거나 사용되는 모든 파일과 줄을 추적합니다. 고립된 참조를 방지합니다. |
| 네이티브 린터와 컴파일러를 실행하여 사용되지 않는 변수, 죽은 코드 및 타입 오류를 찾습니다. TypeScript, Python, Rust, Go를 지원합니다. |
코드 작업
도구 | 설명 |
| 코드를 작성하는 유일한 방법입니다. 저장하기 전에 엄격한 규칙에 따라 검증합니다. 작성 전 섀도우 복원 지점을 생성합니다. |
| Obsidian 스타일의 기능 허브 탐색기입니다. 허브는 기능을 코드 파일에 매핑하는 |
버전 관리
도구 | 설명 |
|
|
| 특정 AI 변경 이전의 상태로 파일을 복원합니다. 섀도우 복원 지점을 사용하며 git에는 영향을 주지 않습니다. |
메모리 및 RAG
도구 | 설명 |
| 자동 생성된 임베딩과 함께 메모리 노드(개념, 파일, 심볼, 메모)를 생성하거나 업데이트합니다. |
| 노드 간에 타입이 지정된 에지(relates_to, depends_on, implements, references, similar_to, contains)를 생성합니다. |
| 그래프 탐색을 포함한 의미론적 검색 — 직접 일치하는 항목을 찾은 다음 1차/2차 이웃 노드를 탐색합니다. |
| 감쇠된 에지(임계값 미만의 e^(-λt))와 액세스 횟수가 낮은 고립된 노드를 제거합니다. |
| 자동 유사성 연결(코사인 ≥ 0.72 시 자동으로 에지 생성)을 사용하여 노드를 대량으로 추가합니다. |
| 노드에서 시작하여 외부로 탐색 — 감쇠 및 깊이에 따라 점수가 매겨진 모든 도달 가능한 이웃을 반환합니다. |
보완 서버: pmll-memory-mcp (
npx pmll-memory-mcp)는 @drQedwards가 만든 별도의 MCP 서버로, Context+의 장기 메모리 그래프를 조정하고 단기 KV 컨텍스트 메모리, Q-promise 중복 제거 및 솔루션 엔진을 추가합니다. 자세한 내용은 drQedwards/PPM을 참조하세요.
설정
빠른 시작 (npx / bunx)
설치가 필요 없습니다. IDE MCP 구성에 Context+를 추가하세요.
Claude Code, Cursor 및 Windsurf의 경우 mcpServers를 사용하세요:
{
"mcpServers": {
"contextplus": {
"command": "bunx",
"args": ["contextplus"],
"env": {
"OLLAMA_EMBED_MODEL": "nomic-embed-text",
"OLLAMA_CHAT_MODEL": "gemma2:27b",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
}
}
}
}VS Code (.vscode/mcp.json)의 경우 servers와 inputs를 사용하세요:
{
"servers": {
"contextplus": {
"type": "stdio",
"command": "bunx",
"args": ["contextplus"],
"env": {
"OLLAMA_EMBED_MODEL": "nomic-embed-text",
"OLLAMA_CHAT_MODEL": "gemma2:27b",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
}
}
},
"inputs": []
}npx를 선호하는 경우 다음을 사용하세요:
"command": "npx""args": ["-y", "contextplus"]
또는 현재 디렉토리에 MCP 구성 파일을 직접 생성하세요:
npx -y contextplus init claude
bunx contextplus init cursor
npx -y contextplus init opencode지원되는 코딩 에이전트 이름: claude, cursor, vscode, windsurf, opencode.
구성 파일 위치:
IDE | 구성 파일 |
Claude Code |
|
Cursor |
|
VS Code |
|
Windsurf |
|
OpenCode |
|
CLI 하위 명령
init [target]- MCP 구성을 생성합니다 (대상:claude,cursor,vscode,windsurf,opencode).skeleton [path]또는tree [path]- (신규) 터미널에서 직접 파일 헤더와 심볼 정의가 포함된 프로젝트의 구조적 트리를 봅니다.[path]- 지정된 경로에 대해 MCP 서버(stdio)를 시작합니다 (기본값은 현재 디렉토리).
소스에서 빌드
npm install
npm run build임베딩 제공자
Context+는 CONTEXTPLUS_EMBED_PROVIDER로 제어되는 두 가지 임베딩 백엔드를 지원합니다:
제공자 | 값 | 필요 조건 | 용도 |
Ollama (기본값) |
| 로컬 Ollama 서버 | 무료, 오프라인, 비공개 |
OpenAI 호환 |
| API 키 | Gemini (무료 티어), OpenAI, Groq, vLLM |
Ollama (기본값)
추가 구성이 필요 없습니다. 임베딩 모델과 함께 Ollama를 실행하기만 하면 됩니다:
ollama pull nomic-embed-text
ollama serveGoogle Gemini (무료 티어)
전체 Claude Code .mcp.json 예시:
{
"mcpServers": {
"contextplus": {
"command": "npx",
"args": ["-y", "contextplus"],
"env": {
"CONTEXTPLUS_EMBED_PROVIDER": "openai",
"CONTEXTPLUS_OPENAI_API_KEY": "YOUR_GEMINI_API_KEY",
"CONTEXTPLUS_OPENAI_BASE_URL": "https://generativelanguage.googleapis.com/v1beta/openai",
"CONTEXTPLUS_OPENAI_EMBED_MODEL": "text-embedding-004"
}
}
}
}Google AI Studio에서 무료 API 키를 받으세요.
OpenAI
{
"mcpServers": {
"contextplus": {
"command": "npx",
"args": ["-y", "contextplus"],
"env": {
"CONTEXTPLUS_EMBED_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-...",
"OPENAI_EMBED_MODEL": "text-embedding-3-small"
}
}
}
}기타 OpenAI 호환 API (Groq, vLLM, LiteLLM)
OpenAI Embeddings API를 구현하는 모든 엔드포인트가 작동합니다:
{
"mcpServers": {
"contextplus": {
"command": "npx",
"args": ["-y", "contextplus"],
"env": {
"CONTEXTPLUS_EMBED_PROVIDER": "openai",
"CONTEXTPLUS_OPENAI_API_KEY": "YOUR_KEY",
"CONTEXTPLUS_OPENAI_BASE_URL": "https://your-proxy.example.com/v1",
"CONTEXTPLUS_OPENAI_EMBED_MODEL": "your-model-name"
}
}
}
}참고:
semantic_navigate도구는 클러스터 레이블링을 위해 채팅 모델도 사용합니다.openai제공자를 사용할 때는CONTEXTPLUS_OPENAI_CHAT_MODEL(기본값:gpt-4o-mini)을 설정하세요.VS Code, Cursor 또는 OpenCode의 경우 IDE의 MCP 구성 형식 내에서 동일한
env블록을 사용하세요 (위의 구성 파일 위치 표 참조).
아키텍처
Model Context Protocol SDK를 사용하여 stdio 위에서 TypeScript로 구축된 3개 계층:
Core (src/core/) - 다중 언어 AST 파싱(tree-sitter, 43개 확장자), gitignore 인식 탐색, 디스크 캐시가 포함된 Ollama 벡터 임베딩, 위키링크 허브 그래프, 감쇠 점수가 포함된 메모리 내 속성 그래프.
Tools (src/tools/) - 구조적, 의미론적, 운영 및 메모리 그래프 기능을 노출하는 17개의 MCP 도구.
Git (src/git/) - git 기록을 건드리지 않고 실행 취소할 수 있는 섀도우 복원 지점 시스템.
Runtime Cache (.mcp_data/) - 서버 시작 시 생성됨; 반복적인 GPU/CPU 임베딩 작업을 피하기 위해 재사용 가능한 파일, 식별자 및 호출 위치 임베딩을 저장합니다. 실시간 추적기가 변경된 파일/함수를 점진적으로 새로 고칩니다.
구성
변수 | 타입 | 기본값 | 설명 |
| string |
| 임베딩 백엔드: |
| string |
| Ollama 임베딩 모델 |
| string | - | Ollama Cloud API 키 |
| string |
| 클러스터 레이블링을 위한 Ollama 채팅 모델 |
| string | - | OpenAI 호환 제공자를 위한 API 키 (별칭: |
| string |
| OpenAI 호환 엔드포인트 URL (별칭: |
| string |
| OpenAI 호환 임베딩 모델 (별칭: |
| string |
| 레이블링을 위한 OpenAI 호환 채팅 모델 (별칭: |
| string (숫자로 파싱) |
| GPU 호출당 임베딩 배치 크기, 5-10으로 제한 |
| string (숫자로 파싱) |
| 병합 전 청크당 문자 수, 256-8000으로 제한 |
| string (숫자로 파싱) |
| 이 바이트 수보다 큰 비코드 텍스트 파일은 건너뜀 |
| string (숫자로 파싱) | - | 선택적 Ollama 임베드 런타임 |
| string (숫자로 파싱) | - | 선택적 Ollama 임베드 런타임 |
| string (숫자로 파싱) | - | 선택적 Ollama 임베드 런타임 |
| string (숫자로 파싱) | - | 선택적 Ollama 임베드 런타임 |
| string (숫자로 파싱) | - | 선택적 Ollama 임베드 런타임 |
| string (불리언으로 파싱) | - | 선택적 Ollama 임베드 런타임 |
| string (불리언으로 파싱) |
| 파일 변경 시 실시간 임베딩 새로 고침 활성화 |
| string (숫자로 파싱) |
| 추적기 틱당 처리되는 최대 변경 파일 수, 5-10으로 제한 |
| string (숫자로 파싱) |
| 추적기 새로 고침 전 디바운스 창 |
테스트
npm test
npm run test:demo
npm run test:allResources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ForLoopCodes/contextplus'
If you have feedback or need assistance with the MCP directory API, please join our Discord server