ClinicalTrials MCP Server

Pesquise e acesse dados de ensaios clínicos do ClinicalTrials.gov.

Documentação

ClinicalTrials MCP Server

smithery badge

🔍 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 pesquisar
  • max_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 FastMCP
  • clinical_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.