Skip to main content
Glama
arctic-cheetah

comp3900_server

Este es el repositorio para probar mi servidor MCP personalizado

Servidor instalador del proyecto COMP3900

comp3900_server.py es un servidor MCP dedicado para el proyecto en https://github.com/arctic-cheetah/COMP3900-Project. Puede:

  • clonar el repositorio fijo en la máquina que ejecuta el servidor MCP;

  • exponer el README del proyecto y lecturas limitadas de archivos del proyecto al LLM;

  • comprobar los requisitos previos, incluido si el Chromium de Playwright es utilizable;

  • instalar el backend, Playwright Chromium y el frontend localmente;

  • construir/iniciar la pila de Docker Compose documentada; o

  • opcionalmente instalar el cliente cloudflared (ver más abajo).

La descarga va a ./COMP3900-Project por defecto. Para usar otra ubicación, establece COMP3900_PROJECT_DIR a un directorio de proyecto explícito.

Instala primero la dependencia de este servidor MCP:

python3 -m pip install -r requirements.txt

Ejecútalo sobre stdio:

mcp run comp3900_server.py:mcp

O ejecútalo directamente:

python3 comp3900_server.py

En un cliente MCP, selecciona el prompt install_comp3900 para un flujo guiado, o llama a setup_project directamente. Ejemplo de argumentos para una instalación local:

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

Para Docker, usa "method": "docker"; establece "start_services": true para ejecutar la pila en segundo plano después de construirla.

Playwright

El motor de obtención de HTML del detector de URL se ejecuta en Playwright, por lo que es un requisito real: backend/pyproject.toml lista playwright, y tanto backend/Dockerfile como operational-install-manual.md ejecutan playwright install --with-deps chromium.

install_browser_system_dependencies ahora tiene como valor predeterminado true para coincidir con ese paso documentado. Se apoya en el gestor de paquetes de la plataforma para las bibliotecas compartidas de Chromium, por lo que en un host donde el servidor no se ejecute ya como root puede solicitar elevación. Establécelo en false si prefieres instalar esas bibliotecas tú mismo. check_prerequisites informa url_detector_ready, que es verdadero solo cuando tanto el módulo de Playwright como su navegador Chromium se resuelven.

cloudflared

install_cloudflared descarga el binario oficial de la versión en <checkout>/.tools/cloudflared e informa su sha256. Está desactivado por defecto en install_project y setup_project; pasa "install_cloudflare_tunnel_client": true para incluirlo.

Dos advertencias que vale la pena conocer:

  • Cloudflare no es una dependencia del proyecto COMP3900. No aparece en ningún lugar del README, el manual de instalación o cualquier manifiesto. Las únicas apariciones en el repositorio son cadenas de dominio como cdnjs.cloudflare.com dentro de los CSV de entrenamiento de ML en backend/ml/data/.

  • El servidor instala solo el cliente. Nunca se autentica con Cloudflare y nunca inicia un túnel, porque ejecutar uno publica un servicio local en la internet pública. Eso sigue siendo un paso humano deliberado.

Instalar en el checkout mantiene la operación sin privilegios: no se ejecuta ningún gestor de paquetes del sistema y no se escribe nada fuera del directorio del proyecto.

Related MCP server: homelab-mcp

Instrucciones

Desde el directorio del proyecto, lanza el Inspector MCP interactivo:

mcp dev server.py

El comando imprime una URL local del Inspector. Ábrela, conéctate, selecciona la herramienta add y proporciona:

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

El resultado debería ser 3.

Para ejecutarlo como un servidor MCP stdio normal para un cliente MCP:

mcp run server.py:mcp

Ejecutar python server.py actualmente sale inmediatamente porque el archivo solo define el servidor. Para soportar ese comando, añade:

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

Luego ejecuta

python3 server.py

Si MCP no está instalado en otra máquina:

python3 -m pip install "mcp[cli]"

Luego

mcp dev server.py

Despliegues:

Esta es la descripción de lo que cambia el bloque de código: Añadir la guía de conexión (opciones STDIO y HTTP) a README.md después del contenido existente.

Este es el bloque de código que representa el cambio de código sugerido:

Conectando a ChatGPT Desktop

Opción 1: Conectar a través de STDIO (recomendado)

Debido a que el servidor actualmente se ejecuta dentro de WSL, completa el formulario de escritorio de la siguiente manera:

  • Nombre: MCP_test

  • Tipo: STDIO

  • Comando para lanzar: wsl.exe

  • Argumentos: añade cada elemento por separado, en este orden:

    --cd
    /home/khalifa/MCP-server
    --exec
    /home/khalifa/pythonPackages/bin/mcp
    run
    server.py:mcp
  • Variables de entorno: déjalas vacías

  • Directorio de trabajo: déjalo vacío

Si se selecciona la distribución WSL incorrecta, inserta estos argumentos primero:

--distribution
Ubuntu

Reemplaza Ubuntu con el nombre informado por:

wsl.exe --list --verbose

Así que efectivamente se ve así:

  • Argumentos: añade cada elemento por separado, en este orden:

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

Guarda el servidor y reinicia la aplicación de escritorio. En un chat, escribe:

/mcp

Deberías ver MCP_test y su herramienta add. Prueba:

Use the MCP_test add tool to add 17 and 25.

La documentación oficial de OpenAI confirma que la aplicación de escritorio soporta tanto procesos STDIO locales como servidores HTTP Streamable. También requiere reiniciar después de guardar la configuración. Documentación de MCP de OpenAI

Opción 2: Ejecutar el servidor sobre HTTP

Detén mcp dev, luego ejecuta:

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

El endpoint MCP predeterminado es:

http://127.0.0.1:8000/mcp

En el formulario de escritorio:

  • Nombre: MCP_test_http

  • Tipo: Streamable HTTP

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

No hay comando de lanzamiento ni argumentos para este modo. El servidor HTTP ya debe estar en ejecución.

Si el puerto 8000 está ocupado, añade esto a server.py:

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

Luego ejecuta:

python3 server.py

Usa esta URL de escritorio:

http://127.0.0.1:8001/mcp

Llamándolo con una solicitud HTTP

MCP es JSON-RPC, no una API REST convencional. Abrir /mcp en la barra de direcciones del navegador no invocará add. Debes inicializar una sesión MCP y luego llamar a la herramienta.

Inicializa:

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

Copia el valor del encabezado de respuesta Mcp-Session-Id. Luego llama a 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}}}"

Para pruebas interactivas basadas en navegador, el Inspector que ya tienes es más fácil que gestionar manualmente la sesión JSON-RPC. El endpoint HTTP está destinado principalmente a clientes MCP como ChatGPT Desktop, Codex o el Inspector, no a la navegación directa del navegador.

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