nteract MCP服务器
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个 MCP 服务器(命名为 nteract),通过暴露笔记本的操作、资源与执行能力,提供给 AI 助手以标准化方式获取上下文、执行代码并获取结果。
-
主要功能点
- 会话管理:连接到笔记本会话、断开连接,确保统一的 kernel 与笔记本状态。
- 内核控制:启动、关闭、中断内核,以及查询内核状态与环境来源。
- 单元格与代码执行:创建、修改、获取单元格,执行单元格或运行代码,并缓存输出与执行状态。
- 资源与工具暴露:以 MCP Tool 与 MCP Resource 的方式暴露笔记本内容、状态、房间等信息,供客户端远程查询或操作。
- 实时同步与状态缓存:对执行结果进行缓存,提供输出、错误信息以及执行状态,便于长时间运行任务的轮询。
- 通过标准输入输出(stdio)作为传输,支持与多种 MCP 客户端进行对接。
-
安装步骤
- 确保环境中已安装 Python 3.10 及以上版本。
- 获取代码并安装所需依赖(如 runtimed、mcp 相关库),可通过项目文档提供的方式进行安装。
- 运行服务器:在代码根目录执行 python -m nteract._mcp_server,服务器将通过标准输入输出对外提供 MCP 接口。
- 使用 MCP 客户端建立连接:客户端需要知道服务器的启动命令与参数,并通过 JSON-RPC 与之通信。
- 客户端配置通常包括 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)获取笔记本当前状态、单元格信息和房间信息。