关于 presence-mcp
presence-mcp 是 presence 现有 MCP 服务的 PyPI 启动器,供配置 MCP 客户端的用户使用。它定位本地 presence 安装并转发 stdio,避免在客户端配置中填写因机器而异的脚本路径。
主要功能
- 01启动本地 presence MCP 服务
- 02提供项目模型和遥测资源
- 03在客户端配置中使用统一命令
- 04自定义 CLI 和 Python 可执行文件路径
适用场景
- 01为 Claude Desktop 配置 presence
- 02将 Cursor 或 Continue 连接到 presence
- 03选择特定项目的工作目录
- 04使用单独的 Python 解释器运行 presence
MCP 相关
该软件包本身不实现 MCP;它定位 presence 并将 stdio 转发给其 MCP 服务。该服务为每个仓库提供两个只读资源:持续更新的项目模型和近期结果遥测数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
presence-mcp
PyPI 启动器,将 presence 的动态项目模型和成果遥测数据作为 MCP 资源提供给 Claude Desktop、Cursor、Continue 及其他支持 MCP 的客户端。
presence 是一个 Claude Code 插件。它已自带一个 stdio MCP 服务,入口为 lib/cli.py mcp,并为每个仓库提供两个只读资源(参见你将获得的内容)。本软件包是 PyPI shim,可让该服务列入官方 MCP Registry,并在每个客户端的配置中使用一个命令名称调用,而不必使用因机器而异的绝对路径。
启动器本身不使用 MCP 通信。它会查找本地的 presence 安装,并将 stdio 转发到 python lib/cli.py mcp。约 40 行 Python 代码,仅使用标准库。
快速开始
pip install presence-mcp
然后将任意 MCP 客户端指向 presence-mcp 命令。以 Claude Desktop 为例:
{
"mcpServers": {
"presence": {
"command": "presence-mcp"
}
}
}
下方提供 Cursor 和 Continue 的完整客户端配置。需要 Python 3.12+ 和本地安装的 presence。
你将获得的内容
每个你曾处理过的仓库都会提供两个只读 MCP 资源:
| URI | 内容 | MIME 类型 |
|---|---|---|
presence://<repo_id>/model | 动态的 model.md(Markdown) | text/markdown |
presence://<repo_id>/telemetry | 最近的提交 / 撤销 / 验证声明(JSON 数组) | application/json |
<repo_id> 是仓库 SHA-256 的前 12 个字符。服务会根据启动器的工作目录解析当前仓库;参见工作目录注意事项。资源架构和协议详情: presence 的 docs/mcp.md。
各客户端的配置
同一个 presence-mcp 命令适用于所有客户端。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS),或 Windows / Linux 上的对应路径:
{
"mcpServers": {
"presence": {
"command": "presence-mcp"
}
}
}
Cursor
项目根目录中的 .cursor/mcp.json,或 Cursor 的全局 MCP 设置:
{
"mcpServers": {
"presence": {
"command": "presence-mcp"
}
}
}
Continue
~/.continue/config.json:
{
"mcpServers": [
{
"name": "presence",
"command": "presence-mcp"
}
]
}
验证安装
启动器接受通过 stdin 传入的 JSON-RPC。粘贴 {"jsonrpc":"2.0","id":1,"method":"initialize"} 并按 Enter,应会收到 initialize 响应。如果使用控制台脚本不方便,也可以通过 python -m presence_mcp 调用。
环境变量
| 变量 | 用途 |
|---|---|
PRESENCE_MCP_CLI | presence 的 lib/cli.py 的绝对路径。覆盖默认的 ~/.claude/plugins/presence/lib/cli.py 查找路径。如果已设置但路径不存在,启动器会报错而不会回退,因此可以及时发现拼写错误。 |
PRESENCE_MCP_PYTHON | 用于运行 presence 的 Python 解释器。默认为启动器自身的 sys.executable。适用于 presence 安装在其他 Python 环境中的情况(例如项目虚拟环境)。 |
如果 presence-mcp 报告无法定位 presence,请将 presence 安装到 Claude Code 插件的标准路径,或设置 PRESENCE_MCP_CLI。
工作目录注意事项
presence 的 MCP 服务会通过 git rev-parse --show-toplevel,根据启动器的工作目录解析当前仓库。从固定目录启动服务的 MCP 客户端只能访问一个仓库。要切换仓库,可以为每个项目分别启动一个实例(在客户端的每服务配置中设置 cwd),或从目标项目根目录重启服务。
兼容性
- Python: 3.12 或更高版本。CI 矩阵覆盖 3.12 / 3.13 / 3.14。
- presence: 已使用
>= 0.6.0测试。更早的版本(最低至 v0.4.1,该版本首次提供 MCP 服务)可能仍可使用,但 CI 不会测试这些版本。 - 平台: CI 已测试 Linux 和 macOS。v0.1.0 尚未在 Windows 上测试。启动器使用跨平台的
subprocess.run,但默认的 presence 安装路径(~/.claude/plugins/presence/lib/cli.py)需要在实际的 Windows 安装环境中确认。如果你尝试使用后发现问题,请提交报告。
此启动器与协议无关:presence 发布新的 MCP 资源时,它不会升级版本。只有自身的解析逻辑、CLI 接口或 server.json 内容发生变化时,它才会升级版本。
在何处提交问题
- 启动器错误(路径检测、安装错误、CLI 参数转发):请在此仓库提交问题。
- 资源内容错误(
presence://*/model返回的内容、遥测架构、工作目录行为,以及任何与协议本身有关的问题):请在 presence 仓库提交问题。
消歧说明
presence 的 MCP 服务会在 initialize 响应中公布 serverInfo.name = "presence-mcp"。这是该服务的 MCP 标识。本软件包是 PyPI 启动器。两者名称相同是有意为之。
链接
- PyPI:https://pypi.org/project/presence-mcp/
- MCP Registry:https://registry.modelcontextprotocol.io/v0/servers?search=presence-mcp (
io.github.sara-star-quant/presence-mcp) - 上游项目(presence):https://github.com/sara-star-quant/presence
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。