mcpField
M
motif

motif

本地服务
etot.design数据与分析06 周前更新

关于 motif

motif 是面向设计师和研究者的 MCP 服务,用于综合访谈转录内容并生成带引用、经批评检查的洞察。它与 CLI 和 FigJam 插件共用引擎、提示词和配置。

主要功能

  1. 01综合访谈转录内容
  2. 02生成带引用的洞察与报告
  3. 03按规则批评检查洞察
  4. 04查看原始引文及说话者
  5. 05生成 FigJam 布局脚本
  6. 06检索运行记录与迭代信息

适用场景

  1. 01从访谈转录中提炼研究洞察
  2. 02核查洞察引用对应的原文
  3. 03检查洞察中的争议点
  4. 04将洞察布局推送到 FigJam

MCP 相关

MCP 服务向客户端提供五种 motif 工具,用于综合、批评检查、取回引文、生成 FigJam 布局以及查看运行记录。可在本地运行,也可通过远程模式转发到托管服务。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"sleepycobalt-motif": {
"command": "uvx",
"args": [
"etot-motif"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"MOTIF_RUNS_DIR": "<MOTIF_RUNS_DIR>"
}
}
}
}
启动命令uvx etot-motif
需要配置的环境变量
ANTHROPIC_API_KEY密钥Anthropic API key used to run the engine locally
MOTIF_RUNS_DIRDirectory for run logs (every prompt, response, iteration). Defaults to ~/.motif/runs.

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

安装包
pypietot-motif0.5.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
filesany否
questionany否
conditionstring否
max_iterationsinteger否
transcripts_dirany否

详细介绍

Motif MCP 服务

一个服务,可供 Claude Code、Cursor、Claude Desktop 及任何 MCP 主机使用。 在 Agent 环境中工作的设计师或研究人员可以说“综合这些访谈记录”,并获得与 CLI 相同的、附有引用且经过批判检查的结果。每个工具都是对 synth/engine.py 的轻量调用;循环、提示词和配置与 CLI 及 FigJam 插件共用,绝不重复实现。

工具

工具输入输出
motif_synthesizetranscripts_dir 或 files、question、condition(A/B/C)、max_iterations运行 ID、insights JSON、报告 Markdown、存在争议的 insight ID、费用
motif_critiqueinsights(JSON)或 document(Markdown/散文);run_id 或 transcripts_dir;可选的 transcripts、questionverdict JSON(pass、failures、notes、skipped_rules)、按规则和按 insight 汇总的结果、结构化 insights、自身的运行 ID
motif_receiptsturn_ids;run_id 或 transcripts_dir逐字显示的轮次文本、说话者、说话者是否为访谈者;missing
motif_boardrun_id、columns、origin_x、origin_yFigJam 布局 JSON,以及每个 insight 对应的一个 use_figma 脚本,供主机通过 Figma 的 MCP 服务执行
motif_runs_getrun_id、includemeta、备注、每轮 verdict;可选的 insights、报告、每次调用的 token/耗时

失败语义:缺少 verdict、综合结果为空、文档无法解析、运行不存在,或所有轮次 ID 均不存在时,都会返回 MCP 工具错误。不会出现空的成功结果。

进度:每一条引擎进度行(每份访谈记录的载入、每次模型调用、每轮批判迭代)都会发送两次:作为 MCP 日志通知发送;主机只有设置了日志级别才会收到此通知。另一次作为进度通知发送;主机传入进度令牌时才会收到此通知(Claude Code 会传入)。stdout 是协议;除此之外,任何内容都不会写入其中。

安装(本地模式)

从 PyPI 安装到任意 Python 3.10+ 环境:

pip install "etot-motif[mcp]"
which motif-mcp                # the server entry point; hosts need this absolute path

如果已安装 uv,也可以不经过安装步骤:命令为 uvx --from "etot-motif[mcp]" motif-mcp。以这种方式运行时,服务会使用打包的配置,并将运行日志写入 ~/.motif/runs(可通过 MOTIF_RUNS_DIR 覆盖)。

从 Motif 检出目录运行:

git clone https://github.com/sleepycobalt/motif.git
cd motif
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[mcp]"
echo "ANTHROPIC_API_KEY=your-key-here" > .env
ls .venv/bin/motif-mcp        # the server entry point

服务会从环境变量或仓库的 .env 读取 ANTHROPIC_API_KEY,将运行日志写入仓库中的 runs/(可通过 MOTIF_RUNS_DIR 覆盖),并使用 config/synth.yaml;它是指向打包文件 synth/synth.yaml 的符号链接(可通过 MOTIF_CONFIG 覆盖)。 以下每种主机都需要 .venv/bin/motif-mcp 的绝对路径;主机启动服务时不会使用 shell 的 PATH。

Claude Code
claude mcp add motif -- /ABSOLUTE/PATH/TO/motif/.venv/bin/motif-mcp

还可以选择安装 skill,让 Claude Code 了解工作流(使用 receipts 验证引用、留意有争议的 insights,并推送到 FigJam):

mkdir -p ~/.claude/skills/motif
cp /ABSOLUTE/PATH/TO/motif/surfaces/mcp/skills/motif/SKILL.md ~/.claude/skills/motif/SKILL.md

然后在新的 Claude Code 会话中:

/mcp                                   # motif should show as connected
synthesise ./data/raw/Dataset-2 with motif and open the report

Claude Code 会调用 motif_synthesize,流式显示引擎进度,之后可以调用 motif_receipts 验证任意引用,或调用 motif_board,通过 Figma 的 MCP 服务将本次运行推送到 FigJam 白板。

Cursor

添加到 ~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目):

{
  "mcpServers": {
    "motif": {
      "command": "/ABSOLUTE/PATH/TO/motif/.venv/bin/motif-mcp",
      "env": { "ANTHROPIC_API_KEY": "your-key-here" }
    }
  }
}

重启 Cursor;五个 motif_* 工具将显示在 MCP 工具下。

Claude Desktop

打开配置文件(Claude 菜单 → 设置 → 开发者 → 编辑配置),或直接编辑:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "motif": {
      "command": "/ABSOLUTE/PATH/TO/motif/.venv/bin/motif-mcp",
      "env": {
        "ANTHROPIC_API_KEY": "your-key-here",
        "MOTIF_RUNS_DIR": "/ABSOLUTE/PATH/TO/motif/runs"
      }
    }
  }
}

退出并重新打开 Claude Desktop;工具会显示在聊天框的工具图标下。Claude Desktop 无法打开磁盘上的文件,因此请在回复中要求提供报告 Markdown,或从运行目录中读取。

远程模式

设置 MOTIF_REMOTE_URL 后,同样的五个工具会转发到托管的 Motif 服务(surfaces/hosted/),而不是在本地运行引擎:除服务本身外,无需其他 Python 依赖,结果也相同。每次作业都会转发你的 ANTHROPIC_API_KEY,且仅用于该作业。在远程模式下,工具的 run_id 是托管作业 ID,作业结束后一小时内有效;motif_receipts、motif_board 和 motif_runs_get 均接受该 ID。托管引擎使用日志记录器的 redact=True:提示词和响应正文会以长度 + SHA-256 的形式存储,语料库不会被快照,作业上传的文件会在到期时删除。MOTIF_REMOTE_TOKEN 用于选择付费层级,但目前尚未启用。

claude mcp add motif -e MOTIF_REMOTE_URL=https://motif-hosted.fly.dev -e ANTHROPIC_API_KEY=your-key-here -- motif-mcp

通过 Figma 的 MCP 服务输出画板

motif_board 会返回布局和脚本;它不会操作 Figma。宿主(已通过 Figma 的 MCP 服务完成身份验证的 Claude Code)会针对 FigJam 画板 URL,使用 use_figma 运行每个脚本,并通过 get_figjam 读取结果。已于 2026-09-04 在真实画板上验证(docs/exhibits/step-zero/、docs/exhibits/board-r5/)。

项目目录列表

listing.md 保存 MCP 服务索引目录所需的描述;server.json 是官方 MCP 注册表的清单(在软件包发布到 PyPI 后发布)。

测试

.venv/bin/python -m pytest -q tests               # offline: stubbed model, spawns the server over stdio
.venv/bin/python scripts/critique_acceptance.py   # spends API budget: critic vs eval2 human scoring

评论

支持 Markdown

第一次接触 MCP?

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

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