Skip to main content
Glama

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

도구

탐색

도구

설명

get_context_tree

파일 헤더와 심볼 범위(함수/클래스/메서드의 줄 번호)를 포함하는 프로젝트의 구조적 AST 트리입니다. 동적 가지치기를 통해 출력을 자동으로 줄입니다.

get_file_skeleton

전체 본문을 읽지 않고 줄 범위를 포함한 함수 시그니처, 클래스 메서드 및 타입 정의를 제공합니다. API 표면을 보여줍니다.

semantic_code_search

정확한 텍스트가 아닌 의미로 검색합니다. 파일 헤더/심볼에 임베딩을 사용하며 일치하는 심볼 정의 줄을 반환합니다.

semantic_identifier_search

함수/클래스/변수에 대한 식별자 수준의 의미론적 검색으로, 순위가 매겨진 호출 위치와 줄 번호를 제공합니다.

semantic_navigate

스펙트럼 클러스터링을 사용하여 의미별로 코드베이스를 탐색합니다. 의미적으로 관련된 파일을 레이블이 지정된 클러스터로 그룹화합니다.

분석

도구

설명

get_blast_radius

심볼이 가져오거나 사용되는 모든 파일과 줄을 추적합니다. 고립된 참조를 방지합니다.

run_static_analysis

네이티브 린터와 컴파일러를 실행하여 사용되지 않는 변수, 죽은 코드 및 타입 오류를 찾습니다. TypeScript, Python, Rust, Go를 지원합니다.

코드 작업

도구

설명

propose_commit

코드를 작성하는 유일한 방법입니다. 저장하기 전에 엄격한 규칙에 따라 검증합니다. 작성 전 섀도우 복원 지점을 생성합니다.

get_feature_hub

Obsidian 스타일의 기능 허브 탐색기입니다. 허브는 기능을 코드 파일에 매핑하는 [[wikilinks]]가 포함된 .md 파일입니다.

버전 관리

도구

설명

list_restore_points

propose_commit에 의해 생성된 모든 섀도우 복원 지점을 나열합니다. 각 지점은 AI 변경 전의 파일 상태를 캡처합니다.

undo_change

특정 AI 변경 이전의 상태로 파일을 복원합니다. 섀도우 복원 지점을 사용하며 git에는 영향을 주지 않습니다.

메모리 및 RAG

도구

설명

upsert_memory_node

자동 생성된 임베딩과 함께 메모리 노드(개념, 파일, 심볼, 메모)를 생성하거나 업데이트합니다.

create_relation

노드 간에 타입이 지정된 에지(relates_to, depends_on, implements, references, similar_to, contains)를 생성합니다.

search_memory_graph

그래프 탐색을 포함한 의미론적 검색 — 직접 일치하는 항목을 찾은 다음 1차/2차 이웃 노드를 탐색합니다.

prune_stale_links

감쇠된 에지(임계값 미만의 e^(-λt))와 액세스 횟수가 낮은 고립된 노드를 제거합니다.

add_interlinked_context

자동 유사성 연결(코사인 ≥ 0.72 시 자동으로 에지 생성)을 사용하여 노드를 대량으로 추가합니다.

retrieve_with_traversal

노드에서 시작하여 외부로 탐색 — 감쇠 및 깊이에 따라 점수가 매겨진 모든 도달 가능한 이웃을 반환합니다.

보완 서버: 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)의 경우 serversinputs를 사용하세요:

{
  "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

.mcp.json

Cursor

.cursor/mcp.json

VS Code

.vscode/mcp.json

Windsurf

.windsurf/mcp.json

OpenCode

opencode.json

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

로컬 Ollama 서버

무료, 오프라인, 비공개

OpenAI 호환

openai

API 키

Gemini (무료 티어), OpenAI, Groq, vLLM

Ollama (기본값)

추가 구성이 필요 없습니다. 임베딩 모델과 함께 Ollama를 실행하기만 하면 됩니다:

ollama pull nomic-embed-text
ollama serve

Google 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 임베딩 작업을 피하기 위해 재사용 가능한 파일, 식별자 및 호출 위치 임베딩을 저장합니다. 실시간 추적기가 변경된 파일/함수를 점진적으로 새로 고칩니다.

구성

변수

타입

기본값

설명

CONTEXTPLUS_EMBED_PROVIDER

string

ollama

임베딩 백엔드: ollama 또는 openai

OLLAMA_EMBED_MODEL

string

nomic-embed-text

Ollama 임베딩 모델

OLLAMA_API_KEY

string

-

Ollama Cloud API 키

OLLAMA_CHAT_MODEL

string

llama3.2

클러스터 레이블링을 위한 Ollama 채팅 모델

CONTEXTPLUS_OPENAI_API_KEY

string

-

OpenAI 호환 제공자를 위한 API 키 (별칭: OPENAI_API_KEY)

CONTEXTPLUS_OPENAI_BASE_URL

string

https://api.openai.com/v1

OpenAI 호환 엔드포인트 URL (별칭: OPENAI_BASE_URL)

CONTEXTPLUS_OPENAI_EMBED_MODEL

string

text-embedding-3-small

OpenAI 호환 임베딩 모델 (별칭: OPENAI_EMBED_MODEL)

CONTEXTPLUS_OPENAI_CHAT_MODEL

string

gpt-4o-mini

레이블링을 위한 OpenAI 호환 채팅 모델 (별칭: OPENAI_CHAT_MODEL)

CONTEXTPLUS_EMBED_BATCH_SIZE

string (숫자로 파싱)

8

GPU 호출당 임베딩 배치 크기, 5-10으로 제한

CONTEXTPLUS_EMBED_CHUNK_CHARS

string (숫자로 파싱)

2000

병합 전 청크당 문자 수, 256-8000으로 제한

CONTEXTPLUS_MAX_EMBED_FILE_SIZE

string (숫자로 파싱)

51200

이 바이트 수보다 큰 비코드 텍스트 파일은 건너뜀

CONTEXTPLUS_EMBED_NUM_GPU

string (숫자로 파싱)

-

선택적 Ollama 임베드 런타임 num_gpu 재정의

CONTEXTPLUS_EMBED_MAIN_GPU

string (숫자로 파싱)

-

선택적 Ollama 임베드 런타임 main_gpu 재정의

CONTEXTPLUS_EMBED_NUM_THREAD

string (숫자로 파싱)

-

선택적 Ollama 임베드 런타임 num_thread 재정의

CONTEXTPLUS_EMBED_NUM_BATCH

string (숫자로 파싱)

-

선택적 Ollama 임베드 런타임 num_batch 재정의

CONTEXTPLUS_EMBED_NUM_CTX

string (숫자로 파싱)

-

선택적 Ollama 임베드 런타임 num_ctx 재정의

CONTEXTPLUS_EMBED_LOW_VRAM

string (불리언으로 파싱)

-

선택적 Ollama 임베드 런타임 low_vram 재정의

CONTEXTPLUS_EMBED_TRACKER

string (불리언으로 파싱)

true

파일 변경 시 실시간 임베딩 새로 고침 활성화

CONTEXTPLUS_EMBED_TRACKER_MAX_FILES

string (숫자로 파싱)

8

추적기 틱당 처리되는 최대 변경 파일 수, 5-10으로 제한

CONTEXTPLUS_EMBED_TRACKER_DEBOUNCE_MS

string (숫자로 파싱)

700

추적기 새로 고침 전 디바운스 창

테스트

npm test
npm run test:demo
npm run test:all
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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