nteract MCP服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了一个 MCP 服务器(命名为 nteract),通过暴露笔记本的操作、资源与执行能力,提供给 AI 助手以标准化方式获取上下文、执行代码并获取结果。
  • 主要功能点

    • 会话管理:连接到笔记本会话、断开连接,确保统一的 kernel 与笔记本状态。
    • 内核控制:启动、关闭、中断内核,以及查询内核状态与环境来源。
    • 单元格与代码执行:创建、修改、获取单元格,执行单元格或运行代码,并缓存输出与执行状态。
    • 资源与工具暴露:以 MCP Tool 与 MCP Resource 的方式暴露笔记本内容、状态、房间等信息,供客户端远程查询或操作。
    • 实时同步与状态缓存:对执行结果进行缓存,提供输出、错误信息以及执行状态,便于长时间运行任务的轮询。
    • 通过标准输入输出(stdio)作为传输,支持与多种 MCP 客户端进行对接。
  • 安装步骤

    1. 确保环境中已安装 Python 3.10 及以上版本。
    2. 获取代码并安装所需依赖(如 runtimed、mcp 相关库),可通过项目文档提供的方式进行安装。
    3. 运行服务器:在代码根目录执行 python -m nteract._mcp_server,服务器将通过标准输入输出对外提供 MCP 接口。
    4. 使用 MCP 客户端建立连接:客户端需要知道服务器的启动命令与参数,并通过 JSON-RPC 与之通信。
    5. 客户端配置通常包括 server name、启动命令与参数,以及传输方式(如 stdio)。
  • 服务器配置(用于 MCP 客户端启动与连接的示例信息,JSON 格式) { "server_name": "nteract", "command": "python", "args": ["-m", "nteract._mcp_server"], "transport": "stdio" } 注释:

    • server_name: MCP 服务器在客户端的标识名称,与服务端实现名称一致。
    • command / args: 启动服务器的命令及参数,客户端据此启动并建立 JSON-RPC 通信。
    • transport: 传输模式,此实现基于 stdio(标准输入/输出)。
  • 基本使用方法

    • 启动后,客户端可以通过 MCP 调用工具(如 connect_notebook、create_cell、execute_cell、get_cell、get_all_cells 等)来与笔记本进行交互。
    • 客户端应通过 JSON-RPC 方式发送请求,服务器以相应的 JSON-RPC 响应返回结果或通知状态。
    • 通过资源接口(如 notebook://cells、notebook://status、notebook://rooms)获取笔记本当前状态、单元格信息和房间信息。

服务器信息