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/Dockerfile 和 operational-install-manual.md 都运行 playwright install --with-deps chromium。
install_browser_system_dependencies 现在默认为 true 以匹配该文档化步骤。它会调用平台包管理器来安装 Chromium 的共享库,因此在服务器尚未以 root 身份运行的主机上,它可能会提示提升权限。如果您更愿意自己安装这些库,请将其设置为 false。check_prerequisites 报告 url_detector_ready,该值仅在 Playwright 模块及其 Chromium 浏览器都能解析时才为 true。
cloudflared
install_cloudflared 将官方发布二进制文件下载到 <checkout>/.tools/cloudflared 并报告其 sha256。它在 install_project 和 setup_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——而不是直接浏览器导航。
This server cannot be installed
Maintenance
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
- AlicenseBqualityDmaintenanceEnables execution of terminal commands, git operations, and automated setup of React, Vue, and Next.js projects with VSCode integration.744MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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.1MIT
- AlicenseBqualityDmaintenanceAutomates 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.10MIT
- FlicenseNot gradedqualityDmaintenanceEnables 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.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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