Skip to main content
Glama
README.md4.62 kB
# GPT MCP Server > **ChatGPT Desktop에서 로컬 파일시스템에 직접 접근** > > MCP (Model Context Protocol) 기반 파일시스템 서버 --- ## 개요 이 서버를 실행하면 ChatGPT Desktop에서 로컬 파일을 읽고 검색할 수 있습니다. ``` ChatGPT Pro (클라우드) ↓ ngrok (터널) ↓ 이 MCP 서버 (로컬) ↓ 로컬 파일시스템 ``` ## 기능 | 도구 | 설명 | |------|------| | `list_files` | 디렉토리 파일 목록 조회 | | `read_file` | 파일 내용 읽기 | | `search_files` | 파일 내용 검색 | | `get_file_info` | 파일 메타데이터 조회 | | `get_allowed_directories` | 접근 가능 디렉토리 확인 | ## 보안 - **화이트리스트 기반**: 허용된 디렉토리만 접근 가능 - **민감 파일 차단**: `.env`, `*.key`, `*secret*` 등 자동 차단 - **읽기 전용**: 기본적으로 쓰기 비활성화 - **파일 크기 제한**: 10MB 초과 파일 차단 --- ## 빠른 시작 ### 1. 서버 실행 ```batch # Windows (배치 파일) start.bat # 또는 PowerShell .\start.ps1 # 또는 직접 실행 python server.py ``` ### 2. ngrok 터널링 새 터미널에서: ```bash ngrok http 8765 ``` 출력 예시: ``` Forwarding: https://abc123.ngrok-free.app -> http://localhost:8765 ``` ### 3. ChatGPT에 등록 1. ChatGPT Desktop → Settings → Developer Mode 활성화 2. MCP Connectors → Add Connector 3. ngrok URL 입력: `https://abc123.ngrok-free.app/mcp` --- ## 설치 ### 요구사항 - Python 3.10+ - GPT Pro 구독 (Developer Mode 필요) - ngrok (무료 계정) ### 설치 단계 ```bash # 1. 디렉토리 이동 cd gpt-mcp-server # 2. 가상환경 생성 python -m venv venv # 3. 가상환경 활성화 (Windows) venv\Scripts\activate # 4. 의존성 설치 pip install -r requirements.txt # 5. 설정 파일 수정 (선택) # config.yaml에서 allowed_directories 수정 ``` --- ## 설정 ### config.yaml ```yaml # 허용된 디렉토리 (이 폴더 내의 파일만 접근 가능) filesystem: allowed_directories: - "C:\\Users\\your-username\\Documents" - "C:\\Projects" # 파일 크기 제한 (바이트) max_file_size: 10485760 # 10MB # 쓰기 모드 (기본: 비활성화) write_enabled: false ``` ### 환경 변수로 설정 ```bash # 허용 디렉토리 (세미콜론으로 구분) set GPT_MCP_ALLOWED_DIRS=C:\Users\me\Documents;C:\Projects # 포트 변경 set GPT_MCP_PORT=8080 # 디버그 모드 set GPT_MCP_DEBUG=true ``` --- ## 사용 예시 ChatGPT에서 다음과 같이 요청: ``` "Documents 폴더의 파일 목록을 보여줘" "project/src 폴더에서 'import' 가 포함된 파일을 찾아줘" "README.md 파일을 읽어줘" "config.yaml 파일의 1-50 라인만 보여줘" ``` --- ## 프로젝트 구조 ``` gpt-mcp-server/ ├── server.py # MCP 서버 메인 ├── security.py # 보안 레이어 ├── config.py # 설정 관리 ├── tools.py # 고급 파일 도구 ├── config.yaml # 설정 파일 ├── requirements.txt # Python 의존성 ├── start.bat # Windows 실행 스크립트 ├── start.ps1 # PowerShell 실행 스크립트 ├── README.md # 이 문서 └── PLANNING.md # 설계 문서 ``` --- ## 문제 해결 ### "Connection refused" 오류 ```bash # 서버가 실행 중인지 확인 curl http://127.0.0.1:8765/health ``` ### "Access denied" 오류 `config.yaml`에서 `allowed_directories`에 해당 경로가 포함되어 있는지 확인. ### ngrok 연결 안 됨 1. ngrok 재시작 2. 새 URL 생성됨 → ChatGPT에 다시 등록 ### 한글 파일명 깨짐 ```yaml # config.yaml server: log_level: "DEBUG" ``` 인코딩 문제 로그 확인 후 `encoding` 파라미터 조정. --- ## API 엔드포인트 | 엔드포인트 | 설명 | |-----------|------| | `GET /` | 서버 상태 | | `GET /health` | 헬스체크 | | `POST /mcp` | MCP JSON-RPC 엔드포인트 | | `GET /sse` | SSE 스트림 | --- ## 라이선스 MIT License --- ## DreamTeam 설계 이 프로젝트는 DreamTeam 전문가들의 설계를 기반으로 구현되었습니다: - **Dr. Michael Torres** (Solution Architect): 시스템 아키텍처 - **James Park** (Backend Lead): FastAPI 서버 구현 - **Robert Chen** (Security Lead): 보안 레이어 - **Kevin Zhang** (DevOps Lead): 실행 스크립트 및 설정 - **Emily Brown** (Technical Writer): 문서화 --- > **"로컬 파일에 직접 접근하는 GPT"** > > Claude Code처럼, 하지만 GPT로.

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/seanshin0214/gpt-mcp-server'

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