mcpField
Z
zopaf

zopaf

远程服务
github.com/rjandino商业与营销030 周前更新
代码仓库

关于 zopaf

zopaf 是供 AI Agent 调用的 MCP 谈判引擎,使用 MILP 优化而非 LLM 进行谈判计算。它可建模偏好和 BATNA,生成基于 Pareto 前沿的还价,并根据对方反应推断其优先事项。

主要功能

  1. 01建立谈判议题与偏好模型
  2. 02记录 BATNA 与议价优势
  3. 03生成等效用还价方案
  4. 04依据 Pareto 前沿分析交易
  5. 05从对方反应推断优先事项

适用场景

  1. 01设计职位录用谈判方案
  2. 02比较 VC 条款清单中的条款
  3. 03准备供应商合同还价
  4. 04评估和解或合作提案

MCP 相关

向 MCP 客户端提供谈判工具,包括会话设置、议题和偏好记录、还价生成、交易分析、回应处理及状态查询。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://zopaf-mcp-production.up.railway.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Zopaf 谈判引擎 -- MCP 服务

通过 MCP 工具提供的谈判数学引擎,任何 AI Agent 都可以调用。Zopaf 通过纯 MILP 优化计算帕累托前沿、生成等效用反报价,并根据对方的反应推断其优先事项。不会消耗任何 LLM 令牌。对话由调用它的 Agent 负责,数学计算由 Zopaf 负责。

快速开始

Claude Desktop

将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json):

{
  "mcpServers": {
    "zopaf": {
      "type": "streamable-http",
      "url": "https://zopaf-mcp-production.up.railway.app/mcp"
    }
  }
}
Claude Code
claude mcp add zopaf --transport streamable-http https://zopaf-mcp-production.up.railway.app/mcp
通用 MCP 客户端

连接到 Streamable HTTP 端点:

URL: https://zopaf-mcp-production.up.railway.app/mcp
Transport: Streamable HTTP

工具参考

工具描述
create_session创建新的谈判会话。返回供所有其他工具使用的 session_id。
add_issue添加可协商的议题/条款,并按对用户从最差到最好的顺序排列选项。
set_issue_range设置数值议题的可接受范围,从而启用 0-100 评分。
record_preference记录用户对某些议题的重视程度高于其他议题。更新权重模型。
set_batna记录交易未能达成时用户的其他选择。用于确定谈判筹码。
generate_counteroffers生成 3 个等效用反报价,供同时提出。
process_counterpart_response处理对方的反应,以推断其优先事项并生成第 2 轮报价。
analyze_deal根据帕累托前沿评估具体交易。显示获取的价值和建议的交换方案。
get_negotiation_state获取当前模型状态:议题、权重、BATNA、前沿大小以及建议的下一步操作。

工作原理

  1. 创建会话 -- 使用 create_session 初始化新的谈判模型。

  2. 添加议题 -- 使用 add_issue 定义谈判条款。每个议题都包含按对用户从最差到最好的顺序排列的选项(例如,薪资:['$150K', '$160K', '$170K', '$180K'])。

  3. 设置范围 -- 对于数值议题,调用 set_issue_range,将数值映射到 0-100 评分尺度。

  4. 记录偏好 -- 随着逐步了解用户关心的事项,调用 record_preference。每次调用都会更新内部权重模型。

  5. 设置 BATNA -- 使用 set_batna 记录其他选择。数量和质量决定谈判筹码的强弱以及锚定策略。

  6. 生成 3 个反报价 -- 调用 generate_counteroffers,生成对用户而言同样有利但结构各异的三个方案。请同时提出全部三个方案。切勿先提出一个方案,再退而求其次地提出另一个。

  7. 处理对方的反应 -- 调用 process_counterpart_response,说明对方更喜欢哪个方案以及对哪些内容提出异议。引擎会推断对方隐藏的优先事项。

  8. 获取第 2 轮报价 -- 返回有效率前沿上的优化报价,并根据谈判筹码加权分配价值。

示例:工作邀约谈判

create_session
-> {"session_id": "a1b2c3d4"}

add_issue(session_id="a1b2c3d4", issue_name="Salary", options=["$150K", "$160K", "$170K", "$180K"])
add_issue(session_id="a1b2c3d4", issue_name="Equity", options=["0.1%", "0.25%", "0.5%", "0.75%"])
add_issue(session_id="a1b2c3d4", issue_name="Signing Bonus", options=["$0", "$10K", "$20K", "$30K"])
add_issue(session_id="a1b2c3d4", issue_name="Remote Work", options=["On-site", "Hybrid", "Fully Remote"])

set_issue_range(issue_name="Salary", worst_acceptable=150000, best_hoped=180000,
    option_values={"$150K": 150000, "$160K": 160000, "$170K": 170000, "$180K": 180000})
-> {"scores": {"$150K": 0.0, "$160K": 33.3, "$170K": 66.7, "$180K": 100.0}}

record_preference(preferred_issues=["Salary", "Equity"], over_issues=["Signing Bonus", "Remote Work"])
-> {"learned_weights": {"Salary": 0.345, "Equity": 0.345, "Signing Bonus": 0.155, "Remote Work": 0.155}}

set_batna(alternatives=["Competing offer from Company B at $165K", "Stay in current role"])
-> {"leverage_strength": "strong"}

generate_counteroffers(target_satisfaction="ambitious")
-> {
  "counteroffers": [
    {"label": "A", "terms": {"Salary": "$180K", "Equity": "0.25%", "Signing Bonus": "$10K", "Remote Work": "On-site"}},
    {"label": "B", "terms": {"Salary": "$170K", "Equity": "0.5%", "Signing Bonus": "$0", "Remote Work": "Hybrid"}},
    {"label": "C", "terms": {"Salary": "$160K", "Equity": "0.75%", "Signing Bonus": "$20K", "Remote Work": "On-site"}}
  ]
}

process_counterpart_response(preferred_package="B", pushback_issues=["Equity"])
-> {
  "counterpart_priorities_inferred": {"Equity": 0.571, "Salary": 0.143, ...},
  "round_2_offer": {"Salary": "$180K", "Equity": "0.25%", "Signing Bonus": "$20K", "Remote Work": "Hybrid"},
  "value_split": "User gets 75% of surplus"
}

引擎推断,对方最看重股权(占其权重的 57%)。第 2 轮报价在股权上让步——这对用户而言代价较低——并在薪资和签约奖金上争取价值。双方都能获得更好的结果。凭借强大的 BATNA,用户可获取 75% 的剩余价值。

使用场景

  • 工作邀约 -- 薪资、股权、奖金、职位名称、远程工作、入职日期、带薪休假
  • VC 条款清单 -- 估值、董事会席位、清算优先权、反稀释条款、按比例跟投权
  • 房地产 -- 价格、交割日期、附带条件、维修、包含项目、售后返租期限
  • 供应商合同 -- 价格、SLA 保证、付款条款、排他性、续约条款
  • 薪资谈判 -- 基本工资、奖金结构、评审时间表、职责范围
  • 商业合作 -- 收入分成、IP 所有权、决策权、退出条款、区域
  • 法律和解 -- 金钱条款、保密条款、承认责任、时间表

为什么是零 Token?

Zopaf 是一个数学引擎,而不是大模型。它运行 MILP 优化和组合评分——这些运算的计算成本很低,但让大模型在上下文中尝试却十分繁琐。

你的 Agent 中的大模型负责与用户对话、提出恰当的问题并解释策略。Zopaf 负责优化——计算帕累托前沿、生成等效用套餐、根据已揭示的选择求解偏好权重,并将报价定位在有效前沿上。

你带来大脑,Zopaf 带来计算器。

评论

支持 Markdown

第一次接触 MCP?

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

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