Integrations
Uses Express.js to implement a REST API server with endpoints for file operations and LLM queries.
Implemented as a Node.js application for server-side functionality.
Integrates with Ollama as a local LLM provider for context-aware querying. Allows users to send prompts to Ollama models with context from local files.
파일 컨텍스트 MCP(모델 컨텍스트 프로세서)
개요
파일 컨텍스트 MCP는 로컬 파일의 컨텍스트를 사용하여 대용량 언어 모델(LLM)을 쿼리하는 API를 제공하는 TypeScript 기반 애플리케이션입니다. 여러 LLM 공급자(Ollama 및 Together.ai)를 지원하며, 다양한 파일 유형을 처리하여 컨텍스트 인식 응답을 생성할 수 있습니다.
핵심 기능
1. 파일 시스템 탐색
- 동적 파일 및 디렉토리 탐색
- 다양한 파일 형식 지원(
.txt
,.md
,.ts
,.json
등) - 살균을 통한 안전한 경로 처리
지엑스피1
2. 컨텍스트 처리
- LLM 쿼리에 대한 지능형 컨텍스트 포맷팅
- 대용량 파일을 처리하기 위한 컨텍스트 잘림
- 디렉토리 쿼리를 위한 파일 콘텐츠 집계
3. 다중 모델 지원
- 올라마(지역) 통합
- Together.ai(클라우드) 통합
- 확장 가능한 모델 인터페이스 디자인
건축학
핵심 구성 요소
- 서버(server.ts)
- Express.js REST API 구현
- Multer를 사용한 파일 업로드/삭제 처리
- 요청 검증 및 라우팅
- OpenAPI/Swagger 통합
- 파일 시스템 도구(core/fileSystem.ts)
- 파일 및 디렉토리 작업
- 콘텐츠 읽기 및 구문 분석
- 디렉토리 탐색
- 안전한 파일 삭제
- 파일 작업에 대한 오류 처리
- 모델인터페이스(core/modelInterface.ts)
- 여러 LLM 공급자 지원(Ollama, Together.ai)
- 응답 형식 및 오류 처리
- 구성 가능한 모델 매개변수
- 통합 쿼리 인터페이스
- 유틸리티 모듈
fileUtils
: 파일 유형 감지, 경로 정리, 크기 포맷팅promptUtils
: 컨텍스트 포맷팅, 지능형 잘라내기validators
: 경로, 쿼리 및 모델 검증logger
: 레벨이 있는 구조화된 로깅
- 구성(config/config.ts)
- 환경 변수 관리
- API 키 및 엔드포인트
- 모델 구성
- 서버 설정
- API 사양(resources/file-context-api.yml)
- OpenAPI 3.0 문서
- 요청/응답 스키마
- 엔드포인트 문서
- 오류 응답 정의
API 엔드포인트
1. 파일 목록
2. 파일 업로드
3. 파일 삭제
4. 컨텍스트를 사용한 쿼리
설정 및 구성
- 환경 변수
- 설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 File Context MCP를 자동으로 설치하려면:
- 애플리케이션 실행
작동 원리
- 파일 처리 흐름
- 요청 수신 → 경로 검증 → 파일 읽기 → 콘텐츠 추출
- 디렉토리 처리에는 재귀적 파일 읽기가 포함됩니다.
- 파일 유형에 따른 콘텐츠 필터링
- 파일 업로드는 유형 및 크기에 대해 검증됩니다.
- 경로 검증을 통한 안전한 파일 삭제
- 컨텍스트 처리
- 파일 내용이 집계됩니다
- 컨텍스트는 명확한 경계로 포맷됩니다.
- 대규모 컨텍스트는 지능적으로 잘립니다.
- 신속한 서식은 LLM 이해에 구조를 추가합니다.
- 모델 통합
- 다양한 LLM 공급자를 위한 통합 인터페이스
- 오류 처리 및 응답 정규화
- 구성 가능한 모델 매개변수
보안 기능
- 경로 살균
- 디렉토리 트래버설 공격 방지
- 경로 검증 및 정규화
- 안전한 파일 유형 검사
- 파일 업로드 보안
- 파일 유형 검증
- 파일 크기 제한(최대 5MB)
- 안전한 파일 저장
- 안전한 파일 삭제
- 입력 검증
- 쿼리 콘텐츠 검증
- 모델 유형 검증
- 경로 구조 검증
- 파일 내용 검증
지원되는 파일 유형
이 애플리케이션은 다음과 같은 텍스트 기반 파일 형식을 지원합니다.
- 문서:
.txt
,.md
- 코드 파일:
.js
,.ts
,.jsx
,.tsx
,.py
,.java
,.cpp
,.c
,.h
- 구성:
.json
,.yaml
,.yml
,.env
- 웹 파일:
.html
,.css
- 데이터 파일:
.csv
,.xml
,.log
파일 유형 유효성 검사는 다음 경우에 적용됩니다.
- 파일 업로드
- 컨텍스트 처리
- 파일 읽기 작업
최대 파일 크기: 파일당 5MB
오류 처리
이 애플리케이션은 포괄적인 오류 처리를 구현합니다.
- 파일 시스템 오류
- API 응답 오류
- 잘못된 입력 오류
- 모델별 오류
- 파일 업로드/삭제 오류
개발
프로젝트 구조
새로운 기능 추가
- 새로운 파일 유형
fileUtils.isTextFile()
에 확장자를 추가합니다.- 필요한 경우 특정 핸들러를 구현합니다.
- 새로운 모델 제공업체
ModelInterface
클래스 확장validators.isValidModel()
에 공급자를 추가합니다.- 공급자별 오류 처리 구현
테스트
우편 배달부 컬렉션
이 프로젝트에는 모든 API 엔드포인트를 테스트하기 위한 Postman 컬렉션( postman/File-Context-MCP.postman_collection.json
)이 포함되어 있습니다. 사용 방법은 다음과 같습니다.
- 컬렉션 가져오기
- 오픈 포스트맨
- "가져오기" 버튼을 클릭하세요
File-Context-MCP.postman_collection.json
파일을 선택하거나 드래그합니다.
- 사용 가능한 요청Copy
- 파일 작업 테스트
- 파일 목록 : 저장 디렉토리의 내용을 봅니다.
- 파일 업로드 : "file" 키를 사용하여 form-data를 사용하고 텍스트 파일을 선택하세요.
- 쿼리 파일 : LLM을 사용하여 단일 파일 콘텐츠 분석
- 디렉토리 분석 : LLM을 사용하여 여러 파일 처리
- 예제 쿼리Copy
- 파일 업로드 가이드
- "파일 업로드" 요청을 사용하세요
- 본문 탭에서 "form-data"를 선택하세요
- "파일" 유형으로 "파일" 키를 추가합니다.
- 지원되는 텍스트 파일을 선택하세요(지원되는 파일 유형 참조)
- 최대 파일 크기: 5MB
수동 테스트
/storage
에 제공된 테스트 파일을 사용하세요.- 다양한 파일 유형 및 쿼리 테스트
- 모델 응답 및 오류 처리 확인
- 테스트 파일 크기 제한 및 유형 제한
환경 설정
다음 사항을 확인하세요.
- 서버를 실행하세요(
npm run dev
) - 환경 변수 구성
- Ollama를 로컬로 실행하세요(Ollama 모델의 경우)
- Together.ai API 키 설정(Together 모델용)
향후 고려 사항
- 대용량 파일을 효율적으로 처리하는 방법
- 지원되는 파일 유형 확장
- 컨텍스트 처리 최적화
- 응답에 대한 스트리밍 지원 추가
- 속도 제한 및 캐싱 구현
이 프로젝트는 파일 기반 컨텍스트에서 LLM 상호 작용을 위한 유연한 인터페이스를 제공하는 동시에 모듈성, 유형 안전성 및 오류 처리에 중점을 둔 최신 TypeScript/Node.js 방식을 보여줍니다.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
이 서버는 로컬 파일의 컨텍스트를 사용하여 대규모 언어 모델을 쿼리하는 API를 제공하며, 컨텍스트 인식 응답을 위한 다양한 모델과 파일 유형을 지원합니다.
- Overview
- Core Features
- Architecture
- API Endpoints
- Setup and Configuration
- How It Works
- Security Features
- Supported File Types
- Error Handling
- Development
- Testing
- Future Considerations
Related Resources
Related MCP Servers
- -securityFlicense-qualityA server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.Last updated -7432JavaScript
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.Last updated -1PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to interact with ClickUp workspace tasks and data, allowing creation and retrieval of tasks through natural language.Last updated -59TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.Last updated -43TypeScript