ClinicalTrials MCP Server
Pesquise e acesse dados de ensaios clínicos do ClinicalTrials.gov.
Documentação
ClinicalTrials MCP Server
🔍 Permita que assistentes de IA pesquisem e acessem dados do ClinicalTrials.gov por meio de uma interface MCP simples.
O ClinicalTrials MCP Server fornece uma ponte entre assistentes de IA e o repositório de ensaios clínicos do ClinicalTrials.gov por meio do Model Context Protocol (MCP). Ele permite que modelos de IA pesquisem ensaios clínicos e acessem seu conteúdo de forma programática.
🤝 Contribua • 📝 Reporte um Bug
✨ Recursos Principais
- 🔎 Pesquisa de Ensaios: Consulte ensaios clínicos com strings de pesquisa personalizadas ou parâmetros de pesquisa avançados ✅
- 🚀 Recuperação Eficiente: Acesso rápido aos metadados dos ensaios ✅
- 📊 Acesso a Metadados: Recupere metadados detalhados de ensaios específicos usando o NCT ID ✅
- 📊 Suporte à Pesquisa: Facilite a pesquisa e análise em ciências da saúde ✅
- 📋 Gerenciamento de CSV: Salve, carregue e liste arquivos CSV com dados de ensaios ✅
- 🗃️ Armazenamento Local: Os ensaios são salvos localmente para acesso mais rápido ✅
- 📊 Estatísticas: Obtenha estatísticas sobre ensaios clínicos ✅
🚀 Início Rápido
Instalando via Smithery
Para instalar o ClinicalTrials Server para Claude Desktop automaticamente via Smithery:
Claude
npx -y @smithery/cli@latest install ClinicalTrials-mcp-server --client claude --config "{}"
Cursor
Cole o seguinte em Configurações → Configurações do Cursor → MCP → Adicionar novo servidor:
- Mac/Linux
npx -y @smithery/cli@latest run ClinicalTrials-mcp-server --client cursor --config "{}"
Windsurf
npx -y @smithery/cli@latest install ClinicalTrials-mcp-server --client windsurf --config "{}"
CLine
npx -y @smithery/cli@latest install ClinicalTrials-mcp-server --client cline --config "{}"
Instalando Manualmente
Instale usando uv:
uv tool install ClinicalTrials-mcp-server
Para desenvolvimento:
# Clone and set up development environment
git clone https://github.com/JackKuo666/ClinicalTrials-MCP-Server.git
cd ClinicalTrials-MCP-Server
# Create and activate virtual environment
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
📊 Uso
Inicie o servidor MCP:
python clinical_trials_server.py
Quando o servidor estiver em execução, você pode usar as ferramentas MCP fornecidas no seu assistente de IA ou aplicação. Aqui estão alguns exemplos de como usar as ferramentas:
Exemplo 1: Pesquise ensaios clínicos usando uma expressão de pesquisa e salve em CSV
result = await mcp.use_tool("search_clinical_trials_and_save_studies_to_csv", {
"search_expr": "COVID-19 vaccine efficacy",
"max_studies": 5
})
print(result)
Exemplo 2: Obtenha estudos por palavra-chave
result = await mcp.use_tool("get_studies_by_keyword", {
"keyword": "diabetes",
"max_studies": 10
})
print(result)
Exemplo 3: Obtenha detalhes completos do estudo para um ensaio específico
result = await mcp.use_tool("get_full_study_details", {
"nct_id": "NCT04280705"
})
print(result)
Exemplo 4: Pesquise e salve estudos com campos personalizados
result = await mcp.use_tool("search_clinical_trials_and_save_studies_to_csv", {
"search_expr": "alzheimer",
"max_studies": 20,
"filename": "alzheimer_studies.csv",
"fields": ["NCT Number", "Study Title", "Brief Summary", "Conditions"]
})
print(result)
Esses exemplos demonstram como usar as principais ferramentas fornecidas pelo ClinicalTrials MCP Server. Ajuste os parâmetros conforme necessário para o seu caso de uso específico.
🛠 Ferramentas MCP
O ClinicalTrials MCP Server fornece as seguintes ferramentas:
search_clinical_trials_and_save_studies_to_csv
Pesquise ensaios clínicos usando uma expressão de pesquisa e salve os resultados em um arquivo CSV.
Parâmetros:
search_expr(str): Expressão de pesquisa (ex.: "Coronavirus+COVID")max_studies(int, opcional): Número máximo de estudos a retornar (padrão: 10)save_csv(bool, opcional): Se deve salvar os resultados como um arquivo CSV (padrão: True)filename(str, opcional): Nome do arquivo CSV a salvar (padrão: corona_fields.csv)fields(list, opcional): Lista de campos a incluir (padrão: NCT Number, Conditions, Study Title, Brief Summary)
Retorna: Representação em string dos resultados da pesquisa
get_full_study_details
Obtenha informações detalhadas sobre um ensaio clínico específico.
Parâmetros:
nct_id(str): O NCT ID do ensaio clínico
Retorna: Representação em string dos detalhes do estudo
get_studies_by_keyword
Obtenha estudos relacionados a uma palavra-chave específica.
Parâmetros:
keyword(str): Palavra-chave para pesquisarmax_studies(int, opcional): Número máximo de estudos a retornar (padrão: 20)save_csv(bool, opcional): Se deve salvar os resultados como um arquivo CSV (padrão: True)filename(str, opcional): Nome do arquivo CSV a salvar (padrão: keyword_results_{keyword}.csv)
Retorna: Representação em string dos estudos
get_study_statistics
Obtenha estatísticas sobre ensaios clínicos.
Parâmetros:
condition(str, opcional): Condição opcional para filtrar
Retorna: Representação em string das estatísticas
get_full_studies_and_save
Obtenha dados completos dos estudos e salve em CSV.
Parâmetros:
search_expr(str): Expressão de pesquisa (ex.: "Coronavirus+COVID")max_studies(int, opcional): Número máximo de estudos a retornar (padrão: 20)filename(str, opcional): Nome do arquivo CSV a salvar (padrão: full_studies.csv)
Retorna: Mensagem indicando que os resultados foram salvos
load_csv_data
Carregue e exiba dados de um arquivo CSV.
Parâmetros:
filename(str): Nome do arquivo CSV a carregar
Retorna: Representação em string dos dados CSV
list_saved_csv_files
Liste todos os arquivos CSV disponíveis no diretório atual.
Retorna: Representação em string dos arquivos CSV disponíveis
🔍 Recursos MCP
O ClinicalTrials MCP Server também fornece os seguintes recursos:
clinicaltrials://corona_fields
Obtenha os dados de corona fields como um recurso.
clinicaltrials://full_studies
Obtenha os dados completos dos estudos como um recurso.
clinicaltrials://csv/{filename}
Obtenha dados de um arquivo CSV específico.
Parâmetros:
filename(str): Nome do arquivo CSV
clinicaltrials://available_files
Obtenha uma lista de todos os arquivos CSV disponíveis.
clinicaltrials://study/{nct_id}
Obtenha um estudo específico pelo NCT ID.
Parâmetros:
nct_id(str): O NCT ID do ensaio clínico
clinicaltrials://condition/{condition}
Obtenha estudos relacionados a uma condição específica.
Parâmetros:
condition(str): A condição a pesquisar
Uso com Claude Desktop
Adicione esta configuração ao seu claude_desktop_config.json:
(Mac OS)
{
"mcpServers": {
"ClinicalTrials": {
"command": "python",
"args": ["-m", "ClinicalTrials-mcp-server"]
}
}
}
(Versão Windows):
{
"mcpServers": {
"ClinicalTrials": {
"command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
"args": [
"-m",
"ClinicalTrials-mcp-server"
]
}
}
}
Usando com Cline
{
"mcpServers": {
"ClinicalTrials": {
"command": "bash",
"args": [
"-c",
"source /home/YOUR/PATH/ClinicalTrials-MCP-Server/.venv/bin/activate && python /home/YOUR/PATH/ClinicalTrials-MCP-Server/clinical_trials_server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
Após reiniciar o Claude Desktop, os seguintes recursos estarão disponíveis:
Pesquisando Ensaios Clínicos
Você pode pedir ao Claude para pesquisar ensaios clínicos usando consultas como:
Can you search for recent clinical trials about diabetes?
A pesquisa retornará informações básicas sobre os ensaios correspondentes, incluindo:
• Título do ensaio
• Número NCT
• Condições
• Resumo breve
Obtendo Detalhes do Ensaio
Depois de ter um NCT ID, você pode solicitar mais detalhes:
Can you show me the details for trial NCT04280705?
Isso retornará:
• Título completo do ensaio
• Condições
• Resumo breve
• Outros detalhes disponíveis
📁 Estrutura do Projeto
clinical_trials_server.py: A implementação principal do servidor MCP usando FastMCPclinical_trials.py: Contém funções auxiliares para interagir com a API do ClinicalTrials.gov
🔧 Dependências
- Python 3.10+
- FastMCP
- pytrials
- pandas
Você pode instalar as dependências necessárias usando:
pip install FastMCP pytrials pandas
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
📄 Licença
Este projeto é licenciado sob a Licença MIT.
⚠️ Aviso Legal
Esta ferramenta é apenas para fins de pesquisa. Respeite os termos de serviço do ClinicalTrials.gov e use esta ferramenta com responsabilidade.