Skip to main content
Glama
arctic-cheetah

comp3900_server

这是用于测试我的自定义 MCP 服务器的仓库

COMP3900 项目安装器服务器

comp3900_server.py 是专为以下项目提供的 MCP 服务器: https://github.com/arctic-cheetah/COMP3900-Project。它可以:

  • 将固定仓库克隆到运行 MCP 服务器的机器上;

  • 向 LLM 公开项目 README 和有界项目文件读取;

  • 检查先决条件,包括 Playwright 的 Chromium 是否可用;

  • 在本地安装后端、Playwright Chromium 和前端;

  • 构建/启动文档中描述的 Docker Compose 栈;或

  • 可选安装 cloudflared 客户端(见下文)。

默认下载到 ./COMP3900-Project。要使用其他位置,请将 COMP3900_PROJECT_DIR 设置为显式的项目目录。

首先安装此 MCP 服务器的依赖项:

python3 -m pip install -r requirements.txt

通过 stdio 运行它:

mcp run comp3900_server.py:mcp

或直接启动它:

python3 comp3900_server.py

在 MCP 客户端中,选择 install_comp3900 提示以进行引导式工作流,或直接调用 setup_project。本地安装的示例参数:

{
  "method": "local",
  "install_browser": true,
  "install_browser_system_dependencies": true,
  "start_services": false,
  "install_cloudflare_tunnel_client": false
}

对于 Docker,使用 "method": "docker";设置 "start_services": true 以在构建后在后台运行该栈。

Playwright

URL 检测器的 HTML 抓取引擎运行在 Playwright 上,因此它是一个真正的需求:backend/pyproject.toml 列出了 playwright,并且 backend/Dockerfileoperational-install-manual.md 都运行 playwright install --with-deps chromium

install_browser_system_dependencies 现在默认为 true 以匹配该文档化步骤。它会调用平台包管理器来安装 Chromium 的共享库,因此在服务器尚未以 root 身份运行的主机上,它可能会提示提升权限。如果您更愿意自己安装这些库,请将其设置为 falsecheck_prerequisites 报告 url_detector_ready,该值仅在 Playwright 模块及其 Chromium 浏览器都能解析时才为 true。

cloudflared

install_cloudflared 将官方发布二进制文件下载到 <checkout>/.tools/cloudflared 并报告其 sha256。它在 install_projectsetup_project 中默认关闭;传入 "install_cloudflare_tunnel_client": true 以包含它。

有两个值得了解的注意事项:

  • Cloudflare 不是 COMP3900 项目的依赖项。它在 README、安装手册或任何清单中都没有出现。仓库中唯一的出现是 backend/ml/data/ 下 ML 训练 CSV 中的域名字符串,如 cdnjs.cloudflare.com

  • 服务器只安装客户端。它从不向 Cloudflare 进行身份验证,也从不启动隧道,因为运行隧道会将本地服务发布到公共互联网上。这仍然是一个有意留给人工执行的步骤。

安装到检出目录中可保持操作无需特权:不运行系统包管理器,也不会在项目目录之外写入任何内容。

Related MCP server: homelab-mcp

说明

从项目目录启动交互式 MCP Inspector:

mcp dev server.py

该命令会打印一个本地 Inspector URL。打开它,连接,选择添加工具,并提供:

{
  "a": 1,
  "b": 2
}

结果应为 3。

要将其作为普通的 stdio MCP 服务器运行以供 MCP 客户端使用:

mcp run server.py:mcp

直接运行 python server.py 目前会立即退出,因为该文件只定义了服务器。要支持该命令,请追加:

if __name__ == "__main__":
    mcp.run()

然后运行

python3 server.py

如果另一台机器上未安装 MCP:

python3 -m pip install "mcp[cli]"

然后

mcp dev server.py

部署:

这是代码块更改的描述: 在 README.md 的现有内容之后添加连接指南(STDIO 和 HTTP 选项)。

这是代表建议代码更改的代码块:

连接到 ChatGPT 桌面版

选项 1:通过 STDIO 连接(推荐)

由于服务器当前在 WSL 内运行,请按如下方式填写桌面表单:

  • 名称: MCP_test

  • 类型: STDIO

  • 启动命令: wsl.exe

  • 参数: 按此顺序逐项添加:

    --cd
    /home/khalifa/MCP-server
    --exec
    /home/khalifa/pythonPackages/bin/mcp
    run
    server.py:mcp
  • 环境变量: 留空

  • 工作目录: 留空

如果选择了错误的 WSL 发行版,请先插入这些参数:

--distribution
Ubuntu

Ubuntu 替换为以下命令报告的名称:

wsl.exe --list --verbose

所以实际上看起来像:

  • 参数: 按此顺序逐项添加:

    --distribution
    kali-linux
    --cd
    /home/khalifa/MCP-server
    --exec
    /home/khalifa/pythonPackages/bin/mcp
    run
    server.py:mcp

保存服务器并重启桌面应用。在聊天中输入:

/mcp

您应该会看到 MCP_test 及其 add 工具。尝试:

Use the MCP_test add tool to add 17 and 25.

OpenAI 官方文档确认桌面应用同时支持本地 STDIO 进程和 Streamable HTTP 服务器。它还要求在保存配置后重启。OpenAI MCP 文档

选项 2:通过 HTTP 运行服务器

停止 mcp dev,然后运行:

cd /home/khalifa/MCP-server
mcp run server.py:mcp --transport streamable-http

默认 MCP 端点是:

http://127.0.0.1:8000/mcp

在桌面表单中:

  • 名称: MCP_test_http

  • 类型: Streamable HTTP

  • URL: http://127.0.0.1:8000/mcp

此模式没有启动命令或参数。HTTP 服务器必须已经在运行。

如果端口 8000 被占用,请将以下内容添加到 server.py

if __name__ == "__main__":
    mcp.run(
        transport="streamable-http",
        host="127.0.0.1",
        port=8001,
    )

然后运行:

python3 server.py

使用此桌面 URL:

http://127.0.0.1:8001/mcp

通过 HTTP 请求调用它

MCP 是 JSON-RPC,不是传统的 REST API。因此,在浏览器地址栏中打开 /mcp 不会调用 add。您必须初始化一个 MCP 会话,然后调用该工具。

初始化:

curl.exe -i -N http://127.0.0.1:8000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  --data "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{},\"clientInfo\":{\"name\":\"curl\",\"version\":\"1.0\"}}}"

复制 Mcp-Session-Id 响应头的值。然后调用 add

curl.exe -N http://127.0.0.1:8000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: PASTE_SESSION_ID_HERE" \
  --data "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"add\",\"arguments\":{\"a\":17,\"b\":25}}}"

对于基于浏览器的交互式测试,您已有的 Inspector 比手动管理 JSON-RPC 会话更容易。HTTP 端点主要用于 MCP 客户端,如 ChatGPT 桌面版、Codex 或 Inspector——而不是直接浏览器导航。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables management of homelab infrastructure, including Docker/Podman containers, Ollama AI models, Pi-hole DNS, Unifi networks, and Ansible inventory, with built-in security checks and automated pre-push validation.
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Automates setup of local development environments for Python, Node.js, Flutter, Android, and more on macOS and Linux. Can be used as a standalone CLI or as an MCP server for AI assistant integration.
    10
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables high-level GitHub workflows such as cloning, branching, committing, pushing, creating pull requests and issues, all verified step-by-step via git and gh CLI.

View all related MCP servers

Related MCP Connectors

  • Manage Appwrite projects, databases, auth, storage, functions, and messaging; search Appwrite docs

  • Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arctic-cheetah/MCP-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server