Token导航 LogoToken导航TokenDH.com
dataeng assessment MCP logo
运维云端未说明官方级别未说明来源级核验

dataeng assessment MCP

MCP Server

一个基于Cursor和MCP服务器的数据工程评估工具,用于完成数据工程任务和SQL查询。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
Jupyter NotebookDockerClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jamesmcm

提供方

jamesmcm

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

与Cursor一起使用的数据工程评估

此仓库涵盖了使用Cursor和MCP服务器来完成一个示例(已弃用) 数据工程评估。

Architecture

先决条件

  • 已安装Docker和Docker Compose
  • Git
  • uv(用于Python环境管理)或替代Python包管理器
  • Node.js和npm(仅用于MCP检查器测试)

Docker设置

启动Docker服务

在您的平台上安装Docker-请参阅https://www.docker.com/get-docker

您可能需要单独安装docker compose,具体取决于您的包管理器。

确保Docker守护进程正在运行,即对于systemd:

systemctl start docker

然后使用以下命令运行提供的Docker镜像:

docker-compose up

请注意,根据您的Docker配置,您可能需要使用sudo来运行上述命令。

首次构建Docker镜像将需要长达20分钟的时间,具体取决于您的CPU速度和互联网连接(它必须安装postgres、numpy等)。

现在,您可以使用以下评估连接到Jupyter Python笔记本http://127.0.0.1:8080然后打开pythonassessment.ipynb文件-密码是“token”。

您必须打开笔记本电脑,以便MCP服务器能够通过连接 jupyter合作。

服务器详细信息

Jupyter服务器将被转发到主机的8080端口 令牌密码为“token”。

postgres服务器将被转发到主机的5432端口,即用户 密码为“postgres”,数据库名称也为“postgres”。

数据库模式

PostgreSQL数据库会自动用示例数据初始化,包括:

  • orders 表(creation_time、order_id、user_id)
  • scheduled_slots 表(货位时间、快递员id)
  • enabling_log 表(creation_time,courier_id,已启用)
  • opening_times 表(store_id,opening_times JSON)
  • unplanned_closure_log 表(store_id、start_time_utc、end_time_utc)
  • city_work_days 表(city_code、work_days位标志)

初始化脚本(init.sql)包含所有SQL问题的示例数据。

MCP和光标设置

jupyter mcp服务器

克隆https://github.com/jamesmcm/jupyter-mcp-server/tree/read_cells

$ git clone git@github.com:jamesmcm/jupyter-mcp-server.git

我使用uv来管理Python环境:

$ uv venv
$ uv pip install -e .
$ uv pip uninstall pycrdt datalayer_pycrdt
$ uv pip install datalayer_pycrdt==0.12.17

然后,您可以直接使用以下命令运行它:

$ uv run python -m jupyter_mcp_server.server

尽管通常您会使用游标或MCP检查器来运行它。

postgres mcp

对于postgres-mcp,我们可以使用Docker镜像,因为我们不需要 更改代码。

测试MCP服务器

您可以使用MCP检查器来测试MCP服务器。 例如,为了测试jupyter mcp服务器的使用情况:

$ npx @modelcontextprotocol/inspector -e SERVER_URL="http://localhost:8080" -e TOKEN="token" -e NOTEBOOK_PATH="python_assessment.ipynb" uv run --project $PATH_TO_REPO/jupyter-mcp-server/ python -m jupyter_mcp_server.server

MCP服务器配置

在Cursor中配置MCP服务器,如下所示:

~/.cursor/mcp.json:

{
  "mcpServers": {
    "jupyter": {
      "command": "uv",
      "args": [
        "run",
        "--project",
        "/{PATH_TO_REPO}/jupyter-mcp-server",
        "python",
        "-m",
        "jupyter_mcp_server.server"
      ],
      "env": {
        "SERVER_URL": "http://localhost:8080",
        "TOKEN": "token",
        "NOTEBOOK_PATH": "python_assessment.ipynb"
      }
    },
    "postgres": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DATABASE_URI",
        "crystaldba/postgres-mcp",
        "--access-mode=restricted"
      ],
      "env": {
        "DATABASE_URI": "postgresql://postgres:postgres@localhost:5432/postgres"
      }
    }
  }
}

在Cursor内部,您可以禁用不必要的工具,例如仅保留 execute_query 对于postgres,以及 overwrite_cell_source, execute_cellread_cell 对于Jupyter。

设置验证

  1. 检查Jupyter是否可访问http://127.0.0.1:8080(密码:“token”)
  2. 检查PostgreSQL是否可以在端口5432上访问(例如 psql)
  3. 使用MCP检查器测试MCP服务器连接(可选)
  4. 打开笔记本,通过运行架构检查单元验证您是否可以看到所有数据库表

提示

我将Cursor与claude-sonnet-4和以下提示一起使用:

浏览python_assessment.ipynb笔记本中的每个单元格,并在每个部分中竞争每个问题(Q1…)-使用overwrite_cell_source将您的python解决方案放在每个答案单元格中的“###您的代码在这里”注释之后,并将您的Postgres查询放在每个回答单元格的“--your QUERY在这里”之后。 您可以使用execute_SQL调用执行SQL查询,也可以使用execute_cell执行代码单元格,可以使用overwrite_cell_source设置其源代码,并使用read_cell读取其源代码和现有输出。仅修改答案单元格(代码单元格),不修改问题单元格。 调用任何可用的MCP工具,并首先运行查询,以检查它们是否按预期工作。 尽量只将所需的代码/查询放入答案框和最终答案(例如预期输出)中,但要坚持要求的内容。 使用execute_cell检查Python答案-您可以使用overwrite_cell_source和execute_cell重复修改单元格,直到输出看起来很好。同样,使用execute_SQL检查您的SQL答案。 在解决方案中添加一些推理/工作作为评论。 只使用MCP调用,不要访问本地磁盘。

完整的聊天记录已在 ./cursor_chat_log.md.

在这些结果中,claude-sonnet-4正确回答了11/12个问题,只有Python Q2。Regex解决方案是不正确的——尽管由于城市恰好被检入的顺序,它在单元格中偶然起作用。

截图

Start of Cursor chat

Cursor filled Jupyter cell example

目录标签

目录标签

Jupyter NotebookDockerClaude本地部署数据工程SQL查询Python评估Jupyter笔记本

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP