Skip to main content
Glama
arctic-cheetah

comp3900_server

Dies ist das Repo zum Testen meines benutzerdefinierten MCP-Servers

COMP3900-Projekt-Installationsserver

comp3900_server.py ist ein dedizierter MCP-Server für das Projekt unter https://github.com/arctic-cheetah/COMP3900-Project. Er kann:

  • das feste Repository auf der Maschine klonen, auf der der MCP-Server läuft;

  • das Projekt-README und begrenzte Projektdatei-Lesezugriffe für das LLM bereitstellen;

  • Voraussetzungen prüfen, einschließlich ob Playwrights Chromium verwendbar ist;

  • das Backend, Playwright Chromium und das Frontend lokal installieren;

  • den dokumentierten Docker-Compose-Stack bauen/starten; oder

  • optional den cloudflared-Client installieren (siehe unten).

Der Download erfolgt standardmäßig nach ./COMP3900-Project. Um einen anderen Speicherort zu verwenden, setzen Sie COMP3900_PROJECT_DIR auf ein explizites Projektverzeichnis.

Installieren Sie zuerst die Abhängigkeit dieses MCP-Servers:

python3 -m pip install -r requirements.txt

Führen Sie ihn über stdio aus:

mcp run comp3900_server.py:mcp

Oder starten Sie ihn direkt:

python3 comp3900_server.py

Wählen Sie in einem MCP-Client den Prompt install_comp3900 für einen geführten Workflow, oder rufen Sie setup_project direkt auf. Beispielargumente für eine lokale Installation:

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

Für Docker verwenden Sie "method": "docker"; setzen Sie "start_services": true, um den Stack nach dem Bauen im Hintergrund auszuführen.

Playwright

Die HTML-Abruf-Engine des URL-Detektors läuft auf Playwright, daher ist es eine echte Anforderung: backend/pyproject.toml listet playwright auf, und sowohl backend/Dockerfile als auch operational-install-manual.md führen playwright install --with-deps chromium aus.

install_browser_system_dependencies ist jetzt standardmäßig true, um diesem dokumentierten Schritt zu entsprechen. Es ruft den Plattform-Paketmanager für die gemeinsamen Bibliotheken von Chromium auf, daher kann es auf einem Host, auf dem der Server nicht bereits als root läuft, eine Aufforderung zur Erhöhung der Rechte auslösen. Setzen Sie es auf false, wenn Sie diese Bibliotheken lieber selbst installieren möchten. check_prerequisites meldet url_detector_ready, was nur dann wahr ist, wenn sowohl das Playwright-Modul als auch sein Chromium-Browser aufgelöst werden.

cloudflared

install_cloudflared lädt das offizielle Release-Binary in <checkout>/.tools/cloudflared herunter und meldet dessen sha256. Es ist standardmäßig in install_project und setup_project deaktiviert; übergeben Sie "install_cloudflare_tunnel_client": true, um es einzuschließen.

Zwei Hinweise, die man kennen sollte:

  • Cloudflare ist keine Abhängigkeit des COMP3900-Projekts. Es erscheint nirgendwo im README, im Installationshandbuch oder in einem Manifest. Die einzigen Vorkommen im Repository sind Domain-Strings wie cdnjs.cloudflare.com in den ML-Trainings-CSVs unter backend/ml/data/.

  • Der Server installiert nur den Client. Er authentifiziert sich nie bei Cloudflare und startet nie einen Tunnel, da das Ausführen eines Tunnels einen lokalen Dienst im öffentlichen Internet veröffentlicht. Das bleibt ein bewusster menschlicher Schritt.

Die Installation in das Checkout hält den Vorgang ohne Privilegien: Es läuft kein Systempaketmanager und nichts wird außerhalb des Projektverzeichnisses geschrieben.

Related MCP server: homelab-mcp

Anweisungen

Starten Sie aus dem Projektverzeichnis den interaktiven MCP Inspector:

mcp dev server.py

Der Befehl gibt eine lokale Inspector-URL aus. Öffnen Sie sie, verbinden Sie sich, wählen Sie das Add-Tool und geben Sie Folgendes an:

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

Das Ergebnis sollte 3 sein.

Um es als normalen stdio-MCP-Server für einen MCP-Client auszuführen:

mcp run server.py:mcp

Das Ausführen von Python server.py beendet sich derzeit sofort, da die Datei nur den Server definiert. Um diesen Befehl zu unterstützen, fügen Sie Folgendes hinzu:

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

Dann führen Sie aus

python3 server.py

Wenn MCP auf einer anderen Maschine nicht installiert ist:

python3 -m pip install "mcp[cli]"

Dann

mcp dev server.py

Bereitstellungen:

Dies ist die Beschreibung der Codeblock-Änderungen: Hinzufügen des Verbindungsleitfadens (STDIO- und HTTP-Optionen) zu README.md nach dem vorhandenen Inhalt.

Dies ist der Codeblock, der die vorgeschlagene Codeänderung darstellt:

Verbindung mit ChatGPT Desktop

Option 1: Verbindung über STDIO (empfohlen)

Da der Server derzeit in WSL läuft, füllen Sie das Desktop-Formular wie folgt aus:

  • Name: MCP_test

  • Typ: STDIO

  • Startbefehl: wsl.exe

  • Argumente: fügen Sie jedes Element separat in dieser Reihenfolge hinzu:

    --cd
    /home/khalifa/MCP-server
    --exec
    /home/khalifa/pythonPackages/bin/mcp
    run
    server.py:mcp
  • Umgebungsvariablen: leer lassen

  • Arbeitsverzeichnis: leer lassen

Wenn die falsche WSL-Distribution ausgewählt ist, fügen Sie diese Argumente zuerst ein:

--distribution
Ubuntu

Ersetzen Sie Ubuntu durch den Namen, der von Folgendem gemeldet wird:

wsl.exe --list --verbose

Effektiv sieht es also so aus:

  • Argumente: fügen Sie jedes Element separat in dieser Reihenfolge hinzu:

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

Speichern Sie den Server und starten Sie die Desktop-App neu. Geben Sie in einem Chat ein:

/mcp

Sie sollten MCP_test und sein add-Tool sehen. Versuchen Sie:

Use the MCP_test add tool to add 17 and 25.

Die offizielle OpenAI-Dokumentation bestätigt, dass die Desktop-App sowohl lokale STDIO-Prozesse als auch Streamable-HTTP-Server unterstützt. Außerdem ist ein Neustart nach dem Speichern der Konfiguration erforderlich. OpenAI-MCP-Dokumentation

Option 2: Server über HTTP ausführen

Stoppen Sie mcp dev und führen Sie dann aus:

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

Der Standard-MCP-Endpunkt ist:

http://127.0.0.1:8000/mcp

Im Desktop-Formular:

  • Name: MCP_test_http

  • Typ: Streamable HTTP

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

Für diesen Modus gibt es keinen Startbefehl oder Argumente. Der HTTP-Server muss bereits laufen.

Wenn Port 8000 belegt ist, fügen Sie dies zu server.py hinzu:

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

Dann führen Sie aus:

python3 server.py

Verwenden Sie diese Desktop-URL:

http://127.0.0.1:8001/mcp

Aufruf mit einer HTTP-Anfrage

MCP ist JSON-RPC, keine herkömmliche REST-API. Das Öffnen von /mcp in der Browser-Adressleiste wird daher add nicht aufrufen. Sie müssen eine MCP-Sitzung initialisieren und dann das Tool aufrufen.

Initialisieren:

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\"}}}"

Kopieren Sie den Wert des Mcp-Session-Id-Antwortheaders. Rufen Sie dann add auf:

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}}}"

Für browserbasiertes interaktives Testen ist der Inspector, den Sie bereits haben, einfacher als die manuelle Verwaltung der JSON-RPC-Sitzung. Der HTTP-Endpunkt ist hauptsächlich für MCP-Clients wie ChatGPT Desktop, Codex oder den Inspector gedacht – nicht für die direkte Browsernavigation.

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