LABSCO SUMMARY
Know the working-directory rule before you configure it.
presence resolves which repository you mean from the launcher's working directory, so a client that starts every server from one fixed folder will only ever see one repository's model. The fix is per-project configuration: set cwd in the client's server entry, or restart from the project root. Beyond that, this does one job well — it removes the absolute path from your config, and because it forwards rather than reimplements, it does not need updating when presence adds resources.
What it is
A launcher, not a protocol server. presence is a Claude Code plugin that already ships an MCP server exposing two read-only resources per repository; this package is the PyPI shim that finds a local presence install and forwards stdio to it, so every client config can say presence-mcp instead of an absolute path that differs on every machine.
What you get
- Two read-only resources per repository you have worked on —
presence://<repo_id>/modelreturns the living project model as Markdown,presence://<repo_id>/telemetryreturns recent commit, revert and verification claims as a JSON array - The repository ID is a 12-character SHA-256 prefix, and the current repository is resolved from the launcher's working directory
- The same
presence-mcpcommand works in Claude Desktop, Cursor and Continue, with no per-machine path in the config PRESENCE_MCP_CLIoverrides where presence lives; if the path you set does not exist it errors rather than silently falling back, so a typo surfaces immediatelyPRESENCE_MCP_PYTHONruns presence under a different interpreter, for installs inside a project virtual environment
Requirements
Python 3.12 or newer and a local presence install — the launcher locates it under the standard Claude Code plugin path unless you point PRESENCE_MCP_CLI elsewhere. Install with pip install presence-mcp; the packaged version is 0.2.0. Tested against presence 0.6.0 and newer; Linux and macOS are exercised in continuous integration while Windows is untested. The launcher itself is about 40 lines of standard-library Python and speaks no MCP of its own.
Setup effort
One command — pip install presence-mcp
USE CASES
01
Configuring the same server on several machines
Reference a command name in the client config instead of a path that differs per machine.
02
Giving an assistant the project's living model
Expose the Markdown model as a read-only resource the client can read on demand.
03
Checking recent commits, reverts and verifications
Read the telemetry resource as a JSON array rather than parsing a log.
04
Working across more than one repository
Give each project its own server entry with the working directory set, so the right repository resolves.
BEFORE YOU INSTALL
What to know first
Requires
- presence-mcp on PATH
- Python 3.12 or later
INSTALLATION
Connect your client
Server setup
TERMINAL
pip install presence-mcpMCP Clients
Claude Desktop, Cursor
JSON
{
"mcpServers": {
"presence": {
"command": "presence-mcp"
}
}
}Continue
CONTINUE · JSON
{
"mcpServers": [
{
"name": "presence",
"command": "presence-mcp"
}
]
}