File Rank MCP Server

by admica
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Analyzes C/C++ source files to detect includes and differentiate between system and local headers for dependency tracking and importance ranking.

  • Processes JavaScript files using regex patterns to detect import/require statements for dependency tracking and importance ranking.

  • Supports running the MCP server from WSL Linux environments with compatible configuration files.

파일 순위 MCP(모델 컨텍스트 프로토콜) 서버

코드베이스의 파일을 중요도에 따라 순위를 매기고 종속성 추적을 통해 요약을 제공하는 TypeScript 기반 도구입니다.

개요

이 도구는 프로젝트에서 가장 중요한 파일을 추적하고 0(가장 중요하지 않음)에서 10(가장 중요함) 사이의 등급을 부여하는 데 도움이 됩니다. 또한 파일 종속성을 추적하고 요약을 제공하여 코드베이스 구조를 이해하는 데 도움을 줍니다.

특징

  • 0~10점 척도로 파일 순위를 매겨보세요(10점이 가장 중요함)
  • 파일 종속성(어떤 파일이 어떤 파일을 가져오는지)을 추적하고 시각화합니다.
  • 자동 업데이트를 위한 실시간 파일 시스템 모니터링
  • 파일 요약 가져오기(LLM 통합을 위한 플레이스홀더 포함)
  • 개별 파일, 디렉토리 또는 전체 코드베이스에 대한 쿼리 순위
  • 검색 엔드포인트가 있는 자체 문서화 API
  • 간단한 stdio JSON 인터페이스

설정

  1. 이 저장소를 복제하세요
  2. 빌드 스크립트를 실행 가능하게 만듭니다.지엑스피1
  3. 빌드 스크립트를 실행합니다.
    ./build.sh
    이렇게 하면:
    • Node.js 설치 확인
    • 프로젝트 종속성 설치
    • TypeScript 코드 컴파일
    • MCP 구성 생성
    • /tmp/file-rank-mcp_*.log 에 자세한 로그 파일을 만듭니다.
  4. 생성된 mcp.json Cursor AI와 함께 사용하려면 프로젝트의 .cursor/ 디렉토리로 이동하세요.

용법

이 도구는 모델 컨텍스트 프로토콜(MCP)을 사용하여 stdio를 통해 JSON으로 통신합니다. 프로젝트 디렉터리의 변경 사항을 자동으로 모니터링하고 파일 트리를 그에 따라 업데이트합니다.

서버 실행

node dist/mcp-server.js

지원 언어

서버는 다음 언어의 종속성을 자동으로 감지합니다.

  • Python: importfrom ... import
  • C/C++: #include 지시어
  • Rust: usemod 명령문
  • Lua: require
  • JavaScript/TypeScript: import

작동 원리

이 도구는 file-tree.json 에 코드베이스의 실시간 트리 구조를 저장합니다. 이 파일은 프로젝트 디렉터리에서 변경 사항이 감지될 때마다 자동으로 업데이트됩니다.

데이터 구조

파일 트리는 JSON 구조로 저장됩니다.

{ "path": "/path/to/directory", "name": "directory_name", "isDirectory": true, "children": [ { "path": "/path/to/file.ts", "name": "file.ts", "isDirectory": false, "dependencies": ["/path/to/dependency.ts"], "importance": 8 } ] }

종속성 감지

이 도구는 소스 코드를 분석하여 종속성을 감지합니다.

  • 언어별 가져오기 패턴에 대한 파일 내용을 스캔합니다.
  • 상대적 가져오기를 절대 경로로 변환합니다.
  • 가져온 파일이 있는지 확인합니다.
  • 종속성 수를 기반으로 중요성을 계산합니다.

파일 중요도 계산

파일에는 다음을 기준으로 중요도 점수(0~10)가 지정됩니다.

  • 종속성 수(이 파일을 가져오는 파일)
  • 종속성 트리의 위치
  • 파일 유형 및 위치

기술 스택

  • 타입스크립트/노드.js
  • 모델 컨텍스트 프로토콜 SDK(v1.7.0)
  • 파일 시스템 모니터링을 위한 Chokidar
  • CommonJS 모듈을 사용한 ES2020 타겟

개발

프로젝트를 수정하거나 확장하려면:

  1. src 디렉토리의 TypeScript 파일을 변경합니다.
  2. 빌드 스크립트를 실행하여 구성을 컴파일하고 업데이트합니다.
    ./build.sh
  3. 서버를 실행합니다:
    node dist/mcp-server.js

빌드 스크립트는 다음을 수행합니다.

  • 새로운 종속성을 설치하세요
  • TypeScript 코드 컴파일
  • 업데이트된 MCP 구성 생성
  • 문제 해결을 위한 자세한 로그 파일을 만듭니다.

LLM과의 통합

현재 구현에는 LLM 통합을 위한 플레이스홀더가 포함되어 있습니다. 프로덕션 환경에서는 서버를 다음과 같이 확장할 수 있습니다.

  • LLM을 사용하여 파일 요약 생성
  • 코드 복잡성과 유지 관리성 분석
  • 파일 구성을 위한 지능형 제안 제공
  • 코드 구조에 기반한 문서 생성

특허

이 프로젝트는 GNU General Public License v3(GPL-3.0)에 따라 라이선스가 부여됩니다. 전체 라이선스 내용은 LICENSE 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

간단한 JSON 기반 인터페이스를 통해 코드베이스 파일을 중요도(1~10점 척도)에 따라 순위를 매기고, 파일 종속성을 추적하며 요약을 제공하는 도구입니다.

  1. Overview
    1. Features
      1. Setup
        1. Usage
          1. Running the Server
          2. Supported Languages
        2. How It Works
          1. Data Structure
          2. Dependency Detection
          3. File Importance Calculation
        3. Technical Stack
          1. Development
            1. Integration with LLMs
              1. License
                ID: ngno1fuoup