Open Data Model Context Protocol

MIT License
90
  • Apple
  • Linux

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

오픈 데이터 모델 컨텍스트 프로토콜

실제로 확인해 보세요

https://github.com/user-attachments/assets/760e1a16-add6-49a1-bf71-dfbb335e893e

우리는 2가지를 가능하게 합니다:

  • 오픈 데이터 접근 : LLM 신청서에서 바로 많은 공개 데이터 세트에 접근합니다(클로드부터 시작해서 더 많은 내용이 나올 예정입니다).
  • 게시 : 커뮤니티의 도움과 배포 네트워크를 통해 오픈 데이터를 배포하세요. 모두가 사용할 수 있도록 하세요!

어떻게 하면 그럴 수 있나요?

  • 접근 : CLI 도구를 사용하여 2번의 클릭만으로 LLM 애플리케이션에서 MCP 서버를 설정합니다(Claude부터 시작, 다음 단계는 로드맵 참조).
  • 게시 : 제공된 템플릿과 가이드라인을 사용하여 Open Data MCP에 빠르게 기여하고 게시하세요. 데이터를 쉽게 검색할 수 있도록 하세요!

용법

접근: Open Data MCP CLI 도구를 사용하여 오픈 데이터에 접근

필수 조건

Claude Desktop 앱 클라이언트와 함께 Open Data MCP를 사용하려면 Claude Desktop 앱을 설치해야 합니다.

CLI와 MCP 서버를 쉽게 실행하려면 uv 도 필요합니다.

맥OS

지엑스피1

윈도우
# (UNTESTED) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

오픈 데이터 MCP - CLI 도구

개요
# show available commands uvx odmcp # show available providers uvx odmcp list # show info about a provider uvx odmcp info $PROVIDER_NAME # setup a provider's MCP server on your Claude Desktop app uvx odmcp setup $PROVIDER_NAME # remove a provider's MCP server from your Claude Desktop app uvx odmcp remove $PROVIDER_NAME

스위스 SBB(철도 회사) 공급업체를 위한 빠른 시작:

# make sure claude is installed uvx odmcp setup ch_sbb

클로드를 재시작하면 채팅 오른쪽 하단에 새로운 망치 아이콘이 표시됩니다.

이제 클로드에게 SBB 열차 노선 중단에 관해 질문할 수 있으며, 클로드는 data.sbb.ch 에서 수집된 데이터를 기반으로 답변해 줄 것입니다.

게시: 공개 데이터 세트를 구축하고 게시하여 기여하세요.

필수 조건

  1. UV 패키지 관리자 설치
    # macOS brew install uv # Windows (PowerShell) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Linux/WSL curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 복제 및 설정 저장소
    # Clone the repository git clone https://github.com/OpenDataMCP/OpenDataMCP.git cd OpenDataMCP # Create and activate virtual environment uv venv source .venv/bin/activate # Unix/macOS # or .venv\Scripts\activate # Windows # Install dependencies uv sync
  3. 사전 커밋 후크 설치
    # Install pre-commit hooks for code quality pre-commit install

게시 지침

  1. 새로운 공급자 모듈 만들기
    • 각 데이터 소스에는 고유한 Python 모듈이 필요합니다.
    • src/odmcp/providers/ 에 새로운 Python 모듈을 만듭니다.
    • {country_code}_{organization}.py 패턴을 따르는 설명적 이름을 사용하세요(예: ch_sbb.py ).
    • 먼저 템플릿 파일을 기반으로 시작하세요.
  2. 필수 구성 요소 구현
    • 템플릿 구조에 따라 도구 및 리소스를 정의하세요.
    • 각 도구 또는 리소스에는 다음이 있어야 합니다.
      • 목적에 대한 명확한 설명
      • Pydantic 모델을 사용한 명확하게 정의된 입력/출력 스키마
      • 적절한 오류 처리
      • 문서 문자열
  3. 도구 대 리소스
    • 데이터에 다음이 필요한 경우 도구 구현을 선택하세요.
      • 활성 쿼리 또는 계산
      • 매개변수 기반 필터링
      • 복잡한 변환
    • 데이터가 다음과 같은 경우 리소스 구현을 선택하세요.
      • 정적이거나 거의 변하지 않음
      • 메모리에 로드할 수 있을 만큼 작음
      • 간단한 파일 기반 콘텐츠
      • 참조 문서 또는 조회 테이블
    • 지침은 MCP 문서를 참조하세요.
  4. 테스트
    • tests/ 디렉토리에 테스트를 추가합니다.
    • 기존 테스트 패턴을 따르세요(다른 공급자 테스트 참조)
    • 필수 테스트 범위:
      • 기본 기능
      • 에지 케이스
      • 오류 처리
  5. 확인
    • 실험적 클라이언트를 사용하여 MCP 서버를 테스트하세요: uv run src/odmcp/providers/client.py
    • 모든 엔드포인트가 올바르게 응답하는지 확인하세요
    • 오류 메시지가 도움이 되는지 확인하세요
    • 일반적인 쿼리 로드로 성능 확인

다른 예를 보려면 src/odmcp/providers/ 디렉토리에서 기존 공급자를 확인하세요.

기여하다

저희는 야심찬 로드맵을 가지고 있으며, 이 프로젝트가 커뮤니티와 함께 확장되기를 바랍니다. 궁극적인 목표는 수백만 개의 데이터 세트를 모든 LLM 지원자에게 공개하는 것입니다.

그러기 위해서는 여러분의 도움이 필요합니다!

불화

LLM에 오픈 데이터를 도입하는 과제를 함께 해결해 나갈 수 있는 커뮤니티를 만들고 싶습니다. 디스코드에서 채팅을 시작하세요: https://discord.gg/QPFFZWKW

우리의 핵심 가이드라인

목표 규모 때문에 처음에는 간단하고 실용적인 방향으로 진행하고자 합니다. 문제가 생기면 커뮤니티와 함께 해결해 나가겠습니다.

  1. 단순성과 유지 관리성
    • 코드베이스를 간단하고 확장 가능하게 유지하기 위해 추상화를 최소화합니다.
    • 명확하고 간단한 구현에 집중하세요
    • 불필요한 복잡성을 피하세요
  2. 표준화/템플릿
    • 제공된 템플릿과 가이드라인을 일관되게 따르세요
    • 공급업체 전반에 걸쳐 균일한 구조 유지
    • 유사한 기능에는 공통 패턴을 사용하세요
  3. 종속성
    • 외부 종속성을 최소한으로 유지하세요
    • 단일 저장소/패키지 설정을 우선시합니다.
    • 새로운 종속성의 필요성을 신중하게 평가하십시오.
  4. 코드 품질
    • ruff를 사용하여 코드 형식 지정
    • PyTest로 포괄적인 테스트 범위 유지
    • 일관된 코드 스타일을 따르세요
  5. 유형 안전
    • Python 유형 힌트를 전반적으로 사용하세요
    • API 요청/응답 검증을 위해 Pydantic 모델 활용
    • 데이터 처리 시 유형 안전성 보장

전술적 주제(현재 우선순위)

  • [x] 가이드라인, 테스트 프레임워크 및 기여 워크플로를 사용하여 저장소 초기화
  • [x] 자동화된 PyPI 릴리스로 CI/CD 파이프라인 구현
  • [x] 공급자 템플릿과 첫 번째 참조 구현 개발
  • [ ] 추가 오픈 데이터세트 통합(적극적으로 기여자 모집)
  • [ ] 리소스와 도구 선택을 위한 명확한 가이드라인을 수립합니다.
  • [ ] 장기적 성장을 위한 확장 가능한 저장소 아키텍처 개발
  • [ ] MCP SDK 매개변수 지원 확장(인증, 속도 제한 등)
  • [ ] 추가 MCP 프로토콜 기능(프롬프트, 리소스 템플릿) 구현
  • [ ] stdio(SSE)를 넘어서는 대체 전송 프로토콜에 대한 지원 추가
  • [ ] 향상된 접근성을 위해 호스팅된 MCP 서버 배포

로드맵

모든 LLM이 모든 오픈 데이터에 함께 접근할 수 있는 오픈 소스 인프라를 구축해 보세요!

입장:

  • 모든 LLM 애플리케이션(Claude 외)에서 오픈 데이터를 사용할 수 있도록 합니다.
  • 확장 가능한 방식으로 오픈 데이터 데이터 소스를 검색 가능하게 만들기
  • 공공 후원 인프라를 통해 MCP를 통해 원격으로 오픈 데이터를 제공합니다(SSE).

게시:

  • 모든 오픈 데이터에 실제로 접근할 수 있도록 많은 오픈 데이터 MCP 서버를 구축하세요(여러분이 필요합니다!).
  • 저희 측에서는 스위스를 위한 MCP 서버 구축을 시작했습니다. 약 12,000개의 오픈 데이터 세트가 있습니다!
  • Open Data MCP 서버 구축을 더욱 쉽게 만들어보세요

아직 초기 단계이며, 현재 사용 가능한 데이터세트 부족이 병목 현상입니다. 직접 활용해 보세요! 오픈 데이터 MCP 서버를 구축하고 사용자들이 LLM 애플리케이션에서도 사용할 수 있도록 하세요. LLM을 정부, 공공기관, 기업, NGO의 수백만 개 오픈 데이터세트에 연결해 보세요!

Anthropic의 MCP가 발전함에 따라 오픈 데이터 MCP를 이에 적응시키고 업그레이드할 것입니다.

제한 사항

  • Open Data MCP 서버에서 제공하는 모든 데이터는 개방형이어야 합니다.
  • 데이터 제공자의 데이터 라이선스를 준수하세요.
  • 상업적인 용도로 사용하는 경우 라이센스를 인용해야 합니다.

참고문헌

특허

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

ID: wxjcqeq3gt