DeskMCP

Puerta de enlace MCP de código abierto para Windows que permite el acceso controlado de ChatGPT a archivos locales y sesiones de terminal, con permisos limitados al espacio de trabajo, escrituras protegidas, procesos propiedad de la sesión y registro de auditoría.

Documentación

DeskMCP — Your desktop. Connected to AI.

CI Latest Release License Platform MCP tools

DeskMCP

DeskMCP es un gateway de políticas MCP de código abierto, local-first, que le da a ChatGPT acceso controlado a archivos locales, sesiones de terminal y la interfaz de escritorio de Windows. Ejecuta la aplicación de políticas en tu computadora, expone una superficie de herramientas MCP estable y se conecta a través de un Túnel de OpenAI mientras mantiene el endpoint MCP local vinculado a 127.0.0.1.

El perfil predeterminado es Solo lectura. El acceso al sistema de archivos está limitado a un espacio de trabajo que eliges localmente, las rutas sensibles se excluyen antes de la búsqueda y las capacidades elevadas de procesos pertenecen a la sesión en lugar de un control arbitrario de PID.

Proyecto personal de código abierto por edmen12.

¿Por qué DeskMCP?

Local-firstEl Gateway y la aplicación de políticas se ejecutan en tu computadora.
Limitado al espacio de trabajoLos perfiles seguros mantienen las herramientas de archivos dentro de la carpeta que seleccionas explícitamente.
Seguro por defectoLa primera ejecución comienza en modo Solo lectura; Control total y Totalmente desbloqueado nunca se guardan.
Fácil de instalarEl instalador autónomo no requiere Node.js, npm, .NET, Git ni una copia del código fuente.

Vista previa del producto

DeskMCP Control Panel

El Panel de control de la bandeja muestra el estado del Gateway/Túnel, el perfil de permisos activo, el espacio de trabajo seleccionado, los enlaces de Agent Desktop, la configuración de inicio de Windows y la configuración del Túnel sin exponer secretos.

Inicio rápido en Windows

DeskMCP Quick Start

  1. Descarga DeskMCP-Setup-<version>.exe desde la última versión de GitHub y ejecútalo.
  2. Elige el espacio de trabajo al que DeskMCP puede acceder.
  3. En OpenAI Platform, crea un Túnel y copia su ID de Túnel y Clave de API de Runtime en la Primera ejecución.
  4. En ChatGPT, abre el plugin DeskMCP existente si ya hay uno. Solo usa Plugins → Nuevo plugin cuando DeskMCP no esté presente.
  5. Para un plugin nuevo, usa Nombre: DeskMCP, Conexión: Túnel, Autenticación: Sin autenticación. Si ChatGPT informa El nombre del conector ya existe, cancela la creación y reutiliza el plugin DeskMCP existente.
  6. Selecciona el Túnel, marca Entiendo y quiero continuar, y luego Escanear herramientas.

Resultado esperado: 27 herramientas de DeskMCP.

La Clave de API de Runtime está protegida con DPAPI de Windows y no se escribe en settings.json. Las escrituras de secretos se verifican mediante una lectura inmediata de DPAPI; la configuración usa reemplazo atómico con una copia de seguridad recuperable. Puedes omitir la configuración del Túnel durante la Primera ejecución y configurarlo más tarde.

Arquitectura

DeskMCP architecture and security boundary

ChatGPT
  ↕ OpenAI Tunnel
DeskMCP Gateway  (127.0.0.1:8765)
  ↕ local policy enforcement
  ├─ DeskMCP backend
  │   ↳ selected workspace
  │   ↳ Gateway-owned process sessions
  ├─ Agent Runtime
  │   ↳ Workspace-bound recoverable Task Rooms
  │   ↳ verified expiring artifacts
  │   ↳ dynamic Streamable HTTP MCP facade
  │   ↳ versioned model-readable Skills
  ├─ Browser Runtime
  │   ↳ DeskMCP-owned Chromium profile / loopback CDP / verified screenshots
  └─ Windows Computer Use backend
      ↳ Microsoft WinApp CLI / UI Automation / screenshot / input

El Túnel proporciona el transporte remoto. El Gateway local verifica la política antes de las mutaciones de sistema de archivos, procesos, uso de computadora, publicación de artefactos, MCP dinámico o Skills. El estado de tareas recuperable permanece local bajo Salas de tareas vinculadas al espacio de trabajo: las ventanas de chat paralelas reciben capacidades de sala opacas separadas por defecto, el listado de tareas requiere la capacidad de sala actual, y un chat interrumpido puede volver a adjuntarse explícitamente por ID de tarea exacto o por un ID de sala descubierto más una etiqueta coincidente. Los artefactos y las versiones instaladas de Skills permanecen locales bajo la raíz de datos de DeskMCP; las Skills exponen instrucciones/recursos al modelo pero nunca ejecutan automáticamente scripts incluidos. Los servidores MCP dinámicos son configurados por el usuario y solo se guardan su configuración no secreta y los nombres de variables de entorno. Windows Computer Use se empaqueta como un backend fijo detrás del esquema MCP estable propio de DeskMCP, por lo que los cambios en el backend no se convierten en cambios de API remotos.

Perfiles de permisos

  • Lectura — predeterminado; lectura, listado, metadatos, búsqueda limitada, descubrimiento de Salas de tareas más inspección de tareas cuando la capacidad de sala actual ya está disponible, inspección/lectura de artefactos, descubrimiento de MCP dinámico en caché y listado/obtención/lectura de Skills instaladas más validación de paquetes locales.
  • Escritura — agrega operaciones protegidas de crear/editar/escribir/mover más creación/re-adjuntar de Salas de tareas y mutación de tareas, publicación/eliminación de artefactos e instalación/activación/reversión de Skills locales del espacio de trabajo.
  • Completo — solo sesión; mantiene el límite del sistema de archivos del espacio de trabajo y agrega sesiones de terminal/procesos, Windows Computer Use, Automatización de navegador aislada, actualización/llamadas en vivo de MCP dinámico y validación/instalación remota de Skills sobre fuentes HTTPS verificadas.
  • Desbloquear (fully-unlocked) — solo sesión; desactiva el espacio de trabajo de DeskMCP, las rutas sensibles y las protecciones de archivos de observación reciente, y también permite la inyección de teclas a nivel de sistema solicitada explícitamente. Las ACL/UAC de Windows y el Escritorio seguro siguen siendo límites del host.

Full y Unlock nunca se guardan. Reiniciar DeskMCP vuelve al último perfil seguro guardado: Lectura o Escritura. Ningún perfil omite las ACL/UAC de Windows ni ninguna política de seguridad del cliente remoto.

Superficie de herramientas

DeskMCP actualmente expone una superficie MCP estable de 27 herramientas:

desktop_policy_status
desktop_read_file
desktop_list_directory
desktop_get_file_info
desktop_search
desktop_create_directory
desktop_write_file
desktop_edit_file
desktop_move_file
desktop_start_process
desktop_read_process
desktop_interact_process
desktop_terminate_process
desktop_ui_windows
desktop_ui_snapshot
desktop_ui_action
desktop_agent_desktop
desktop_task_manage
desktop_artifact_manage
desktop_mcp_manage
desktop_mcp_tool_search
desktop_mcp_tool_inspect
desktop_mcp_tool_call
desktop_skill_manage
desktop_browser_session
desktop_browser_snapshot
desktop_browser_act

Los esquemas permanecen descubribles en todos los perfiles para que la conexión remota se mantenga estable. Descubrible no significa permitido: cada invocación aún se verifica con la política local de DeskMCP antes de poder ejecutarse. La fachada MCP dinámica mantiene los esquemas de herramientas ascendentes arbitrarios detrás de buscar → inspeccionar → llamar en lugar de expandir la lista de herramientas de nivel superior de DeskMCP para cada servidor conectado.

Windows Computer Use es primero Automatización de UI. desktop_ui_snapshot devuelve un computer_observation_id opaco de corta duración; cada desktop_ui_action debe consumir una observación nueva. Cualquier acción invalida las observaciones hermanas para esa ventana, y la entrada física/global también invalida observaciones para otras ventanas porque puede cambiar el estado global del escritorio. Las mutaciones de GUI se serializan en todo el proceso. La captura de pantalla es opcional y limitada antes de devolverse como image/png de MCP; úsala cuando se necesite contexto visual en lugar de pagar el costo de imagen en cada paso. Consulta docs/COMPUTER_USE.md.

En Windows, window_mode controla solo si la consola CMD/PowerShell está oculta o visible. Es independiente de la elevación de privilegios. window_mode: "hidden" sigue siendo el predeterminado para trabajo de agente en segundo plano; usa window_mode: "visible" solo cuando el usuario local deba ver e interactuar con la ventana de consola. Las sesiones visibles toman entrada de teclado interactiva desde su consola de Windows en lugar de desktop_interact_process.

elevation: "admin" usa el broker runas de Windows y siempre depende del flujo normal de aprobación UAC local. Es válido con cualquier modo de ventana: hidden + admin muestra el aviso UAC estándar y, después de la aprobación, ejecuta el proceso de administrador sin una ventana CMD/PowerShell adicional; visible + admin muestra UAC y luego abre la consola de administrador visible. La cancelación o denegación de UAC se devuelve como error; DeskMCP no omite UAC.

Grupo de Agent Desktop en Windows

El Escritorio 1 está reservado para el usuario local. Crea el Escritorio 2 o posterior con Escritorios virtuales de Windows, cambia a cada escritorio que quieras ofrecer a los agentes y luego usa Configuración → Agent Desktop → Vincular actual. Varios escritorios vinculados forman un grupo: cada nuevo arrendamiento de Agent Control recibe el primer escritorio en vivo libre, y los agentes concurrentes no pueden tomar el mismo espacio.

La configuración lista cada escritorio vinculado por separado con su estado actual. Listo significa que el espacio está disponible, Controlando significa que un agente posee el espacio y No disponible significa que el GUID de escritorio virtual de Windows original se eliminó o se convirtió en el Escritorio 1. Los enlaces inactivos o no disponibles se pueden eliminar con Desvincular; un escritorio en control debe salir primero de Agent Control. DeskMCP resuelve el número de escritorio de Windows en vivo desde el GUID de escritorio estable antes de la asignación, por lo que la renumeración normal de escritorios de Windows no desvía un arrendamiento.

Las sesiones de navegador de Agent Desktop pertenecen al arrendamiento de Agent Control en lugar de a una sola llamada de herramienta. El navegador permanece abierto, incluido el estado de página/inicio de sesión, hasta que ese arrendamiento sale, se revoca o su Sala de tareas vinculada se completa. El borde/HUD de seguridad azul se muestra solo en el Agent Desktop controlado que se está viendo actualmente; cambiar de nuevo al Escritorio 1 oculta la superposición sin detener a los agentes que se ejecutan en otros escritorios vinculados.

Modelo de seguridad

  • El Gateway HTTP solo se vincula a 127.0.0.1:8765.
  • En los modos Lectura, Escritura y Completo, el acceso permitido al sistema de archivos se restringe al Workspace seleccionado localmente, y las comprobaciones de rutas léxicas/canónicas bloquean escapes mediante enlaces simbólicos o junctions.
  • Las rutas sensibles como .env, .npmrc, .pypirc, .netrc, .ssh, .gnupg y .aws/credentials están denegadas por defecto, y la búsqueda las excluye antes de que el backend de DeskMCP/ripgrep lea los candidatos.
  • En Lectura/Escritura/Completo, desktop_read_file emite un observation_id opaco de un solo uso. Editar, mover o sobrescribir un archivo existente debe presentar la capacidad nueva coincidente; las capacidades están vinculadas a ruta/versión, son de un solo uso, están limitadas a 1024 entradas, y las mutaciones de la misma ruta se serializan entre instancias de Gateway para que agentes concurrentes no puedan sobrescribirse silenciosamente entre sí desde la misma versión observada.
  • Desbloquear desactiva intencionalmente esas tres protecciones de sistema de archivos de DeskMCP para la sesión actual. La auditoría permanece habilitada y los permisos de cuenta de Windows siguen siendo el límite local final.
  • Las herramientas de procesos usan IDs de sesión opacos propiedad del Gateway en lugar de exponer control arbitrario de PID de Windows. La capacidad cuenta sesiones activas más reservas de inicio en curso, por lo que no pueden haber más de 32 sesiones propias activas/iniciándose a la vez. El propio list_sessions del backend de DeskMCP es la fuente de verdad de sesiones activas (en lugar de suposiciones de liveness basadas en PID del SO); las capacidades de sesiones completadas permanecen legibles en un historial limitado, cualquier reutilización posterior del mismo PID del SO invalida capacidades más antiguas para ese PID, y el apagado del Gateway limpia las sesiones vivas propias.
  • Computer Use expone capacidades window_id opacas en lugar de objetivos HWND/PID. Se requiere un computer_observation_id nuevo para cada acción, las observaciones expiran después de 30 segundos y son de un solo uso, y la primera acción sobre una ventana invalida observaciones hermanas del mismo estado de interfaz. La entrada física/global también invalida observaciones de otras ventanas porque puede mutar el estado global del escritorio.
  • Computer Use está disponible solo en Control Completo de solo sesión o Totalmente Desbloqueado. No omite ACL/UAC de Windows, la pantalla de bloqueo ni el Escritorio Seguro de UAC. La inyección de teclas a nivel de sistema requiere Totalmente Desbloqueado; los llamadores remotos no pueden seleccionar el transporte de teclado post-message de integridad cruzada de WinApp. El modo de fondo de Agent Desktop puede seleccionar internamente un transporte restringido dirigido a ventanas tras la validación de concesión/ventana para no robar el escritorio de primer plano del usuario.
  • Todas las operaciones de GUI comparten un coordinador de todo el proceso, por lo que múltiples clientes MCP no pueden mutar el escritorio de forma concurrente. Se prefieren acciones de UI Automation sobre entrada inyectada; las capturas de pantalla son opcionales, limitadas en tamaño, y los archivos PNG temporales se eliminan tras la captura.
  • Las tareas recuperables se persisten dentro de Task Rooms vinculados al Workspace. Cada sala usa una capacidad opaca cuyo secreto se almacena solo como hash SHA-256 localmente; las llamadas normales de listar/obtener/mutar tareas requieren esa capacidad, por lo que ventanas de chat paralelas no comparten estado de tareas por defecto. La recuperación explícita puede acuñar una capacidad adicional solo desde un ID de tarea exacto o un ID de contexto descubierto exacto más una etiqueta coincidente. Las capacidades de sala también están vinculadas a la huella del Workspace seleccionado. Las mutaciones dentro de una sala permanecen serializadas, y una tarea no puede completarse hasta que todos los pasos declarados estén completos y una revisión final pase con evidencia verificada y sin open_risks ni missing_checks restantes.
  • Los artefactos solo pueden publicarse desde rutas aprobadas por la política de DeskMCP. DeskMCP copia la carga útil en su propia raíz de estado, registra metadatos SHA-256/tamaño, re-verifica la integridad en lecturas, expira artefactos tras un período de retención limitado, y firma las URLs de descarga. Las URLs de artefactos HTTP plano se permiten solo para hosts de loopback; las URLs de artefactos remotas requieren HTTPS y se rechazan credenciales en URLs. Las mutaciones de artefactos están serializadas entre Gateways y el almacén impone un presupuesto total de carga útil limitado.
  • Los servidores MCP dinámicos usan una fachada fija de búsqueda → inspección → llamada. Se rechazan HTTP plano remoto y credenciales incrustadas en URLs; los datos de registro persistidos contienen nombres de variables de entorno en lugar de valores secretos. OAuth admite tanto registro automático de clientes como clientes pre-registrados: estos últimos registran un ID de cliente público más un nombre de variable de entorno para el secreto local del cliente, nunca el secreto en sí. Las llamadas de actualización y upstream en vivo requieren Completo o Desbloqueo. Las mutaciones de registro están serializadas entre instancias de Gateway, los tamaños de servidor/herramienta/esquema/resultado están limitados, y la actualización multi-servidor tiene un plazo total. Esta implementación admite solo Streamable HTTP; stdio no se expone intencionalmente porque lanzar servidores MCP hijos arbitrarios eludiría el límite de procesos propios de DeskMCP.
  • Las Skills son paquetes de instrucciones/recursos legibles por modelos y versionados detrás de la fachada única desktop_skill_manage. Las instalaciones locales deben provenir de una ruta de Workspace aprobada por política; la validación/instalación remota de ZIP requiere Completo o Desbloqueo, HTTPS sin credenciales en URLs, y un SHA-256 proporcionado por el llamador. Los archivos rechazan traversal, enlaces simbólicos, entradas cifradas, rutas inseguras para Windows, expansión sobredimensionada, y conflictos mutables de versión/digest declarados. El contenido instalado se re-verifica contra su manifiesto inmutable antes de leer/activar/revertir/reutilizar. Los scripts/ de Skill son solo recursos y nunca se auto-ejecutan por este subsistema.
  • Browser Automation requiere Completo o Desbloqueo. Configuración → Browser Automation auto-detecta un Edge, Chrome o Chromium local por defecto; Elegir navegador fija un .exe explícito, Limpiar desactiva Browser Automation, y Auto Detectar re-habilita el descubrimiento. DESKTOP_MCP_BROWSER_EXECUTABLE sigue siendo una anulación explícita de desarrollo/entorno solo mientras la auto-detección esté habilitada y no exista una selección local guardada. DeskMCP sigue siendo el único propietario del proceso del navegador a través de ProcessHost/Windows Job Objects y nunca se adjunta a una sesión personal existente de navegador/CDP. El motor de control por defecto es playwright-core sobre un puerto CDP aleatorio solo-loopback; Playwright nunca lanza ni cierra el navegador propiedad de DeskMCP. Las instantáneas de accesibilidad de IA proporcionan refs de elementos con ámbito de observación, incluyendo refs entre marcos como f1e2, y los valores de entrada de contraseña se redactan antes de devolver cualquier dato de instantánea. Las acciones del navegador requieren un browser_observation_id nuevo de un solo uso, rechazan estado de accesibilidad obsoleto, y autorizan como máximo una acción que cambie el estado. Los navegadores de Agent Desktop restringen todo el árbol de procesos propio a la concesión activa. Las subidas permanecen bajo la política de sistema de archivos de DeskMCP; las descargas están autorizadas por observación, se preparan bajo el estado privado de DeskMCP, se verifican en tamaño, se publican a través del almacén de Artefactos verificado, y luego se eliminan del almacenamiento temporal. Los perfiles persistentes tienen bloqueos de propiedad entre Gateways, más un recuento de perfiles limitado y un ciclo de vida explícito de listar/eliminar; los perfiles efímeros se eliminan al cerrar. Las capturas de pantalla del navegador están limitadas en píxeles/bytes antes de la publicación de Artefactos. La observación de consola/red es opt-in explícito: no se almacena historial hasta que se solicita include_console / include_network para esa página, y solo se retiene historial en memoria limitado. Los registros de red exponen método/recurso/estado más una URL sin credenciales, consulta y fragmento; los cuerpos y cabeceras de solicitudes/respuestas nunca se capturan. El texto de consola está limitado y redacta valores estilo Authorization/Cookie/Set-Cookie. DESKTOP_MCP_BROWSER_ENGINE=legacy-cdp es solo una alternativa explícita de migración local; los fallos de Playwright nunca degradan silenciosamente el motor, y las observabilidades/acciones solo de Playwright fallan explícitamente bajo el motor heredado.
  • La auditoría registra solo metadatos; no registra contenidos de archivos, entrada/salida de terminal, cabeceras Authorization, claves API, píxeles de capturas de pantalla, ni IDs reales de procesos/ventanas. Las escrituras y mutaciones de GUI están serializadas dentro de sus respectivos dominios de seguridad, y los registros de auditoría rotan a 10 MB con cuatro copias de seguridad limitadas.

Los informes de seguridad deben usar informe de vulnerabilidad privado de GitHub, no un issue público.

Los datos de usuario viven en:

%APPDATA%\DesktopMCP\settings.json
%LOCALAPPDATA%\DesktopMCP\secrets\tunnel-runtime-key.dpapi
%LOCALAPPDATA%\DesktopMCP\logs\audit.jsonl
%LOCALAPPDATA%\DesktopMCP\workspace\
%LOCALAPPDATA%\DesktopMCP\tasks\
%LOCALAPPDATA%\DesktopMCP\artifacts\
%LOCALAPPDATA%\DesktopMCP\mcp-hub\
%LOCALAPPDATA%\DesktopMCP\skills\
%LOCALAPPDATA%\DesktopMCP\browser\

Estas rutas internas conservan intencionalmente DesktopMCP para compatibilidad de actualización, aunque el nombre público del producto es DeskMCP.

Comportamiento de la bandeja

  • Salir del Panel de Control (Mantener servicios en ejecución) cierra solo la interfaz.
  • Salir de DeskMCP detiene el Gateway y cualquier proceso Tunnel propiedad de este Panel, y luego cierra la interfaz.
  • Los procesos Tunnel gestionados externamente no se eliminan con DeskMCP.

La desinstalación elimina los archivos de programa. Configuración, secretos, registros y el Workspace por defecto se conservan a menos que el usuario elija explícitamente purgar los datos de usuario.

Flujo de trabajo de desarrollo

Los requisitos de usuario final y los requisitos de desarrollo de código fuente están intencionalmente separados.

npm.cmd ci --ignore-scripts
npm.cmd test
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\control-panel\wpf\validate.ps1

Para desarrollo local, control-panel\wpf\launch.cmd compila el Gateway y el Panel de Control .NET 10, y luego inicia la compilación de desarrollo actual.

Compila la versión completa de Windows con:

scripts\build-installer.cmd

La canalización de lanzamiento realiza compilación del Gateway, generación limpia de dist, publicación WPF autocontenida, instalación de dependencias solo de producción, inventario/avisos de licencias de terceros, comprobaciones de procedencia/arquitectura del CLI WinApp fijado, smoke de etapa, validación de 27 herramientas, validación de Instancia Única, comprobaciones de huérfanos/bloqueos, compilación de Setup de marca, generación de integridad SHA-256 de archivos críticos, rollback por fallo inyectado, recuperación de instalación corrupta/interrumpida, smoke de instalar → actualizar → ejecutar → desinstalar, y generación final de metadatos de lanzamiento.

Los artefactos generados viven bajo runtime\release\ ignorado y deben adjuntarse a GitHub Releases en lugar de confirmarse.

Verificación de lanzamiento

Una compilación de lanzamiento completada escribe SHA256SUMS.txt y release-manifest.json junto al instalador final.

Get-FileHash .\runtime\release\DeskMCP-Setup-<version>.exe -Algorithm SHA256

Compara el resultado con SHA256SUMS.txt antes de ejecutar una compilación sin firmar.

Política de firma de código

DeskMCP ha enviado su solicitud al programa de firma de código abierto de SignPath Foundation y está a la espera de aprobación del proyecto. Consulta CODE_SIGNING_POLICY.md para los roles de firma, reglas de procedencia, política de aprobación y modelo de editor fijado.

Pendiente de aprobación del proyecto: Firma de código gratuita proporcionada por SignPath.io, certificado por SignPath Foundation. Ningún lanzamiento se representa como firmado por SignPath hasta que lleve una firma válida del flujo de trabajo de firma aprobado.

La privacidad y el comportamiento de red están documentados en PRIVACY.md.

Limitaciones actuales

  • Los lanzamientos actuales de Windows proporcionan artefactos nativos separados x64 y ARM64. La canalización de lanzamiento de Windows valida el staging de lanzamiento, instalación/actualización, rollback/recuperación, ejecución y desinstalación; los artefactos permanecen sin firmar hasta que se configure una identidad de firma de producción.
  • Un cliente nativo de barra de menú macOS ARM64 y una Vista previa para desarrolladores descargable se validan en CI de Apple Silicon. La vista previa está firmada ad-hoc y no notarizada; un lanzamiento macOS para usuarios generales aún requiere firma de Developer ID, notarización y comprobaciones de paridad de producción. Consulta Vista previa para desarrolladores de macOS.
  • La configuración implementa el flujo de actualización segura controlado por el usuario mediante comprobaciones de lanzamiento de repositorio fijo, metadatos inmutables, verificación local de SHA-256/tamaño, verificación opcional de editor Authenticode, Actualizar ahora de un clic, y verificación de versión/perfil posterior a la instalación. Los lanzamientos sin firmar pueden usar la ruta de actualización verificada después de pasar las comprobaciones de integridad; las firmas inválidas o los desajustes de editor fijado configurado se bloquean.
  • El Setup de Windows de código abierto puede distribuirse sin firmar; Windows aún puede mostrar advertencias de Editor desconocido / SmartScreen hasta que se configure una identidad de firma de lanzamiento.
  • Algunas dependencias transitivas de npm emiten advertencias de deprecación aunque el npm audit de producción actual reporta cero vulnerabilidades.

Hoja de ruta

El trabajo actual de la hoja de ruta se rastrea públicamente con criterios de aceptación explícitos:

Apoya a DeskMCP

DeskMCP es gratuito y de código abierto. Si te ahorra tiempo y deseas apoyar el mantenimiento continuo, puedes patrocinar el proyecto a través de GitHub Sponsors una vez que el perfil de edmen12 Sponsors sea aprobado.

El patrocinio es totalmente opcional y nunca cambia el acceso a DeskMCP, la disponibilidad de funciones, el tratamiento de seguridad ni la prioridad de soporte. El botón de financiación del repositorio está configurado en .github/FUNDING.yml.

Soporte

Comienza con docs/TROUBLESHOOTING.md. Para errores reproducibles, solicitudes de funciones e informes de seguridad privados, consulta SUPPORT.md. Nunca publiques claves de runtime de Tunnel, claves de API ni contenidos de archivos privados en un problema público.

Archivos del proyecto

Licencia

DeskMCP está licenciado bajo la Apache License 2.0. Consulta LICENSE.

Los componentes de terceros conservan sus propias licencias; consulta THIRD_PARTY_NOTICES.md y los archivos de licencia incluidos con el lanzamiento.


Construido como un proyecto personal de código abierto por edmen12.