Skip to main content
Glama

UniProt MCP 서버

UniProt 단백질 정보에 대한 접근을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 AI 보조자는 UniProt에서 단백질 기능 및 서열 정보를 직접 가져올 수 있습니다.

특징

  • UniProt 접근 번호로 단백질 정보를 얻으세요

  • 다중 단백질의 일괄 검색

  • 성능 향상을 위한 캐싱(24시간 TTL)

  • 오류 처리 및 로깅

  • 정보는 다음과 같습니다.

    • 단백질 이름

    • 기능 설명

    • 전체 시퀀스

    • 시퀀스 길이

    • 유기체

Related MCP server: AI Agent Marketplace Index Search

빠른 시작

  1. Python 3.10 이상이 설치되어 있는지 확인하세요.

  2. 이 저장소를 복제하세요:

    지엑스피1

  3. 종속성 설치:

    # Using uv (recommended) uv pip install -r requirements.txt # Or using pip pip install -r requirements.txt

구성

Claude Desktop 구성 파일에 다음을 추가합니다.

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • 리눅스: ~/.config/Claude/claude_desktop_config.json

{ "mcpServers": { "uniprot": { "command": "uv", "args": ["--directory", "path/to/uniprot-mcp-server", "run", "uniprot-mcp-server"] } } }

사용 예

Claude Desktop에서 서버를 구성한 후 다음과 같은 질문을 할 수 있습니다.

Can you get the protein information for UniProt accession number P98160?

일괄 쿼리의 경우:

Can you get and compare the protein information for both P04637 and P02747?

API 참조

도구

  1. get_protein_info

    • 단일 단백질에 대한 정보 얻기

    • 필수 매개변수: accession (UniProt 접근 번호)

    • 응답 예시:

      { "accession": "P12345", "protein_name": "Example protein", "function": ["Description of protein function"], "sequence": "MLTVX...", "length": 123, "organism": "Homo sapiens" }
  2. get_batch_protein_info

    • 다양한 단백질에 대한 정보를 얻으세요

    • 필수 매개변수: accessions (UniProt 접근 번호 배열)

    • 단백질 정보 객체의 배열을 반환합니다.

개발

개발 환경 설정

  1. 저장소를 복제합니다

  2. 가상 환경 만들기:

    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. 개발 종속성 설치:

    pip install -e ".[dev]"

테스트 실행

pytest

코드 스타일

이 프로젝트에서는 다음을 사용합니다.

  • 코드 서식을 위한 검정색

  • 수입 정렬을 위한 isort

  • 린팅용 flake8

  • 유형 검사를 위한 mypy

  • 보안 검사를 위한 산적

  • 종속성 취약성 검사를 위한 안전성

모든 검사를 실행합니다.

black . isort . flake8 . mypy . bandit -r src/ safety check

기술적 세부 사항

  • MCP Python SDK를 사용하여 구축됨

  • 비동기 HTTP 요청에 httpx를 사용합니다.

  • OrderedDict 기반 캐시를 사용하여 24시간 TTL로 캐싱을 구현합니다.

  • 속도 제한 및 재시도를 처리합니다.

  • 자세한 오류 메시지를 제공합니다

오류 처리

서버는 다양한 오류 시나리오를 처리합니다.

  • 잘못된 접근 번호(404개 응답)

  • API 연결 문제(네트워크 오류)

  • 속도 제한(429개 응답)

  • 잘못된 응답(JSON 구문 분석 오류)

  • 캐시 관리(TTL 및 크기 제한)

기여하다

여러분의 참여를 환영합니다! 풀 리퀘스트를 제출해 주세요. 참여 방법은 다음과 같습니다.

  1. 저장소를 포크하세요

  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )

  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )

  4. 브랜치에 푸시( git push origin feature/amazing-feature )

  5. 풀 리퀘스트 열기

적절하게 테스트를 업데이트하고 기존 코딩 스타일을 준수하세요.

특허

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

감사의 말

  • 단백질 데이터 API를 제공하는 UniProt

  • 모델 컨텍스트 프로토콜 사양에 대한 Anthropic

  • 이 프로젝트를 개선하는 데 도움을 준 기여자

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

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/TakumiY235/uniprot-mcp-server'

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