remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
바이오마트 MCP
Biomart와 인터페이스하는 MCP 서버
모델 컨텍스트 프로토콜 (MCP)은 Anthropic 에서 개발한 LLM에 애플리케이션이 컨텍스트를 제공하는 방식을 표준화하는 개방형 프로토콜입니다. 여기서는 MCP python-sdk를 사용하여 pybiomart 패키지를 통해 Biomart와 연동되는 MCP 서버를 생성합니다.
Claude Desktop에서 MCP 서버가 작동하는 모습을 보여주는 짧은 데모 비디오가 있습니다.
설치
저장소를 복제합니다
지엑스피1
클로드 데스크탑
커서
커서의 에이전트 모드를 통해 다른 모델도 OpenAI나 DeepSeek와 같은 MCP 서버를 활용할 수 있습니다. 커서 설정 톱니바퀴를 클릭하고 Features
-> MCP Servers
-> Add new MCP Server
로 이동합니다. 이름을 biomart
(또는 원하는 이름)로 설정하고 command
를 Type
.
명령을 다음과 같이 설정합니다.
글라마
개발
특징
Biomart-MCP는 Biomart 데이터베이스와 상호 작용할 수 있는 여러 도구를 제공합니다.
- 마트 및 데이터세트 검색 : Biomart 데이터베이스 구조를 탐색하기 위해 사용 가능한 마트 및 데이터세트를 나열합니다.
- 속성 및 필터 탐색 : 특정 데이터 세트에 대한 공통 속성 및 필터나 사용 가능한 모든 속성 및 필터를 확인합니다.
- 데이터 검색 : 특정 속성 및 필터를 사용하여 Biomart 쿼리를 통해 생물학적 데이터를 얻습니다.
- ID 번역 : 다양한 생물학적 식별자(예: 유전자 기호에서 Ensembl ID로) 간 변환
기여하다
풀 리퀘스트를 환영합니다! 개발 관련 몇 가지 참고 사항:
- 여기서는 의도적으로
@mcp.tool()
만 사용하고 있습니다. 이는 문서 에서 볼 수 있듯이 MCP를 지원하는 클라이언트와의 호환성을 극대화하기 위한 것입니다. @lru_cache
사용하여 계산적으로 비용이 많이 드는 함수의 결과를 캐시하거나 외부 API 호출을 수행합니다.- 모델의 컨텍스트 창을 크게 확대하지 않도록 주의해야 합니다. 예를 들어
df.to_csv(index=False).replace("\r", "")
여러 곳에서 발견될 것입니다. 이러한 CSV 스타일 반환은 토큰 대부분이 공백인df.to_string()
과 같은 구문보다 토큰 효율성이 훨씬 높습니다. 또한 염색체에서 모든 유전자를 가져오는 것과 같은 대규모 요청은 컨텍스트 창에 비해 너무 크다는 점에 유의해야 합니다.
잠재적인 미래 기능
물론 추가할 수 있는 기능은 훨씬 더 많으며, 어떤 기능은 biomart-mcp
라는 이름의 범위를 넘어설 수도 있습니다. 몇 가지 아이디어를 소개합니다.
bs4
사용하여 리소스 사이트에 대한 웹 스크래핑을 추가합니다. 예를 들어 NOTCH1에 대한 Ensembl 유전자 ID를 얻은 다음 UCSC의Comments and Description Text from UniProtKB
가져오는 것이 유용할 수 있습니다.- Loading...
You must be authenticated.
Tools
Biomart 데이터베이스와 인터페이스하는 모델 컨텍스트 프로토콜 서버로, 모델이 생물학적 데이터 세트를 검색하고, 속성/필터를 탐색하고, 생물학적 데이터를 검색하고, 다양한 생물학적 식별자 간에 변환할 수 있도록 해줍니다.