Skip to main content
Glama

Servidor MCP de UniProt

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a la información de las proteínas de UniProt. Este servidor permite a los asistentes de IA obtener información sobre la función y la secuencia de las proteínas directamente de UniProt.

Características

  • Obtenga información sobre proteínas por número de acceso de UniProt

  • Recuperación por lotes de múltiples proteínas

  • Almacenamiento en caché para un mejor rendimiento (TTL de 24 horas)

  • Manejo y registro de errores

  • La información incluye:

    • Nombre de la proteína

    • Descripción de la función

    • Secuencia completa

    • Longitud de la secuencia

    • Organismo

Related MCP server: AI Agent Marketplace Index Search

Inicio rápido

  1. Asegúrese de tener instalado Python 3.10 o superior

  2. Clonar este repositorio:

    git clone https://github.com/TakumiY235/uniprot-mcp-server.git cd uniprot-mcp-server
  3. Instalar dependencias:

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

Configuración

Agregue a su archivo de configuración de Claude Desktop:

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

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

  • Linux: ~/.config/Claude/claude_desktop_config.json

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

Ejemplos de uso

Después de configurar el servidor en Claude Desktop, puede hacer preguntas como:

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

Para consultas por lotes:

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

Referencia de API

Herramientas

  1. get_protein_info

    • Obtener información para una sola proteína

    • Parámetro obligatorio: accession (número de acceso de UniProt)

    • Ejemplo de respuesta:

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

    • Obtenga información para múltiples proteínas

    • Parámetro obligatorio: accessions (matriz de números de acceso de UniProt)

    • Devuelve una matriz de objetos de información de proteínas.

Desarrollo

Configuración del entorno de desarrollo

  1. Clonar el repositorio

  2. Crear un entorno virtual:

    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. Instalar dependencias de desarrollo:

    pip install -e ".[dev]"

Ejecución de pruebas

pytest

Estilo de código

Este proyecto utiliza:

  • Negro para formato de código

  • isort para la clasificación de importaciones

  • flake8 para quitar pelusa

  • mypy para verificación de tipos

  • bandido para controles de seguridad

  • seguridad para comprobaciones de vulnerabilidad de dependencia

Ejecutar todas las comprobaciones:

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

Detalles técnicos

  • Construido con el SDK de Python de MCP

  • Utiliza httpx para solicitudes HTTP asíncronas

  • Implementa almacenamiento en caché con TTL de 24 horas utilizando un caché basado en OrderedDict

  • Maneja la limitación de velocidad y los reintentos

  • Proporciona mensajes de error detallados

Manejo de errores

El servidor gestiona varios escenarios de error:

  • Números de acceso no válidos (404 respuestas)

  • Problemas de conexión de API (errores de red)

  • Limitación de velocidad (429 respuestas)

  • Respuestas mal formadas (errores de análisis de JSON)

  • Gestión de caché (TTL y límites de tamaño)

Contribuyendo

¡Agradecemos tus contribuciones! No dudes en enviar una solicitud de incorporación de cambios. Así es como puedes contribuir:

  1. Bifurcar el repositorio

  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )

  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )

  4. Empujar a la rama ( git push origin feature/amazing-feature )

  5. Abrir una solicitud de extracción

Asegúrese de actualizar las pruebas según corresponda y respetar el estilo de codificación existente.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

  • UniProt por proporcionar la API de datos de proteínas

  • Antrópico para la especificación del Protocolo de Contexto del Modelo

  • Colaboradores que ayudan a mejorar este proyecto

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