mcpField
C
Cairn

Cairn

本地服务
github.com/cybort360生产力018 周前更新

关于 Cairn

Cairn 是面向 Claude Code 用户的工作跟踪器,将编码会话、文件活动、任务和项目笔记汇总到帐户中,并提供每日和每周回顾。本地 MCP 服务与钩子会把活动发送到 Cairn API。

主要功能

  1. 01记录编码会话和文件编辑
  2. 02跟踪任务与项目笔记
  3. 03生成每日和每周回顾
  4. 04按帐户隔离数据

适用场景

  1. 01回顾近期编码活动
  2. 02记录 Claude Code 的文件编辑
  3. 03跟踪待办任务直至完成

MCP 相关

agent/ 目录包含一个向 Claude 提供 Cairn 工具的 MCP 服务,以及两个记录会话和文件编辑的 Claude Code 钩子。它们使用帐户令牌通过 HTTPS 连接 Cairn API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cybort360-cairn": {
"command": "uvx",
"args": [
"cairn-mcp"
],
"env": {
"CAIRN_TOKEN": "<CAIRN_TOKEN>",
"CAIRN_API_URL": "<CAIRN_API_URL>"
}
}
}
}
启动命令uvx cairn-mcp
需要配置的环境变量
CAIRN_TOKEN密钥Your Cairn API token, copied from the web app account menu. If unset, the server reads it from ~/.cairn_token.
CAIRN_API_URLBase URL of the Cairn API. Defaults to production.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicairn-mcp0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Cairn

PyPI MCP Registry License: MIT

一款会记住你做过什么的工作追踪工具。它会记录你的编码会话、操作过的文件、从待办到完成的任务以及项目笔记,然后将这些内容集中在一处,并生成每日和每周汇总。这个名字指的是标记路径的石堆。

Cairn 作为多租户 Web 应用运行在 Vercel 上,并使用 Neon Postgres 数据库。每个账户都可以注册和登录,且只能看到自己的数据。

构建方式

整个服务仅使用 Python 标准库和一个依赖项(psycopg)。不使用框架。

  • api/index.py — Vercel 无服务器入口。Vercel 的 Python 运行时会将其视为兜底入口,因此所有请求都会到达这里。
  • lib/handler.py — 路由。相同的 BaseHTTPRequestHandler 有三种运行方式:Vercel 函数、本地开发服务器和测试。
  • lib/data.py — 所有 SQL 语句,每条语句都按 user_id 限定范围。
  • lib/db.py — Neon 连接(连接池端点)和一些小型查询辅助函数。
  • lib/auth.py — PBKDF2 密码哈希、会话和令牌解析。
  • lib/limits.py — 注册/登录速率限制和每个账户的配额上限,二者均由 Postgres 支持。
  • lib/assets.py — 单页应用和 favicon,以 base64 嵌入,随函数包一起发布。由 build_assets.py 生成;编辑 static/ 后请重新运行该脚本。

本地开发

你需要一个可连接的 Postgres。用 Docker 启动一个临时数据库即可:

docker run -d --name cairn_pg -e POSTGRES_PASSWORD=pw -e POSTGRES_DB=cairn -p 5432:5432 postgres:16-alpine
python3 -m venv .venv && .venv/bin/pip install 'psycopg[binary]'
export DATABASE_URL="postgres://postgres:[email protected]:5432/cairn"
.venv/bin/python dev.py --init    # create the schema, then serve on :8765

测试会使用同一个数据库:

.venv/bin/python tests/smoke.py        # core CRUD + isolation
.venv/bin/python tests/test_limits.py  # rate limiting + quotas
.venv/bin/python tests/test_sp3.py     # file activity + filtered lists

部署

推送到 main 后,会通过 Vercel GitHub 集成部署到生产环境。DATABASE_URL 和其他 Neon 变量来自 Vercel ↔ Neon 集成;应用会读取连接池连接字符串。架构变更通过 initdb.py,使用直接(非连接池)URL 应用。

Agent 端

agent/ 文件夹包含 MCP 服务和两个在你的计算机上运行的 Claude Code 钩子。它们使用你的账户令牌,通过 HTTPS 与此 API 通信,因此 Claude Code 执行的所有操作都会流入你的 Cairn 账户。该服务会向 Claude 提供一组 cairn 工具;钩子则会自行记录会话和文件编辑。

在 Claude Code 中,最快的安装方式是使用插件 — 此仓库同时也是一个插件市场(.claude-plugin/marketplace.json):

/plugin marketplace add https://github.com/cybort360/cairn
/plugin install cairn@cairn

这会配置 MCP 服务和两个钩子;你只需将令牌保存到 ~/.cairn_token(需要将 uv 添加到 PATH 中)。手动安装方式 — 克隆、创建 venv、运行 claude mcp add — 见 agent/README.md。Web 应用的部署会忽略 agent/;它仅在客户端运行。

设计说明

构建 Cairn 的每个子项目在 docs/superpowers/specs/ 下都有一份规范:云端核心、身份验证加固以及本地 Agent 切换。如果你想了解某项决策背后的原因,而不只是查看代码,可以阅读这些规范。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。