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 проекта и ограниченное чтение файлов проекта;

  • проверять предварительные условия, включая работоспособность 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, а не для прямой навигации в браузере.

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