Beanquery MCP Server

Integrations

  • Supports loading environment variables from .env files for configuration, particularly for setting paths to Beancount ledger files.

  • Includes test suite integration using pytest for validating server functionality.

빈쿼리 MCP

Beancount MCP 서버는 Beancount 원장 파일과의 인터페이스를 위해 설계된 모델 컨텍스트 프로토콜(MCP) 의 실험적 구현입니다. Beancount 쿼리 언어(BQL)Beanquery 도구를 활용하는 이 서버는 Beancount 형식으로 저장된 재무 데이터에 대한 원활한 쿼리 및 분석을 지원합니다. MCP를 통합함으로써 AI 어시스턴트와 Beancount 원장 간의 표준화된 통신을 용이하게 하여 재무 데이터의 접근성과 유용성을 향상시킵니다.

참고: 이 서버는 실험 단계이므로 상당한 변경 사항이 있을 수 있습니다. 개발 환경에서 사용하시고 추가 개선 사항에 대한 피드백을 제공해 주시기 바랍니다.

생성된 샘플 원장은 sample.bean 에서 찾을 수 있습니다.

사용 가능한 리소스 및 도구

  • 도구 :
    • set_ledger_file : 환경 변수를 통해 설정되지 않은 경우 쿼리에 사용할 Beancount 원장 파일을 설정합니다.
    • run_query : 로드된 Beancount 파일에 대해 BQL 쿼리를 실행합니다.
  • 자원 :
    • beanquery://tables : BQL이 액세스할 수 있는 테이블 목록을 가져옵니다.
    • beanquery://accounts : 로드된 Beancount 파일에 있는 계정 목록을 가져옵니다.

Claude.ai를 사용한 예

확장된 MCP 상호작용이 포함된 스크린샷은 여기를 참조하세요.

⚠️ 개인정보 보호 경고

이 도구는 모델 컨텍스트 프로토콜(MCP)을 통해 언어 모델 공급자(LLM)와 인터페이스하며, 이를 통해 잠재적으로 기밀이거나 개인적인 재무 정보를 포함하여 Beancount 원장의 일부를 타사 서비스에 전송할 수 있습니다.

특히 다음과 같은 경우 이 도구를 주의해서 사용하세요.

  • 귀하의 원장에는 민감한 데이터(예: 고객 이름, 급여 세부 정보, 건강 관련 비용)가 포함되어 있습니다.
  • 클라우드 호스팅 또는 자체 호스팅이 아닌 LLM 백엔드를 사용하고 있습니다.

추천사항:

  • 테스트 원장에서 민감한 데이터를 마스크하거나 삭제합니다.
  • 가능하면 셀프 호스팅 LLM을 사용하세요.
  • MCP를 통해 전송되는 데이터를 검토하여 개인정보 보호 및 보안 요구 사항을 준수하는지 확인하세요.

[!주의] 귀하의 금융 데이터 보호는 귀하의 책임입니다. 노출이 불편한 원장은 공유하지 마십시오.

설정

필수 조건

  • Python 3.10 이상
  • Python 프로젝트 관리를 위한 uv (권장)

용법

서버 실행

  1. 개발 모드 : MCP 검사기를 사용하여 서버를 테스트하고 디버깅하세요.지엑스피1
  2. Claude Desktop 통합 : Claude Desktop에 서버를 설치하세요.
    mcp install server.py
    • 빠른 시작 :
      uv run mcp install server.py -v BEANCOUNT_LEDGER=$(pwd)/sample.bean --with beancount --with beanquery
    • 사용자 정의 이름 :
      uv run mcp install server.py --name "Beanquery MCP Server" --with beancount --with beanquery
    • 환경 변수 :
      uv run mcp install server.py -v BEANCOUNT_LEDGER=/path/to/your/ledger.bean --with beancount --with beanquery uv run mcp install server.py -f .env --with beancount --with beanquery

테스트

pytest 사용하여 테스트 모음을 실행합니다.

pytest server_test.py

기여하다

  1. 저장소를 포크합니다.
  2. 기능 브랜치를 만듭니다.
    git checkout -b feature-name
  3. 변경 사항을 커밋하세요.
    git commit -m "Add feature description"
  4. 지점에 푸시:
    git push origin feature-name
  5. 풀 리퀘스트를 엽니다.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

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

Beancount 쿼리 언어를 사용하여 Beancount 원장 파일에 저장된 재무 데이터를 쿼리하고 분석할 수 있도록 모델 컨텍스트 프로토콜을 구현한 실험적 서버입니다.

  1. Available Resources and Tools
    1. Example using Claude.ai
      1. ⚠️ Privacy Warning
        1. Setup
          1. Prerequisites
        2. Usage
          1. Running the Server
        3. Testing
          1. Contributing
            1. License
              ID: or7w0dv4nk