mcpField
X
xaffinity MCP

xaffinity MCP

本地服务
github.com商业与营销12 周前更新

关于 xaffinity MCP

xaffinity MCP 通过 xaffinity CLI 将 MCP 客户端连接到 Affinity CRM,支持实体查询、管道更新、关系分析和互动记录。

主要功能

  1. 01搜索人员、公司和商机
  2. 02查看并更新管道状态
  3. 03查询关系强度和引荐路径
  4. 04记录通话、会议、邮件和消息
  5. 05使用筛选与聚合查询数据
  6. 06缓存会话以减少 API 调用

适用场景

  1. 01查找 Affinity 联系人或公司
  2. 02检查并修改商机管道状态
  3. 03寻找合适的引荐路径
  4. 04记录客户会议或邮件

MCP 相关

该服务通过 MCP 工具、提示词和资源提供 Affinity CRM 操作。CLI Gateway 可发现并执行读写命令,另有结构化查询和实体档案工具。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbxaffinity-mcp-1.22.0.mcpb1.22.0

工具

还没有获取到工具列表

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

详细介绍

xaffinity MCP 服务

一个用于 Affinity CRM 的 MCP(Model Context Protocol)服务,基于 MCP Bash Framework 构建。

功能

  • 实体管理 — 搜索和查找个人、公司及商机
  • 工作流管理 — 查看和更新管道状态,管理列表条目
  • 关系洞察 — 获取关系强度评分,并查找可建立温暖引荐的路径
  • 互动记录 — 记录通话、会议、电子邮件和消息
  • 会话缓存 — 高效缓存,尽可能减少 API 调用

快速开始

# 1. Install the xaffinity CLI
pipx install "affinity-sdk[cli]"

# 2. (Optional) Configure your API key - Claude Desktop will prompt if skipped
xaffinity config setup-key

# 3. Install the MCP server (choose one)
#    - Claude Desktop: Download and double-click xaffinity-mcp-*.mcpb
#    - Other clients: See "Manual Installation" below
#    - Claude Code: /plugin marketplace add yaniv-golan/affinity-sdk

前提条件

用于 Claude Desktop / MCPB 安装(推荐)

.mcpb 程序包是自包含的 — 其中包含 MCP Bash Framework 和 gojq。你只需要:

要求安装方式验证
Python 3.10+python.org 或你的软件包管理器python --version
xaffinity CLIpipx install "affinity-sdk[cli]"xaffinity --version
Affinity API 密钥xaffinity config setup-key(或由 Claude Desktop 提示输入)xaffinity config check-key

CLI 和扩展需要保持同步。 两者需要分别安装。升级其中一个时,也要升级另一个:运行 pipx upgrade affinity-sdk 后下载最新版 .mcpb,反之亦然。自 MCP 1.25.2 起,如果 CLI 版本低于扩展所需版本,修改操作会被拒绝(“此 MCP 服务需要 xaffinity CLI … 或更高版本才能进行修改”),而读取操作仍会运行,但会警告结果可能不完整。较旧的扩展搭配较新的 CLI 时,可能会在不说明原因的情况下失败(例如,使用 CLI 1.22.0 进行合并需要扩展 1.25.1 或更高版本)。Claude Desktop 不会更新从 .mcpb 文件安装的扩展:每次发布新版本后,都需要自行安装。

用于手动安装

手动安装需要额外的依赖项:

要求安装方式验证
Bash 3.2+macOS/Linux 自带;Windows:使用 WSL 或 Git Bashbash --version
Python 3.10+python.org 或你的软件包管理器python --version
jq 或 gojq参见下方的安装 jq/gojqjq --version 或 gojq --version
xaffinity CLIpipx install "affinity-sdk[cli]"xaffinity --version
Affinity API 密钥xaffinity config setup-keyxaffinity config check-key
安装 jq/gojq

jq 或 gojq 均可使用 — 服务会自动检测可用的工具。

如何选择:

  • jq(推荐)— 原版,应用广泛,完整支持正则表达式
  • gojq — 纯 Go 实现,也支持 YAML,错误消息更清晰

安装 jq:

平台命令
macOSbrew install jq
Debian/Ubuntusudo apt-get install jq
Fedorasudo dnf install jq
Arch Linuxsudo pacman -S jq
Windowswinget install jqlang.jq 或 choco install jq

安装 gojq(替代方案):

平台命令
macOSbrew install gojq
任意平台(需要 Go)go install github.com/itchyny/gojq/cmd/gojq@latest
下载二进制文件GitHub Releases

安装

选项 1:Claude Desktop(一键安装)

.mcpb bundle 完全自包含——其中包含 MCP 框架和 JSON 处理器。

  1. 安装 xaffinity CLI:pipx install "affinity-sdk[cli]"
  2. (可选) 配置 API 密钥:xaffinity config setup-key
    • 如果跳过此步骤,Claude Desktop 会在安装 MCPB 时提示你输入 API 密钥
  3. 从最新版本下载 xaffinity-mcp-*.mcpb
  4. 双击该文件,或将它拖入 Claude Desktop

注意: MCPB bundle 目前仅适用于 Claude Desktop。其他客户端需要手动安装。

选项 2:Claude Code
/plugin marketplace add yaniv-golan/affinity-sdk
/plugin install affinity-crm-mcp-unofficial@xaffinity
选项 3:手动安装

适用于其他 MCP 客户端或开发用途。需要额外的先决条件。

  1. 从最新版本下载 xaffinity-mcp-plugin.zip
  2. 解压并配置 MCP 客户端(见下文的使用方法)
  3. MCP Bash Framework 运行时已随附于 .mcp-bash/ 中——运行服务无需单独安装。
  4. 可选——验证配置。validate 和 doctor 是开发工具,需要完整安装 mcp-bash(随附副本仅包含运行时);如果缺少该安装,命令会输出固定版本的安装命令:
    ./xaffinity-mcp.sh validate
    

故障排除

验证安装

开始调试前,请按顺序验证每一层是否正常工作:

步骤 1:CLI 安装

首先,验证 CLI 已安装并能访问 Affinity API。请参阅 CLI:验证安装。

# Check CLI is installed
xaffinity --version

# Check API connectivity (set your API key - same one entered in Claude Desktop)
AFFINITY_API_KEY="your-key-here" xaffinity whoami --json

如果 whoami 一直无响应,请检查网络连接(防火墙、代理、VPN)。

步骤 2:MCP 服务

CLI 正常工作后,端到端测试 MCP 服务。

首先,找到 MCP 服务目录:

# MCPB installation (macOS)
cd ~/Library/Application\ Support/Claude/Claude\ Extensions/local.mcpb.yaniv-golan.xaffinity-mcp/server

# Or find it automatically
cd "$(find ~ -name 'xaffinity-mcp.sh' -type f 2>/dev/null | head -1 | xargs dirname)"
其他平台/安装方式
安装方式路径
MCPB(Windows)%APPDATA%\Claude\Claude Extensions\local.mcpb.yaniv-golan.xaffinity-mcp\server\
手动安装你选择的解压位置
开发环境<repo>/mcp/

对于 MCPB 安装:如果步骤 1 通过,则安装已完成。MCP 服务会调用 CLI,因此只要 CLI 能使用你的 API 密钥,MCP 服务也可以。重启 Claude Desktop 并在那里测试工具。

对于手动安装:你也可以直接测试 MCP 层:

AFFINITY_API_KEY="your-key-here" \
  mcp-bash run-tool execute-read-command \
  --args '{"command":"whoami"}'

预期结果:包含你的用户信息的 JSON 响应。

如果步骤 1 正常而步骤 2 失败,则问题出在 MCP 层。运行诊断(需要完整安装 mcp-bash,而不只是随附运行时——见手动安装的步骤 4):

./xaffinity-mcp.sh doctor
./xaffinity-mcp.sh validate
常见问题
错误原因解决方案
"Could not detect xaffinity CLI"未安装 CLIpip install "affinity-sdk[cli]"
"older than this MCP server needs" / "This MCP server needs the xaffinity CLI X or later"CLI 版本过旧pipx upgrade affinity-sdk 或 pip install --upgrade "affinity-sdk[cli]"
"API key not configured"缺少凭据xaffinity config setup-key
"No JSON processor found"未安装 jq/gojq(仅适用于手动安装)请参阅安装 jq/gojq
"Framework not found"缺少随附的 .mcp-bash/ 目录cd mcp && mcp-bash vendor
每次调用工具都失败,并提示 "server.d/policy.sh was not loaded"服务的文件夹、server.d 或 policy.sh 对组用户或其他用户可写(克隆或解压时使用 umask 002 后常会出现此问题),或者它是符号链接,或归其他用户所有。此时,服务会拒绝在没有策略的情况下运行(只读模式和其他限制)。运行错误提示中列出的 chmod go-w ... 命令(或运行 chmod -R go-w <server folder>),然后重启服务

如需详细调试说明,请参阅 docs/DEBUGGING.md。

用法

使用 Claude Code

该服务可通过 .claude-plugin/mcp.json 中的 Claude 插件自动使用。

使用其他 MCP 客户端

将以下内容添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "xaffinity": {
      "command": "/path/to/affinity-sdk/mcp/xaffinity-mcp.sh"
    }
  }
}

工具

CLI 网关(主要接口)

CLI 网关以最低的令牌开销,提供对 xaffinity CLI 的完整访问:

工具说明
discover-commands按关键词搜索 CLI 命令(例如,“创建人物”“删除备注”)
execute-read-command执行只读 CLI 命令(获取、搜索、列出)
execute-write-command执行 CLI 写入命令(创建、更新、删除)
查询工具
工具说明
query使用筛选条件、联接和聚合执行结构化 JSON 查询

对于复杂的数据分析(筛选、分组、聚合),请使用 query 工具,而不是单独的 CLI 命令。完整文档请参阅查询语言参考。

实用工具
工具说明
get-entity-dossier获取实体的综合信息(汇总 5 次或更多 CLI 调用)
read-xaffinity-resource读取静态 MCP 资源(如 data-model 等)
CLI 网关用法
  1. 发现合适的命令:

    {"query": "add person to list", "category": "write"}
    

    返回紧凑的文本格式:

    # cmd|cat|params (s=str i=int b=bool f=flag !=req *=multi)
    list entry add|w|LIST:s! --person-id:i --company-id:i
    
  2. 执行命令:

    {"command": "list entry add", "argv": ["Pipeline", "--person-id", "123"]}
    
输出格式

控制命令结果的格式,以优化令牌效率:

{"command": "person ls", "format": "markdown"}
格式令牌效率适用场景
json低程序化使用(默认)
markdown中高便于大模型理解——最适合分析任务
toon高(约少 40%)大型数据集、批量操作
csv中电子表格导出
jsonl中流式工作流

建议:

  • 需要分析或总结数据时使用 markdown(大模型擅长读取表格)
  • 导出大量数据时使用 toon,以尽量减少令牌用量(比 JSON 小 30%–60%)
  • 需要完整结构并包含分页和元数据时使用 json
破坏性命令

无法撤销的命令(删除、合并)需要用户确认:

  • 在支持确认对话框(MCP elicitation)的客户端中,服务会直接询问你。
  • Claude Desktop 扩展不会显示对话框。 工具会拒绝首次调用,并告知 Claude 在对话中征求你的同意;只有在你同意后,Claude 才会使用 confirm: true 重试:
{"command": "person delete", "argv": ["456"], "confirm": true}

工具会为 CLI 附加 --yes。从 MCP 1.27.0 开始,confirm: true 只有在服务于最近 15 分钟内拒绝过完全相同的命令(或显示过确认对话框)后才会生效一次:如果 Claude 在首次调用时设置了该参数,调用会被拒绝,并提示 Claude 征求你的同意。服务无法查看对话内容,因此无法判断你是否真的同意:请保持 Claude Desktop 的 execute-write-command 工具审批提示开启,不要选择“始终允许”——这个提示正是需要你确认的检查步骤。

也在使用 Affinity 自带的连接器? 如果此扩展和 Affinity 的 claude.ai 连接器都已连接,Claude 可能会选择其中任意一个。如果你指的是此连接器,请说“使用 xaffinity 工具”。

提示词

提示词描述
prepare-briefing为会议准备全面的背景信息
log-interaction-and-update-workflow记录互动并更新管道
pipeline-review审查工作流管道
change-status更改工作流状态并记录说明
warm-intro查找人脉引荐途径
log-call快速记录一次电话通话
log-message快速记录一条聊天/短信
interaction-brief获取互动历史摘要

配置

API 密钥

MCP 服务使用 xaffinity CLI,该 CLI 按以下顺序解析 API 密钥(优先级从高到低):

优先级来源描述
1--api-key-fileCLI 标志(从文件读取,或使用 - 从标准输入读取)
2--api-key-stdinCLI 标志(从标准输入读取)
3AFFINITY_API_KEY 环境变量← Claude Desktop 会设置此项。使用 --dotenv 加载的 .env 文件也可以设置此项
4AFFINITY_API_KEY_FILE 环境变量包含密钥的文件路径
5AFFINITY_API_KEY_COMMAND 环境变量输出内容为密钥的命令
6配置文件用户配置文件中的 api_key(xaffinity config path)

MCP 服务不会传递密钥标志,因此对于它而言,环境变量优先。

Claude Desktop / MCPB:在 Claude Desktop 配置界面中输入 API 密钥时,该密钥会作为 AFFINITY_API_KEY 环境变量传递给 MCP 服务(优先级 3)。这意味着:

  • 它会覆盖 AFFINITY_API_KEY_FILE、AFFINITY_API_KEY_COMMAND 和你的配置文件
  • 如果你已通过 xaffinity config setup-key 配置密钥,并且也在 Claude Desktop 中输入了密钥,则以 Claude Desktop 中的密钥为准

建议:只使用以下其中一种方法:

  • 仅使用 Claude Desktop:在 MCPB 配置界面中输入密钥(最简单)
  • CLI + MCP:运行 xaffinity config setup-key,并将 Claude Desktop 中的密钥栏留空
  • 环境变量:在 shell 配置文件中设置 AFFINITY_API_KEY
只读模式

设置 AFFINITY_MCP_READ_ONLY=1(或 true)以阻止所有写入工具。在 Claude Desktop 捆绑包中,此项设置名为 只读模式。

AFFINITY_MCP_READ_ONLY=1 ./xaffinity-mcp.sh
禁用破坏性命令

设置 AFFINITY_MCP_DISABLE_DESTRUCTIVE=1(或 true),允许写入操作,但阻止无法撤销的命令(删除、合并),即使已确认也不例外。在捆绑包中,此项设置名为禁用 破坏性命令。

AFFINITY_MCP_DISABLE_DESTRUCTIVE=1 ./xaffinity-mcp.sh

**检查设置是否生效:**请 Claude 执行一次 dry-run person delete 1。启用只读模式时,命令会被拒绝,并返回“Writes are off: the server is in read-only mode”;禁用破坏性命令时,则会返回 destructive_disabled。无论哪种情况,都不会更改任何内容。

缓存 TTL

调整缓存时长(默认 10 分钟):

AFFINITY_SESSION_CACHE_TTL=300 ./xaffinity-mcp.sh
Affinity API 版本

默认情况下,每个请求都会使用 API 密钥的默认 Affinity V2 API 版本。若要固定版本 (例如获取最新的响应结构),请设置 AFFINITY_API_VERSION(或在 Claude Desktop 的扩展设置中填写 Affinity API Version):

AFFINITY_API_VERSION=2026-09-17 ./xaffinity-mcp.sh

可接受的值:2024-01-01、2026-07-15、2026-09-17 或 current(始终使用最新版本)。 AFFINITY_PROFILE 也会被传递,因此可以选择 xaffinity 配置文件中的配置项 (包括其 api_version)。工具结果会在 meta.affinityApiVersion 中报告响应所使用的版本。请参阅 API 版本指南。

更新通知

MCP 服务会在启动时检查 CLI 更新;若有新版本可用,则会显示警告。这有助于仅使用 MCP 的用户(不直接运行 CLI 命令)及时更新。

更新检查:

  • 不阻塞:在后台运行检查,不会延迟服务启动
  • 有限制:后台检查每 24 小时最多运行一次
  • 尊重选择:遵从用户通过 XAFFINITY_NO_UPDATE_CHECK=1 或配置文件进行的退出设置

若要禁用更新通知:

# Via environment variable
XAFFINITY_NO_UPDATE_CHECK=1 ./xaffinity-mcp.sh

# Or via CLI config
xaffinity config update-check --disable

开发

运行诊断
./xaffinity-mcp.sh doctor
调试模式

启用调试日志以排查问题。调试模式会在启动时显示版本信息,并为所有日志消息添加组件前缀。

# Persistent debug mode (recommended - survives reinstalls)
mkdir -p ~/.config/xaffinity-mcp && touch ~/.config/xaffinity-mcp/debug

# Session-only via environment variable
XAFFINITY_MCP_DEBUG=1 ./xaffinity-mcp.sh

# Disable persistent debug mode
rm ~/.config/xaffinity-mcp/debug

启用调试模式后,日志会显示:

[xaffinity-mcp:1.2.3] Debug mode enabled
[xaffinity-mcp:1.2.3] Versions: mcp=1.2.3 cli=0.6.9 mcp-bash=v0.9.3
[xaffinity-mcp:1.2.3] Process: pid=12345 started=2026-01-06T10:30:00-08:00
日志位置
场景日志位置
Claude Desktop(macOS)~/Library/Logs/Claude/mcp-server-xaffinity MCP.log
Claude Desktop(Windows)%APPDATA%\Claude\Logs\mcp-server-xaffinity MCP.log
独立 CLIstderr(控制台)
高级调试选项
变量描述
XAFFINITY_MCP_DEBUG=1启用调试模式(级联到所有组件)
MCPBASH_LOG_VERBOSE=true在日志中显示路径(会暴露文件路径)
MCPBASH_TRACE_TOOLS=true为工具启用 Shell 跟踪(set -x)

完整的调试指南请参阅 docs/DEBUGGING.md。

Claude Code 插件

MCP 服务也以 Claude Code 插件的形式提供,通过仓库自带的市场(.claude-plugin/marketplace.json)分发。若要在其他客户端中独立使用 MCP 服务,请参阅主要的 MCP 文档。

发布前必须先组装插件文件:

构建插件
make plugin

这会将 MCP 服务文件复制到 .claude-plugin/ 中:

  • xaffinity-mcp.sh、xaffinity-mcp-env.sh
  • tools/、prompts/、resources/、lib/
  • completions/、providers/、scripts/、server.d/
清理构建产物
make clean
插件结构
.claude-plugin/
├── plugin.json          # Plugin manifest (checked in)
├── skills/              # Claude Code skills (checked in)
├── xaffinity-mcp.sh     # MCP server (copied by make)
├── tools/               # MCP tools (copied by make)
├── prompts/             # MCP prompts (copied by make)
└── ...                  # Other MCP files (copied by make)

发布说明请参阅 CONTRIBUTING.md。

许可证

请参阅主仓库的许可证。

评论

支持 Markdown

第一次接触 MCP?

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

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