VOOZH about

URL: https://glama.ai/mcp/servers/ericlimabr/mcp-context?locale=ko-KR

⇱ mcp-context by ericlimabr | Glama


mcp-context

코드 저장소에 대한 의미론적 검색(RAG)을 지원하는 로컬 Model Context Protocol (MCP) 서버입니다. 여러 프로젝트의 컨텍스트를 외부 AI 클라이언트(Claude.ai, Gemini, Claude Code)에 노출하여 매 세션마다 수동으로 컨텍스트를 다시 전달할 필요가 없도록 합니다.

스택: Python · FastMCP · Qdrant · sentence-transformers · Next.js · Docker · Cloudflare Tunnel


사전 요구 사항

계속하기 전에 아래 항목들이 설치되어 있는지 확인하십시오:

도구

최소 버전

확인 방법

Python

3.11

python3 --version

Docker

24.0

docker --version

Docker Compose

2.20

docker compose version

Node.js

18.0

node --version

npm

9.0

npm --version

Git

any

git --version

cloudflared

any

cloudflared --version

원격 연결(3단계)을 위해서는 활성 도메인이 있는 Cloudflare 계정이 필요합니다.


Related MCP server: mcplens

설치

# 1. Clone the repository
git clone https://github.com/ericlimabr/mcp-context.git
cd mcp-context

# 2. Copy the environment variables file
cp .env.example .env

# 3. Run setup — installs Python dependencies via uv and starts Qdrant
make setup

GITHUB_TOKEN 관련 참고: .env 파일에는 저장소 읽기 액세스를 위한 GITHUB_TOKEN 변수가 포함되어 있습니다. 이 토큰을 얻으려면 GitHub Settings > Developer settings > Personal access tokens로 이동하십시오. 새 토큰을 생성하여 .env 파일에 붙여넣으십시오.


구성

1. 환경 변수

이전 단계에서 생성된 .env 파일을 편집하십시오:

# Root path where your projects are stored on the machine
PROJECTS_ROOT=/home/your-user/projects

# Access password for the administrative panel
ADMIN_PASSWORD=choose-a-strong-password

2. Cloudflare Tunnel 구성

# Authenticate cloudflared with your Cloudflare account
cloudflared tunnel login

# Create the permanent tunnel
cloudflared tunnel create mcp-context

# Associate with your subdomain (replace yourdomain.com)
cloudflared tunnel route dns mcp-context mcp.yourdomain.com

프로젝트 루트에 cloudflared/config.yml을 생성하십시오(이 파일은 gitignore 처리됩니다). <id>를 위 tunnel create 명령으로 출력된 UUID로 바꾸십시오:

tunnel: mcp-context
credentials-file: /home/your-user/.cloudflared/<id>.json

ingress:
 - hostname: mcp.yourdomain.com
 service: http://localhost:17800
 - service: http_status:404

3. 프론트엔드 생성

이 단계는 한 번만 수행하면 됩니다. Next.js 프로젝트를 생성하고 내부 .git/을 자동으로 제거합니다:

make frontend-setup

4. 첫 번째 프로젝트 인덱싱

프론트엔드를 열고 프로젝트 경로를 추가한 뒤 인덱싱을 트리거하십시오:

make frontend
# Access http://localhost:17801

또는 터미널에서 직접 인덱서를 실행하십시오:

make index

로컬 실행 (개발)

자동 재시작(개발 중 권장)과 함께 MCP 서버를 시작하려면:

make dev

이 명령은 Qdrant, Cloudflare Tunnel 및 핫 리로드가 활성화된 MCP 서버를 시작합니다. server/ 내의 파일이 변경될 때마다 서버가 자동으로 재시작됩니다.

모든 서비스(MCP 서버, 프론트엔드, 터널, Qdrant)를 백그라운드에서 시작하려면:

make server-dev

사용 가능한 서비스:

서비스

URL

MCP 서버

http://localhost:17800

프론트엔드 (관리자 + 대시보드)

http://localhost:17801

Qdrant (API)

http://localhost:17810

실시간 로그는 logs/에서 확인할 수 있습니다:

tail -f logs/server.log # MCP server
tail -f logs/frontend.log # frontend
tail -f logs/tunnel.log # Cloudflare Tunnel
make qdrant-logs # Qdrant

모든 서비스를 중지하려면:

make stop

로컬 배포 (컨테이너 내 모든 서비스)

프로젝트를 완전히 컨테이너화하여 실행하려면(프로덕션 환경을 시뮬레이션하거나 Docker와 함께 모든 것을 시작할 때 유용함):

# First time: build the images
make prod-build

# Start all containers
make prod-up

# Stop everything
make prod-down

# Real-time logs
make prod-logs

경고: prod-up을 실행하기 전에 .envPROJECTS_ROOT가 올바른 디렉토리를 가리키고 있는지 확인하십시오. MCP 서버 컨테이너는 로컬 파일에 액세스하기 위해 해당 경로를 마운트합니다.


Make 명령어

명령어

설명

make setup

첫 실행: uv를 통해 종속성을 설치하고 Qdrant 시작

make frontend-setup

apps/frontend/에 Next.js 프로젝트 생성 (1회)

make dev

Qdrant + 터널 + 자동 재시작이 포함된 MCP 서버 시작

make server-dev

모든 서비스를 백그라운드에서 시작

make stop

모든 개발 서비스 중지

make server

MCP 서버만 시작 (포트 17800)

make frontend

Next.js 프론트엔드만 시작 (포트 17801)

make tunnel

Cloudflare Tunnel만 시작

make index

인덱싱 워커 실행

make qdrant-up

Docker Compose를 통해 Qdrant 시작

make qdrant-down

Qdrant 중지

make qdrant-logs

Qdrant 실시간 로그

make prod-build

모든 Docker 이미지 빌드

make prod-up

모든 컨테이너 시작

make prod-down

모든 컨테이너 중지

make prod-logs

모든 컨테이너의 실시간 로그


저장소 구조

mcp-context/
├── server/ # MCP Server (FastMCP/SSE, port 17800)
│ ├── main.py # Entrypoint and MCP configuration
│ ├── tools/ # MCP tool definitions (planned)
│ ├── resources/ # MCP resource definitions (planned)
│ └── embeddings.py # Local embedding model loading (planned)
├── indexer/ # Project indexing worker (planned)
│ ├── worker.py # Orchestrates indexing
│ ├── chunker.py # Function-scope chunking
│ └── qdrant_client.py # Qdrant client abstraction
├── apps/
│ └── frontend/ # Next.js app — admin panel + dashboard (port 17801)
│ # Generated by make frontend-setup
├── cloudflared/ # Cloudflare Tunnel config (gitignored)
│ └── config.yml
├── docs/
│ ├── ARCHITECTURE.md # Detailed system architecture
│ ├── DECISIONS.md # Architecture decisions
│ ├── ENDPOINTS.md # Endpoints documentation
│ └── ROADMAP.md # Implementation phases
├── logs/ # Service logs in dev (gitignored)
├── .pids/ # Process PIDs in dev (gitignored)
├── qdrant_data/ # Persisted Qdrant data (gitignored)
├── config.json # Project configuration (gitignored)
├── .env # Environment variables (gitignored)
├── .env.example # Environment variables template
├── docker-compose.yml # Qdrant for development
├── docker-compose.prod.yml # All services for local deploy
├── Makefile # Command shortcuts
├── pyproject.toml # Python project and dependencies (uv)
├── CONTEXT.md # Project context for LLMs
└── README.md # This file

알려진 제한 사항

  • Cloudflare Tunnel을 통해 원격으로 작업하려면 로컬 머신이 켜져 있어야 합니다.

  • Qdrant 인덱스는 마지막 인덱싱 시점의 코드 상태를 반영합니다. 각 커밋 후 자동으로 인덱스를 업데이트하려면 post-commit 훅을 구성하십시오.

  • 바이너리 파일, 이미지 및 에셋은 인덱싱되지 않습니다.

  • 임베딩 모델(jina-embeddings-v2-base-code, 약 160MB)은 첫 실행 시 sentence-transformers를 통해 자동으로 다운로드됩니다.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/ericlimabr/mcp-context'

If you have feedback or need assistance with the MCP directory API, please join our Discord server