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.txtFühren Sie ihn über stdio aus:
mcp run comp3900_server.py:mcpOder starten Sie ihn direkt:
python3 comp3900_server.pyWä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.comin den ML-Trainings-CSVs unterbackend/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.pyDer 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:mcpDas 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.pyWenn MCP auf einer anderen Maschine nicht installiert ist:
python3 -m pip install "mcp[cli]"Dann
mcp dev server.pyBereitstellungen:
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_testTyp: STDIO
Startbefehl:
wsl.exeArgumente: fügen Sie jedes Element separat in dieser Reihenfolge hinzu:
--cd /home/khalifa/MCP-server --exec /home/khalifa/pythonPackages/bin/mcp run server.py:mcpUmgebungsvariablen: leer lassen
Arbeitsverzeichnis: leer lassen
Wenn die falsche WSL-Distribution ausgewählt ist, fügen Sie diese Argumente zuerst ein:
--distribution
UbuntuErsetzen Sie Ubuntu durch den Namen, der von Folgendem gemeldet wird:
wsl.exe --list --verboseEffektiv 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:
/mcpSie 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-httpDer Standard-MCP-Endpunkt ist:
http://127.0.0.1:8000/mcpIm Desktop-Formular:
Name:
MCP_test_httpTyp: 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.pyVerwenden Sie diese Desktop-URL:
http://127.0.0.1:8001/mcpAufruf 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.
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