Биомарт МКП
Сервер MCP для взаимодействия с Biomart
Model Context Protocol (MCP) — открытый протокол, который стандартизирует, как приложения предоставляют контекст LLM, разработанный Anthropic . Здесь мы используем MCP python-sdk для создания сервера MCP, который взаимодействует с Biomart через пакет pybiomart .
Имеется короткое демонстрационное видео, демонстрирующее работу сервера MCP на Claude Desktop.
Установка
Установка через Smithery
Чтобы автоматически установить Biomart MCP для Claude Desktop через Smithery :
Клонировать репозиторий
Клод Десктоп
Курсор
С помощью агентского режима Cusror другие модели также могут использовать преимущества серверов MCP, например, от OpenAI или DeepSeek. Щелкните шестеренку настройки курсора и перейдите в MCP
, а затем либо добавьте сервер MCP в глобальную конфигурацию, либо добавьте его в область проекта, добавив .cursor/mcp.json
в проект.
Пример .cursor/mcp.json
:
Глама
Разработка
Функции
Biomart-MCP предоставляет несколько инструментов для взаимодействия с базами данных Biomart:
- Поиск витрин и наборов данных : список доступных витрин и наборов данных для изучения структуры базы данных Biomart.
- Исследование атрибутов и фильтров : просмотр общих или всех доступных атрибутов и фильтров для определенных наборов данных.
- Извлечение данных : запросите Biomart с определенными атрибутами и фильтрами для получения биологических данных
- Перевод идентификаторов : преобразование между различными биологическими идентификаторами (например, символы генов в идентификаторы ансамбля)
Внося вклад
Pull requests приветствуются! Несколько небольших заметок по разработке:
- Мы намеренно используем здесь только
@mcp.tool()
, чтобы обеспечить максимальную совместимость с клиентами, поддерживающими MCP, как показано в документации . - Мы используем
@lru_cache
для кэширования результатов функций, требующих больших вычислительных затрат или выполняющих внешние вызовы API. - Нам нужно быть внимательными, чтобы не раздуть контекстное окно модели, например, вы увидите
df.to_csv(index=False).replace("\r", "")
во многих местах. Этот возврат в стиле csv гораздо более эффективен с точки зрения токенов, чем что-то вродеdf.to_string()
, где большинство токенов — это пробелы. Также помните о том, что извлечение всех генов из хромосомы или подобный большой запрос также будет слишком большим для контекстного окна.
Потенциальные будущие возможности
Конечно, есть еще много функций, которые можно добавить, некоторые из них, возможно, выходят за рамки имени biomart-mcp
. Вот несколько идей:
- Добавьте веб-скрапинг для сайтов ресурсов с
bs4
, например, мы получили идентификатор гена Ensembl для NOTCH1, тогда, возможно, в некоторых случаях будет полезно извлечь сопоставленныеComments and Description Text from UniProtKB
с его страницы на UCSC. - Loading...
Tools
Сервер протокола контекста модели, который взаимодействует с базами данных Biomart, позволяя моделям обнаруживать биологические наборы данных, исследовать атрибуты/фильтры, извлекать биологические данные и выполнять преобразование между различными биологическими идентификаторами.
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that provides tools for connecting to and interacting with various database systems (SQLite, PostgreSQL, MySQL/MariaDB, SQL Server) through a unified interface.Last updated -3Python
MCP TapData Serverofficial
-securityFlicense-qualityA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.Last updated -- -securityFlicense-qualityA Model Context Protocol server that provides comprehensive access to Microsoft SQL Server databases, enabling Language Models to inspect schemas, execute queries, manage database objects, and perform advanced database operations.Last updated -6Python
- AsecurityAlicenseAqualityA production-ready Model Context Protocol (MCP) server that provides comprehensive access to the BioOntology API for searching, annotating, and exploring over 1,200 biological ontologies.Last updated -106JavaScriptMIT License