Biomart MCP
Un servidor MCP para interactuar con Biomart
El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que estandariza cómo las aplicaciones proporcionan contexto a los LLM desarrollados por Anthropic . Aquí utilizamos el SDK de Python de MCP para crear un servidor MCP que interactúa con Biomart mediante el paquete pybiomart .

Hay un breve vídeo de demostración que muestra el servidor MCP en acción en Claude Desktop.
Instalación
Instalación mediante herrería
Para instalar Biomart MCP para Claude Desktop automáticamente a través de Smithery :
Clonar el repositorio
Escritorio de Claude
Cursor
Mediante el modo agente de Cusror, otros modelos también pueden aprovechar los servidores MCP, como los de OpenAI o DeepSeek. Haga clic en el engranaje de configuración del cursor, navegue a MCP y agregue el servidor MCP a la configuración global o al alcance del proyecto añadiendo .cursor/mcp.json al proyecto.
Ejemplo .cursor/mcp.json :
Glamour
Desarrollo
Related MCP server: MCP TapData Server
Características
Biomart-MCP proporciona varias herramientas para interactuar con las bases de datos de Biomart:
Descubrimiento de marts y conjuntos de datos : enumera marts y conjuntos de datos disponibles para explorar la estructura de la base de datos Biomart
Exploración de atributos y filtros : vea atributos y filtros comunes o todos los disponibles para conjuntos de datos específicos
Recuperación de datos : consulte Biomart con atributos y filtros específicos para obtener datos biológicos
Traducción de ID : Convierte entre diferentes identificadores biológicos (por ejemplo, símbolos genéticos a ID de Ensembl)
Contribuyendo
¡Aceptamos solicitudes de incorporación de cambios! Algunos apuntes sobre el desarrollo:
Solo usamos
@mcp.tool()aquí por diseño, esto es para maximizar la compatibilidad con los clientes que admiten MCP como se ve en la documentación .Estamos usando
@lru_cachepara almacenar en caché los resultados de funciones que son computacionalmente costosas o realizan llamadas API externas.Debemos tener cuidado de no sobrecargar la ventana de contexto del modelo. Por ejemplo, verá
df.to_csv(index=False).replace("\r", "")en muchos lugares. Este retorno de estilo csv es mucho más eficiente en cuanto a tokens que algo comodf.to_string(), donde la mayoría de los tokens son espacios en blanco. También tenga en cuenta que extraer todos los genes de un cromosoma o una solicitud similar de gran tamaño también será demasiado grande para la ventana de contexto.
Posibles características futuras
Por supuesto, se podrían añadir muchas más funciones, algunas de las cuales quizá no estén incluidas en el nombre biomart-mcp . Aquí tienes algunas ideas:
Agregue raspado web para sitios de recursos con
bs4, por ejemplo, obtuvimos el ID del gen Ensembl para NOTCH1, luego tal vez en algunos casos sería útil obtener losComments and Description Text from UniProtKBde su página en UCSC$...$