Jupyter Notebook MCP Server
Interaja com notebooks Jupyter, permitindo execução de código, manipulação de células e gerenciamento de notebooks.
Documentação
Servidor MCP de Jupyter Notebook
Um servidor FastMCP que fornece ferramentas para interagir com Jupyter notebooks. Construído usando o framework FastMCP.
Recursos
- ✅ Ler células de notebooks com filtragem
- ✅ Adicionar novas células em qualquer posição
- ✅ Executar células individuais
- ✅ Executar notebooks inteiros
- ✅ Obter metadados e estatísticas do notebook
- ✅ Tratamento adequado de erros e validação
- ✅ Relatório de progresso para operações longas
- ✅ Registro abrangente via Contexto FastMCP
Integração com seu Cliente MCP
Certifique-se de que o uv esteja instalado. Para usar este servidor com cursor, claude desktop ou qualquer outro cliente MCP, adicione o seguinte ao seu arquivo de configuração mcp:
{
"mcpServers": {
"jupyter-notebook": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp>=2.8.1",
"python",
"<absolute_path_to_jupyter_mcp_server>/main.py"
]
}
}
}
Testes
Execute o cliente de teste para ver toda a funcionalidade em ação:
python test_client.py
Notas de Segurança
- A execução de células executa código Python diretamente via subprocesso
- Execute apenas notebooks de fontes confiáveis
- Considere executar em um ambiente isolado para uso em produção
- Os controles de tempo limite ajudam a prevenir execuções descontroladas
Dependências
fastmcp- framework do servidor MCP
Ferramentas
Este servidor MCP fornece as seguintes ferramentas para trabalhar com Jupyter notebooks:
📖 read_notebook_cells
Ler células de um Jupyter notebook com filtragem opcional por tipo de célula.
Parâmetros:
notebook_path(str): Caminho para o arquivo .ipynbcell_type(str opcional): Filtrar por tipo de célula ('code', 'markdown', 'raw')
➕ add_cell_to_notebook
Adicionar uma nova célula a um Jupyter notebook em uma posição especificada.
Parâmetros:
notebook_path(str): Caminho para o arquivo .ipynbcell_content(str): Conteúdo da nova célulacell_type(str, padrão="code"): Tipo de célula ('code', 'markdown', 'raw')position(int opcional): Posição para inserir a célula (padrão: anexar ao final)metadata(dict opcional): Metadados opcionais da célula
⚡ execute_notebook_cell
Executar uma célula específica em um Jupyter notebook.
Parâmetros:
notebook_path(str): Caminho para o arquivo .ipynbcell_index(int): Índice da célula a ser executada (baseado em 0)kernel_name(str, padrão="python3"): Kernel Jupyter a ser usadotimeout(int, padrão=30): Tempo limite de execução em segundos
🔄 execute_entire_notebook
Executar todas as células de código em um Jupyter notebook sequencialmente.
Parâmetros:
notebook_path(str): Caminho para o arquivo .ipynbkernel_name(str, padrão="python3"): Kernel Jupyter a ser usadotimeout_per_cell(int, padrão=30): Tempo limite por célula em segundosstop_on_error(bool, padrão=True): Se deve parar a execução se uma célula falhar
📊 get_notebook_info
Obter informações básicas sobre um Jupyter notebook.
Parâmetros:
notebook_path(str): Caminho para o arquivo .ipynb