Unofficial Human Protein Atlas MCP Server
Acesse dados do Atlas de Proteínas Humanas, incluindo expressão proteica, localização e patologia.
Documentação

Servidor MCP Não Oficial do Human Protein Atlas
Um servidor abrangente do Model Context Protocol (MCP) para acessar dados do Human Protein Atlas, fornecendo informações sobre expressão de proteínas, localização subcelular, patologia e muito mais.
Visão Geral
O Servidor MCP do Human Protein Atlas permite acesso contínuo ao vasto repositório de dados de proteínas do Human Protein Atlas (https://www.proteinatlas.org). Este servidor fornece ferramentas e recursos para:
- Pesquisa e Informações de Proteínas: Pesquise proteínas por nome, símbolo do gene ou descrição
- Expressão em Tecidos: Acesse perfis de expressão específicos de tecidos
- Localização Subcelular: Recupere dados de localização de proteínas
- Dados de Patologia: Acesse informações de proteínas relacionadas ao câncer
- Expressão Sanguínea e Cerebral: Dados de expressão especializados para células sanguíneas e regiões do cérebro
- Informações de Anticorpos: Dados de validação e coloração de anticorpos
- Processamento em Lote: Consulta eficiente de múltiplas proteínas
- Pesquisa Avançada: Consultas complexas com múltiplos filtros
Recursos
Capacidades Principais
- 🔍 Pesquisa Abrangente: Encontre proteínas usando vários identificadores e palavras-chave
- 🧬 Dados Multimodais: Acesse informações de expressão, localização e patologia
- 🩸 Atlas Especializados: Integração de dados do Blood Atlas e do Brain Atlas
- 📊 Processamento em Lote: Tratamento eficiente de múltiplas consultas de proteínas
- 🔬 Dados de Nível de Pesquisa: Informações de proteínas de alta qualidade e revisadas por pares
- ⚡ Resposta Rápida: Otimizado para recuperação rápida de dados
Tipos de Dados Disponíveis
-
Informações Básicas de Proteínas
- Símbolos de genes e IDs Ensembl
- Descrições e classificações de proteínas
- Referências cruzadas UniProt
-
Dados de Expressão
- Expressão de RNA específica de tecidos
- Perfis de expressão de células sanguíneas
- Dados de expressão de regiões do cérebro
- Informações de expressão de células únicas
-
Localização Subcelular
- Padrões de localização de proteínas
- Pontuações de confiabilidade
- Dados de imunofluorescência
-
Informações de Patologia
- Marcadores prognósticos de câncer
- Associações com doenças
- Alvos terapêuticos
-
Dados de Anticorpos
- Informações de validação de anticorpos
- Padrões de coloração
- Avaliações de confiabilidade
Instalação
Pré-requisitos
- Node.js 18 ou superior
- Gerenciador de pacotes npm ou yarn
Configuração
-
Clone ou baixe o código do servidor
-
Instale as dependências:
cd proteinatlas-server npm install -
Compile o servidor:
npm run build -
O servidor está pronto para uso!
Uso
Linha de Comando
Execute o servidor diretamente:
npm start
# or
node build/index.js
Integração com Cliente MCP
Adicione à configuração do seu cliente MCP:
{
"mcpServers": {
"proteinatlas": {
"command": "node",
"args": ["/path/to/proteinatlas-server/build/index.js"]
}
}
}
Ferramentas Disponíveis
Pesquisa Básica e Recuperação
search_proteins
Pesquise no Human Protein Atlas por proteínas usando nome, símbolo do gene ou descrição.
Parâmetros:
query(obrigatório): Consulta de pesquisa (nome do gene, nome da proteína ou palavra-chave)format: Formato de saída (json, tsv) - padrão: jsoncolumns: Colunas específicas para incluir nos resultadosmaxResults: Número máximo de resultados (1-10000) - padrão: 100compress: Se deve comprimir a resposta - padrão: false
Exemplo:
{
"query": "BRCA1",
"format": "json",
"maxResults": 10
}
get_protein_info
Obtenha informações detalhadas para uma proteína específica pelo símbolo do gene.
Parâmetros:
gene(obrigatório): Símbolo do gene (ex.: BRCA1, TP53)format: Formato de saída (json, tsv, xml, trig) - padrão: json
get_protein_by_ensembl
Obtenha informações de proteínas usando o ID do gene Ensembl.
Parâmetros:
ensemblId(obrigatório): ID do gene Ensembl (ex.: ENSG00000139618)format: Formato de saída (json, tsv, xml, trig) - padrão: json
Análise de Expressão
get_tissue_expression
Obtenha dados de expressão específicos de tecidos para uma proteína.
Parâmetros:
gene(obrigatório): Símbolo do geneformat: Formato de saída (json, tsv) - padrão: json
search_by_tissue
Encontre proteínas altamente expressas em tecidos específicos.
Parâmetros:
tissue(obrigatório): Nome do tecido (ex.: fígado, cérebro, coração)expressionLevel: Filtro de nível de expressão (alta, média, baixa, não detectada)format: Formato de saída (json, tsv) - padrão: jsonmaxResults: Número máximo de resultados (1-10000) - padrão: 100
get_blood_expression
Obtenha dados de expressão de células sanguíneas para uma proteína.
get_brain_expression
Obtenha dados de expressão de regiões do cérebro para uma proteína.
Localização Subcelular
get_subcellular_location
Obtenha dados de localização subcelular para uma proteína.
search_by_subcellular_location
Encontre proteínas localizadas em compartimentos subcelulares específicos.
Parâmetros:
location(obrigatório): Localização subcelular (ex.: núcleo, mitocôndria, citosol)reliability: Filtro de confiabilidade (aprovado, aprimorado, suportado, incerto)format: Formato de saída (json, tsv) - padrão: jsonmaxResults: Número máximo de resultados (1-10000) - padrão: 100
Patologia e Câncer
get_pathology_data
Obtenha dados de câncer e patologia para uma proteína.
search_cancer_markers
Encontre proteínas associadas a cânceres específicos ou com valor prognóstico.
Parâmetros:
cancer: Tipo de câncer (ex.: câncer de mama, câncer de pulmão)prognostic: Filtro prognóstico (favorável, desfavorável)format: Formato de saída (json, tsv) - padrão: jsonmaxResults: Número máximo de resultados (1-10000) - padrão: 100
Recursos Avançados
advanced_search
Realize pesquisa avançada com múltiplos filtros e critérios.
Parâmetros:
query: Consulta de pesquisa basetissueSpecific: Filtro de expressão específica de tecidossubcellularLocation: Filtro de localização subcelularcancerPrognostic: Filtro prognóstico de câncerproteinClass: Filtro de classe de proteínachromosome: Filtro de cromossomoantibodyReliability: Filtro de confiabilidade de anticorposformat: Formato de saída (json, tsv) - padrão: jsoncolumns: Colunas específicas para incluir nos resultadosmaxResults: Número máximo de resultados (1-10000) - padrão: 100
batch_protein_lookup
Consulte múltiplas proteínas simultaneamente.
Parâmetros:
genes(obrigatório): Matriz de símbolos de genes (máx. 100)format: Formato de saída (json, tsv) - padrão: jsoncolumns: Colunas específicas para incluir nos resultados
compare_expression_profiles
Compare perfis de expressão entre múltiplas proteínas.
Parâmetros:
genes(obrigatório): Matriz de símbolos de genes para comparar (2-10)expressionType: Tipo de dados de expressão (tissue, brain, blood, single_cell) - padrão: tissueformat: Formato de saída (json, tsv) - padrão: json
Recursos Disponíveis
O servidor fornece vários modelos de recursos para acesso direto a dados:
Modelos de Recursos
hpa://protein/{gene}: Dados completos do atlas de proteínas para um símbolo de genehpa://ensembl/{ensemblId}: Dados completos do atlas de proteínas para um ID de gene Ensemblhpa://tissue/{gene}: Dados de expressão específicos de tecidos para um genehpa://subcellular/{gene}: Informações de localização subcelular para um genehpa://pathology/{gene}: Dados de câncer e patologia para um genehpa://blood/{gene}: Dados de expressão de células sanguíneas para um genehpa://brain/{gene}: Dados de expressão de regiões do cérebro para um genehpa://antibody/{gene}: Informações de validação e coloração de anticorpos para um genehpa://search/{query}: Resultados de pesquisa para proteínas que correspondem à consulta
Exemplo de Acesso a Recursos
// Access tissue expression data for BRCA1
const resource = await client.readResource("hpa://tissue/BRCA1");
// Search for insulin-related proteins
const searchResults = await client.readResource("hpa://search/insulin");
Fontes de Dados
Este servidor acessa dados de:
- Human Protein Atlas: Banco de dados principal do atlas de proteínas
- Tissue Atlas: Dados de expressão de tecidos normais
- Blood Atlas: Perfis de expressão de células sanguíneas
- Brain Atlas: Dados de expressão de regiões do cérebro
- Pathology Atlas: Dados de proteínas relacionadas ao câncer
- Cell Atlas: Informações de expressão de células únicas
Limitação de Taxa e Boas Práticas
- O servidor implementa limitação de taxa apropriada para respeitar a API do Human Protein Atlas
- Para operações em lote, considere dividir solicitações grandes em partes menores
- Use seleções de colunas específicas para reduzir o tamanho da resposta quando possível
- Armazene em cache dados acessados com frequência quando apropriado
Tratamento de Erros
O servidor fornece tratamento abrangente de erros:
- Parâmetros Inválidos: Mensagens de erro claras para entrada incorreta
- Problemas de Rede: Lógica de nova tentativa para falhas transitórias
- Erros de Formato de Dados: Tratamento gracioso de formatos de resposta inesperados
- Limitação de Taxa: Estratégias de backoff apropriadas
Exemplos
Consulta Básica de Proteínas
// Search for BRCA1 protein
const result = await callTool("search_proteins", {
query: "BRCA1",
format: "json",
});
Análise de Expressão em Tecidos
// Get tissue expression for multiple genes
const comparison = await callTool("compare_expression_profiles", {
genes: ["BRCA1", "BRCA2", "TP53"],
expressionType: "tissue",
});
Pesquisa de Câncer
// Find breast cancer prognostic markers
const markers = await callTool("search_cancer_markers", {
cancer: "breast cancer",
prognostic: "unfavorable",
maxResults: 50,
});
Processamento em Lote
// Look up multiple proteins at once
const batchResult = await callTool("batch_protein_lookup", {
genes: ["BRCA1", "BRCA2", "TP53", "EGFR", "MYC"],
format: "json",
});
Desenvolvimento
Compilação a partir do Código Fonte
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev
Testes
# Run the server
npm start
# Test with MCP client or direct stdio communication
Contribuições
Contribuições são bem-vindas! Por favor, garanta:
- O código segue as melhores práticas de TypeScript
- O tratamento de erros é abrangente
- A documentação é atualizada para novos recursos
- Testes são incluídos para novas funcionalidades
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
Suporte
Para problemas e perguntas:
- Consulte a documentação do Human Protein Atlas: https://www.proteinatlas.org/about/help
- Revise a especificação do MCP: https://modelcontextprotocol.io/
- Envie problemas pelo repositório do projeto
Agradecimentos
- Equipe do Human Protein Atlas por fornecer o banco de dados abrangente de proteínas
- Comunidade do Model Context Protocol pelo framework de comunicação padronizado
- Comunidades de TypeScript e Node.js pelas ferramentas de desenvolvimento
Este servidor fornece acesso programático aos dados do Human Protein Atlas para fins de pesquisa e educacionais. Por favor, cite as fontes apropriadas ao usar estes dados em publicações.
Citação
Se você usar este projeto em sua pesquisa ou publicações, cite-o da seguinte forma:
author = {Moudather Chelbi},
title = {Human Protein Atlas MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/ProteinAtlas-MCP-Server/},
note = {Accessed: 2025-06-29}