comp3900_server
Это репозиторий для тестирования моего пользовательского MCP-сервера
Сервер установки проекта COMP3900
comp3900_server.py — это выделенный MCP-сервер для проекта https://github.com/arctic-cheetah/COMP3900-Project. Он может:
клонировать фиксированный репозиторий на машину, где работает MCP-сервер;
предоставлять LLM доступ к README проекта и ограниченное чтение файлов проекта;
проверять предварительные условия, включая работоспособность Chromium от Playwright;
устанавливать локально бэкенд, 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
HTML-движок детектора URL работает на 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 разрешаются.
cloudflared
install_cloudflared загружает официальный бинарный файл релиза в <checkout>/.tools/cloudflared и сообщает его sha256. По умолчанию он отключён в install_project и setup_project; передайте "install_cloudflare_tunnel_client": true, чтобы включить его.
Два важных замечания:
Cloudflare не является зависимостью проекта COMP3900. Он нигде не упоминается ни в README, ни в руководстве по установке, ни в каких-либо манифестах. Единственные вхождения в репозитории — это строки доменов, такие как
cdnjs.cloudflare.com, внутри CSV-файлов для обучения ML вbackend/ml/data/.Сервер устанавливает только клиент. Он никогда не аутентифицируется в Cloudflare и не запускает туннель, потому что запуск туннеля публикует локальный сервис в публичном интернете. Это остаётся осознанным шагом человека.
Установка в каталог проверки (checkout) сохраняет операцию без привилегий: не запускается системный менеджер пакетов и ничего не записывается за пределами каталога проекта.
Related MCP server: homelab-mcp
Инструкции
Из каталога проекта запустите интерактивный MCP Inspector:
mcp dev server.pyКоманда выводит локальный URL Inspector. Откройте его, подключитесь, выберите инструмент add и укажите:
{
"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Развёртывания:
Это описание того, что изменяет блок кода: Добавление руководства по подключению (варианты STDIO и HTTP) в README.md после существующего содержимого.
Это блок кода, представляющий предлагаемое изменение кода:
Подключение к ChatGPT Desktop
Вариант 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 Desktop, 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