presence-mcp

Lanzador de PyPI que expone el modelo de proyecto vivo y la telemetría de resultados del plugin presence de Claude Code como recursos MCP para Claude Desktop, Cursor y Continue.

Documentación

presence-mcp

PyPI Python versions License: Apache 2.0 CI MCP Registry

Lanzador de PyPI que expone el modelo de proyecto vivo de presence y la telemetría de resultados como recursos MCP para Claude Desktop, Cursor, Continue y otros clientes compatibles con MCP.

presence es un plugin de Claude Code. Ya incluye un servidor MCP stdio en lib/cli.py mcp y expone dos recursos de solo lectura por repositorio (consulta Qué obtienes). Este paquete es el adaptador de PyPI que permite que ese servidor aparezca en el Registro MCP oficial y se invoque con un único nombre de comando en cada configuración por cliente, en lugar de una ruta absoluta que varía según la máquina.

El lanzador en sí no habla MCP. Localiza una instalación local de presence y reenvía stdio a python lib/cli.py mcp. Aproximadamente 40 líneas de Python, solo con la biblioteca estándar.

Inicio rápido

pip install presence-mcp

Luego apunta cualquier cliente MCP al comando presence-mcp. Para Claude Desktop, eso es:

{
  "mcpServers": {
    "presence": {
      "command": "presence-mcp"
    }
  }
}

Configuración completa por cliente para Cursor y Continue más abajo. Requiere Python 3.12+ y una instalación local de presence.

Qué obtienes

Dos recursos MCP de solo lectura, uno por cada repositorio en el que hayas trabajado:

URIContenidoTipo MIME
presence://<repo_id>/modelmodel.md vivo (Markdown)text/markdown
presence://<repo_id>/telemetryAfirmaciones recientes de commit / revert / verificación (arreglo JSON)application/json

<repo_id> es un prefijo SHA-256 de 12 caracteres del repositorio. El servidor resuelve el repositorio actual desde el directorio de trabajo del lanzador; consulta Advertencia sobre el directorio de trabajo. Esquema de recursos y detalles del protocolo: docs/mcp.md de presence.

Configuración por cliente

El mismo comando presence-mcp funciona en todos los clientes.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS), o el equivalente en Windows / Linux:

{
  "mcpServers": {
    "presence": {
      "command": "presence-mcp"
    }
  }
}

Cursor

.cursor/mcp.json en la raíz del proyecto, o la configuración global de MCP de Cursor:

{
  "mcpServers": {
    "presence": {
      "command": "presence-mcp"
    }
  }
}

Continue

~/.continue/config.json:

{
  "mcpServers": [
    {
      "name": "presence",
      "command": "presence-mcp"
    }
  ]
}

Verificar la instalación

El lanzador acepta JSON-RPC en stdin. Pegar {"jsonrpc":"2.0","id":1,"method":"initialize"} y presionar Enter debería producir una respuesta initialize. También puedes invocarlo como python -m presence_mcp si un script de consola no es conveniente.

Variables de entorno

VariablePropósito
PRESENCE_MCP_CLIRuta absoluta al lib/cli.py de presence. Anula la búsqueda predeterminada de ~/.claude/plugins/presence/lib/cli.py. Si se establece pero la ruta no existe, el lanzador genera un error en lugar de recurrir a la opción predeterminada, para que los errores tipográficos se hagan evidentes.
PRESENCE_MCP_PYTHONIntérprete de Python para ejecutar presence. Por defecto usa el sys.executable del propio lanzador. Útil cuando presence está instalado bajo un Python diferente (por ejemplo, un venv del proyecto).

Si presence-mcp informa que no pudo localizar presence, instala presence en la ruta estándar del plugin de Claude Code, o establece PRESENCE_MCP_CLI.

Advertencia sobre el directorio de trabajo

El servidor MCP de presence resuelve el repositorio actual desde el directorio de trabajo del lanzador mediante git rev-parse --show-toplevel. Los clientes MCP que inician el servidor desde un directorio fijo solo verán un repositorio. Para cambiar de repositorio, inicia una instancia separada por proyecto (establece cwd en la configuración por servidor del cliente), o reinicia el servidor desde la raíz del proyecto objetivo.

Compatibilidad

  • Python: 3.12 o más reciente. La matriz de CI cubre 3.12 / 3.13 / 3.14.
  • presence: probado con >= 0.6.0. Las versiones anteriores hasta v0.4.1 (donde se envió por primera vez el servidor MCP) pueden seguir funcionando, pero no se ejercitan en CI.
  • Plataformas: Linux y macOS ejercitados en CI. Windows no está probado en v0.1.0. El lanzador usa subprocess.run, que es multiplataforma, pero la ruta de instalación predeterminada de presence (~/.claude/plugins/presence/lib/cli.py) necesita una instalación real de Windows para confirmarse. Informa problemas si lo pruebas.

Este lanzador es agnóstico al protocolo: no cambia de versión cuando presence envía nuevos recursos MCP. Solo cambia de versión cuando su propia lógica de resolución, superficie CLI o contenido de server.json cambian.

Dónde informar problemas

  • Errores del lanzador (detección de rutas, errores de instalación, reenvío de argumentos CLI): problemas en este repositorio.
  • Errores de contenido de recursos (lo que devuelve presence://*/model, esquema de telemetría, comportamiento del directorio de trabajo, cualquier cosa sobre el protocolo en sí): problemas en el repositorio de presence.

Desambiguación

El servidor MCP de presence anuncia serverInfo.name = "presence-mcp" en su respuesta initialize. Esa es la identidad MCP del servidor. Este paquete es el lanzador de PyPI. Los nombres coinciden por intención.

Enlaces

Licencia

Apache-2.0. Consulta LICENSE y NOTICE.