MCP.science

Uma coleção de servidores MCP de código aberto projetados para aplicações de pesquisa científica.

Documentação

MCP.science: Servidores MCP de Código Aberto para Pesquisa Científica 🔍📚

License: MIT

Junte-se a nós para acelerar a descoberta científica com IA e ferramentas de código aberto!

Início Rápido

Executar qualquer servidor neste repositório é tão simples quanto um único comando. Por exemplo, para iniciar o servidor web-fetch:

uvx mcp-science web-fetch

Este comando cuida de tudo, desde a instalação até a execução. Para mais detalhes sobre configuração e como encontrar outros servidores, consulte a seção "Como configurar servidores MCP para aplicativos clientes de IA" abaixo.

Sumário

Sobre

Este repositório contém uma coleção de servidores MCP de código aberto especificamente projetados para aplicações de pesquisa científica. Esses servidores permitem que modelos de IA (como o Claude) interajam com dados, ferramentas e recursos científicos por meio de um protocolo padronizado.

O que é MCP?

MCP é um protocolo aberto que padroniza como aplicações fornecem contexto a LLMs. Pense no MCP como uma porta USB-C para aplicações de IA. Assim como o USB-C fornece uma maneira padronizada de conectar seus dispositivos a vários periféricos e acessórios, o MCP fornece uma maneira padronizada de conectar modelos de IA a diferentes fontes de dados e ferramentas.

O MCP ajuda você a construir agentes e fluxos de trabalho complexos sobre LLMs. LLMs frequentemente precisam integrar dados e ferramentas, e o MCP fornece:

  • Uma lista crescente de integrações pré-construídas nas quais seu LLM pode se conectar diretamente
  • A flexibilidade para alternar entre provedores e fornecedores de LLM
  • Melhores práticas para proteger seus dados dentro da sua infraestrutura

Fonte: https://modelcontextprotocol.io/introduction

Servidores disponíveis neste repositório

Abaixo está uma lista completa dos servidores MCP que vivem neste monorepo. Cada entrada vincula ao subdiretório que contém o código-fonte e o README do servidor, para que você possa encontrar documentação e instruções de uso rapidamente.

Servidor de Exemplo

Um servidor MCP de exemplo que demonstra as peças mínimas necessárias para uma implementação de servidor.

Materials Project

Um servidor MCP especializado que permite que assistentes de IA pesquisem, visualizem e manipulem dados de ciência de materiais do banco de dados Materials Project. É necessária uma chave de API do Materials Project.

Execução de Código Python

Executa trechos de código Python em um ambiente seguro e isolado (sandbox) com acesso restrito à biblioteca padrão, para que assistentes possam realizar análises e cálculos sem arriscar seu sistema.

SSH Exec

Permite que um assistente execute comandos pré-validados em máquinas remotas via SSH com autenticação configurável e listas de permissão de comandos.

Busca na Web

Busca e processa conteúdo HTML, PDF e texto simples da Web para que o assistente possa citá-lo ou resumi-lo.

Busca TXYZ

Realiza buscas na Web, acadêmicas e de “melhor esforço” via API TXYZ. É necessária uma chave de API TXYZ.

Temporizador

Um temporizador regressivo mínimo que transmite atualizações de progresso para demonstrar notificações MCP.

Computação GPAW

Fornece cálculos de teoria do funcional da densidade (DFT) por meio do pacote GPAW.

Jupyter-Act

Permite que um assistente interaja com um kernel Jupyter em execução, executando células de notebook programaticamente.

Mathematica-Check

Avalia pequenos trechos de código Wolfram Language por meio de uma instância headless do Mathematica.

NEMAD

Servidor de Painel de Análise de Modelos de Neurociência que expõe ferramentas para inspecionar conjuntos de dados NEMAD.

TinyDB

Fornece acesso CRUD a um banco de dados JSON leve apoiado pelo TinyDB, para que um assistente possa armazenar e recuperar pequenos pedaços de dados estruturados.

Como configurar servidores MCP para aplicativos clientes de IA

Se você não está familiarizado com essas coisas, aqui está um guia passo a passo para você: Guia passo a passo para configurar servidores MCP para aplicativos clientes de IA

Pré-requisitos

  1. uv — um substituto super-rápido (alimentado por Rust) para pip + virtualenv. Instale-o com:

    curl -sSf https://astral.sh/uv/install.sh | bash
    
  2. Um aplicativo cliente habilitado para MCP, como Claude Desktop, VSCode, Goose, 5ire.

A versão curta – use uvx

Qualquer servidor neste repositório pode ser iniciado com um único comando de shell. O padrão é:

uvx mcp-science <server-name>

Por exemplo, para iniciar o servidor stdio web-fetch localmente, configure o seguinte comando no seu cliente:

uvx mcp-science web-fetch

O que corresponde a isto na configuração JSON do Claude Desktop:

{
  "mcpServers": {
    "web-fetch": {
      "command": "uvx",
      "args": [
        "mcp-science",
        "web-fetch"
      ]
    }
  }
}

O comando baixará o pacote mcp-science do PyPI e executará o entry-point solicitado.

Encontre outros servidores

Dê uma olhada na lista de Servidores disponíveis — cada entrada na tabela funciona com o padrão mostrado acima.


Opcional: gerenciando integrações com MCPM

MCPM é uma ferramenta de linha de comando conveniente que pode automatizar o processo de conectar servidores a clientes suportados. Não é obrigatório, mas pode ser útil se você alterna frequentemente entre clientes ou mantém um grande número de servidores.

O fluxo de trabalho básico é:

# Install mcpm first – it is a separate project
uv pip install mcpm

mcpm client ls           # discover supported clients
mcpm client set <name>   # pick the one you are using

# Add a server (automatically installing it if needed)
mcpm add web-fetch

Após o comando terminar, reinicie seu cliente para que ele recarregue sua configuração de ferramentas. Você pode navegar pelo Registro MCPM para servidores adicionais mantidos pela comunidade.

Como construir seu próprio servidor MCP

Por favor, consulte Como construir seu próprio servidor MCP passo a passo para mais detalhes.

Contribuindo

Recebemos com entusiasmo contribuições para o MCP.science! Você pode ajudar a melhorar os servidores existentes, adicionar novos servidores ou qualquer coisa que você acha que tornará este projeto melhor.

Se você não está familiarizado com o GitHub e como contribuir para um repositório de código aberto, pode ser um pouco desafiador, mas ainda é fácil para você. Recomendamos que você leia estes primeiro:

Em resumo, você pode seguir estes passos:

  1. Faça um fork do repositório para sua própria conta do GitHub

  2. Clone o repositório forkado para sua máquina local

  3. Crie um branch de recurso (git checkout -b feature/amazing-feature)

  4. Faça suas alterações e faça commit delas (git commit -m 'Add amazing feature')

    👈 Clique para ver mais convenções sobre diretório e nomenclatura

    Por favor, crie seu novo servidor na pasta servers. Para criar uma nova pasta de servidor na pasta do repositório, você pode simplesmente executar (substitua your-new-server pelo nome do seu servidor)

    uv init --package --no-workspace servers/your-new-server
    uv add --directory servers/your-new-server mcp
    

    Isso criará uma nova pasta de servidor com os arquivos necessários:

    servers/your-new-server/
    ├── README.md
    ├── pyproject.toml
    └── src
        └── your_new_server
            └── __init__.py
    

    Você pode descobrir que existem 2 nomes relacionados que você pode ver nos arquivos de configuração:

    1. Nome do projeto (com hífen): A pasta, o nome do projeto e o nome do script em pyproject.toml, por exemplo, your-new-server.
    2. Nome do pacote Python (snake_case): A pasta dentro de src/, por exemplo, your_new_server.
  5. Envie para o branch (git push origin feature/amazing-feature)

  6. Abra um Pull Request

Por favor, certifique-se de que seu PR esteja em conformidade com:

  • Mensagens de commit claras
  • Atualizações adequadas de documentação
  • Cobertura de testes para novos recursos

Reconhecimento de Contribuidores em Subrepositórios

Se você quiser reconhecer contribuidores de um servidor/subrepositório específico (por exemplo, servers/gpaw-computation/), você pode usar a CLI All Contributors nesse subdiretório.

Passos:

  1. No seu subrepositório (por exemplo, servers/gpaw-computation/), crie um arquivo .all-contributorsrc (veja exemplo).
  2. Adicione contribuidores usando a CLI:
    npx all-contributors add <github-username> <contribution-type>
    
  3. Gere ou atualize a seção de contribuidores no README.md do subrepositório:
    npx all-contributors generate
    
  4. Faça commit das alterações no README.md e .all-contributorsrc do subrepositório.

Para mais detalhes, consulte o guia de instalação da CLI All Contributors.

Licença

Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

Agradecimentos

Obrigado a todos os contribuidores!

Citação

Para uso geral, por favor cite este repositório conforme descrito no CITATION.cff raiz.

Se você usar um servidor/subprojeto específico, consulte o arquivo CITATION.cff correspondente na pasta desse subprojeto sob servers/ para a citação apropriada.