文档

AI 连接器

将 Claude、Codex、ChatGPT 或任何支持 MCP 的 AI 助手连接到您自己的 SitesAI 数据 — 连接器能做什么、如何开启,以及每个连接器具体开放哪些工具。

什么是连接器

SitesAI 提供两个 MCP 服务器(Model Context Protocol — AI 助手连接外部系统所用的开放标准)。连接其中一个后,您就可以用日常语言向 AI 助手询问自己的工地数据 — “哪些项目已报价但还没排期?”、“我们在 Kilsyth 工地挖了多少方?” — 它会根据您账户中的实时记录作答。

  • SitesAI App 连接器 — 您的现场作业数据:潜在客户和报价、任务、工地、服务和物品、工时和排班班次、已签署的工单、成员、工地文件和分包商合规、NFC/QR 标签、流程和检查清单。端点: https://app.sitesai.net/api/mcp/mcp (添加 ?profile=full 即可使用全部工具 — 参见工具配置)
  • SitesAI Estimate 连接器 — 您的算量和估算项目:图纸图层、图纸页、算量分组、土方要素以及估算本身。端点: https://takeoff.sitesai.net/api/mcp

两者均通过 HTTPS 使用 MCP streamable HTTP,并同时支持 OAuth 2.1(授权码 + PKCE)和个人 API 密钥。

开启连接器

连接器默认关闭 — 在您主动连接之前,不会与任何 AI 助手共享任何数据。

  1. 先确认您的套餐。SitesAI App 连接器要求您的公司开通 AI 附加功能;SitesAI Estimate 要求您的账户使用 AI 套餐 — 或在应用内开始 14 天免费 AI 试用(账户菜单 → 开始免费 AI 试用;无需绑卡,每个账户限一次)。
  2. 在您的 AI 客户端中添加连接器,填入上面的端点,然后按提示完成登录。在 SitesAI App 上,授权同意页面仅限公司所有者和经理操作,也是在这里选择该连接的权限 — 只读或读写。写入权限绝不会自动授予:除非所有者或经理在该页面选择读写选项,否则连接为只读,所有写入工具都会拒绝执行。
  3. 或使用 API 密钥 — 在 app.sitesai.net/ai-keys 创建一个(SitesAI Estimate:账户菜单 → AI 助手访问(MCP)),然后粘贴到您的 AI 客户端中。密钥可设为只读或读写,且只属于一家公司。

SitesAI Estimate:各客户端设置

连接器地址为 https://takeoff.sitesai.net/api/mcp。助手工作时,请保持一个已登录的 SitesAI Estimate 标签页处于打开状态 — 更改会实时呈现在您眼前。

  • Claude(claude.ai 或桌面应用)— 设置 → 连接器 → 添加自定义连接器 → 粘贴地址 → 使用您的 SitesAI Estimate 账号登录。无需令牌。
  • Claude Code — claude mcp add --transport http 3dx https://takeoff.sitesai.net/api/mcp;随后会打开浏览器窗口供您登录。
  • Codex(桌面版)— 在应用中:账户菜单 → AI 助手访问(MCP)→ 创建令牌。在 Codex 中:连接自定义 MCP → 名称 3DX,类型 Streamable HTTP,填入地址,并添加一个请求头 Authorization: Bearer <your token>.
  • Codex CLI — 在 ~/.codex/config.toml: [mcp_servers.threedx] url = "https://takeoff.sitesai.net/api/mcp" http_headers = { Authorization = "Bearer <your token>" }.
  • ChatGPT — 设置 → 应用与连接器 → 高级 → 开启开发者模式 → 用该地址创建连接器 → 登录。(菜单名称核对于 2026 年 10 月 3 日;各版本之间可能变动 — 地址和登录方式不会变。)

想让助手每次都按您自己的费率和系数为项目报价?请阅读教 Claude 或 Codex 按您的方式为项目定价,并下载入门技能包。

撤销访问:每个密钥和每个 OAuth 连接都列在 app.sitesai.net/ai-keys,可随时撤销 — 撤销后立即失效。

已连接的助手能看到什么、不能看到什么

  • 它只能看到一家公司的数据 — 即密钥或授权所属的公司。每个请求都在我们的服务器上限定在该公司范围内,因此连接器永远无法访问其他公司的记录。
  • 读取工具和写入工具是相互独立的工具,各自标明用途,便于您的 AI 客户端在做任何更改前先征求您的同意。只读密钥或 OAuth 连接完全无法调用写入工具。
  • 请求按密钥限速,并记录在公司的 AI 审计日志中(90 天后清除)。
  • 返回给您 AI 客户端的数据,随后由该提供商按其自身政策处理 — 详见我们的隐私政策第 8 节。

SitesAI App — 工具

App 连接器提供 148 个工具:71 个读取工具和 77 个写入工具。下方逐一列出。

工具配置档。部分 AI 主机会限制一个连接器可提供的工具数量,因此 App 连接器只提供选定的子集 — 在端点地址后添加 ?profile= 即可。 ops (91 个工具)为默认配置,无需查询字符串:日常运营工具集。 lite (18 个工具)是精简的收件箱 / 电话代理工具集; full (148 个工具)包含全部工具,含构建器和管理工具。同一密钥、同一数据 — 区别只在工具列表,本页列出的每个工具都包含在 full.

读取工具(安全,绝不更改任何内容):

工具功能说明
lookup_by_phone这个电话号码是谁?在 CRM 联系人、客户账户、公司成员和潜在客户中按号码后 9 位匹配。每次有呼入电话/短…
call_brief电话响起时唯一需要调用的工具 (g240):一次性解析号码(取后 9 位,与 lookup_by_phone 相同),并返回 `brief` — 预先生成的文字简…
get_job_detail来电者在线时,对单个项目的精简深度读取(g240 第 2 部分):完整的潜在客户信息(follow_up_txt = 下一次跟进)、其合同概…
search_records一次调用即可全局搜索公司所有记录 — 潜在客户(项目编号/名称/客户)、报价、任务、评论/日志备注(含照片/文件附件 —…
list_activity公司日志簿:某一时间段内发生的一切,最新的在前 — 任务的创建/完成/审批、潜在客户的创建和阶段变动、评论(…
company_overview一次调用获取公司概况:仪表盘统计、潜在客户管道(进行中/到期/已成交 + 各阶段数量)、任务分组、公司时区(所有日期/时间字符串…
get_phone_agent_config本公司的 SitesAI Voice 电话代理配置 — 问候语、行为、允许使用的工具、业务资料、时区和已启用的服务:语音/短…
list_leads列出 CRM 潜在客户(销售管道)。可按搜索文本、精确阶段、分组(live/won/closed)或 due=true(当前到期的跟进)筛选。注意:处于…
get_lead单个潜在客户的完整信息:所有字段(含 lead_ref,即面向用户的项目编号),以及关联的联系人(可来自任何公司,其中一人标为主要联系人)、活…
list_lead_types公司的潜在客户类型 — 每个潜在客户所属的可自定义类别(类型标签会为该类潜在客户启用通用的文本/日期/数字字段…
list_quotes列出客户报价(draft/sent/accepted/rejected/cancelled)及合计金额。可按状态、潜在客户或搜索文本筛选。cancelled = 曾被接受,后来…
get_quote单个报价的完整信息:抬头、每一行(数量/单位/单价/GST、3DX 来源)、合计(不含 GST / GST / 含 GST)、发送后的客户分享链接,以及 `sent_…
list_tasks列出公司任务。可按状态(open/done/approved)、负责人邮箱、搜索文本或 due=true(当前到期的任务)筛选。
list_sites列出公司的工地/作业地点(工程、车间、仓储、办公室)。q 搜索匹配名称、地址、工程编号和电话(多词…
list_services列出公司的服务目录和价格(用于客户定价与支持)。每项服务包括:名称、描述、类别(parent_name)以及费率 + …
list_items列出公司的物品/设备/库存。q 搜索匹配名称、零件编号、品牌和描述(多词)。使用 flag="hire" 或 flag="sale" …
get_item按 item_id 获取单个物品 — 完整详情,含 stock_type、for_hire / for_sale、价格、单位、类别、item_code 和账户覆盖设置;对于跟踪…
get_purchase_order按 po_id 获取单个采购订单 — 供应商、送货工地、状态(draft | quote | ordered | received | cancelled)及每一行明细。每行包含…
list_accounts列出 CRM 客户账户(客户/供应商公司)。q 搜索匹配名称、类型、行业、工地、网站和电话(多词,不分顺序)。
get_account单个 CRM 客户账户的完整信息,含其联系人和潜在客户。
list_contacts列出 CRM 联系人(个人)。q 搜索匹配姓名、角色/职位、邮箱、公司和电话(多词,不分顺序)。如只按电话号码查…
list_worktime班组班次 — 谁在哪里干过活 / 正在哪里上班打卡。每行包含 planned_start/finish(已接受的排班邀约,用于计划与实际对比)以及签名…
worktime_summary某日期范围内的工时合计 — 直接回答 "Sam 上个月干了多少小时" 或 "那个工地花了多少时间",无需逐条列出班次…
list_action_entries已记录的 KPI/作业条目 — 公司的作业日志(卡车车次、基坑作业、送货…)。每条记录一行:录入时间、数量、材料、机械…
list_action_offers与分包商关联的作业 (DDL 136):主方在自己的某个工地上,将一种 KPI 作业类型提供给一家获授权的公司(company_own…
list_dockets已签署的工单(DDL 122;自 DDL 143 起每辆卡车一张 — machine_key = unit_id,否则为操作员输入并规范化后的车牌号 (XV96OD),否则为 ''(当 n…
get_docket单张工单的完整信息:抬头、签名 + 确认区块,以及其明细行 — 未签署时为实时条目,签署后为冻结快照(切勿重新推算…
list_shifts计划班次(排班/日历):发给成员的邀约,状态为 offered | accepted | rejected(reject_reason 说明原因)| cancelled | expired(邀…
get_shift单个计划班次的完整信息(状态、时间窗口、备注、拒绝原因、回复人、planned_actions = 当日计划)。
list_no_shows当日核查:按工地当地时间,今天已接受、开始时间已过 15 分钟宽限期却仍未上班打卡的班次 — '已排班但未到岗'。可选筛…
calendar_events一次调用获取公司日历:指定日期范围内的计划班次、任务截止日期、潜在客户跟进和文件到期(另含 /calendar 页…
list_members可分配潜在客户和任务的公司成员(邮箱 + 显示名称 + ui_lang = 该成员看到的应用界面语言,null = 跟随其手机…
list_processes运营知识库:列出公司的流程。Flows v2:流程就是从公司共享 SOP 库中选取的 SOP 有序列表(list_so…
get_process单个流程及其有序步骤(每一步 = 库中某个 SOP 所在的位置:sort_order、step_id,以及 used_in = 共用该 SOP 的其他流程),每个步…
get_sop单个 SOP 的完整内容(输入/输出/角色/说明、媒体、检查清单、可执行的 action_type/action_config、旧版后续步骤),以及 used_in = 使用它的每个流…
list_flow_assignments列出引导流程分配 — 哪些成员/角色使用哪个流程向导。
list_flow_runs引导流程运行记录 — 谁在何时走了哪个流程、当前步骤、已完成步骤。status: in_progress(本轮进行中)| completed(已走完)| aba…
get_flow_run单次引导流程运行的完整内容:运行本身、当前步骤,以及每个已完成步骤及其生成的内容(班次/任务/评论引用)。
list_tagsNFC / QR 标签(DDL 131):一张印有 https://app.sitesai.net/t/<code> 的实体贴纸。工人一碰即打开应用,并按用途直接执行 — 工地标签:上…
list_captures快拍记录就是现场信息流:工人点一下按钮,就能上传一张照片、一段语音或一行文字,并附带 GPS — 无需选择记录。每条都会以状…
get_capture单条快拍记录的完整内容,便于判断它该归到哪里:JSON 记录(同 list_captures,另含 hints.nearest — 最多 5 个公司的…
list_doc_types公司可用的文件类型 — 系统共享类型(执照、证书、保险、SWMS(安全作业方法说明)、白卡、入场安全培训证书、其他)以及公司…
get_site单个工地的完整信息。作为所有者:详情(地址、时区、地理围栏、工作时间)、入场安全培训、document_requirements、granted_companies(分包商)、…
list_site_document_requirements工地要求提供的文件:每个(文件类型 × 范围)一行 — 范围为 company(保险…)、member(每个人的执照/证卡)、unit(每台机…
site_compliance此刻谁在哪项上不合规:工地上每个要求 × 对象的单元格(公司 / 成员 / 机械),附已提交的文件及其状…
compliance_overview公司合规情况一目了然:即将到期的文件(自有 + 他方共享,仅限在职持有人)、等待您审核的提交(作为工地所有…
list_documents公司可查看的所有文件,汇总在一张列表中:自有文件(relation company)、成员的文件(member — 任何有效关联)、机械的文件(unit),以及文…
get_file打开任意记录上的附件 — 按其他工具返回的原样传入 photo_path / file_path / signature_path 值(评论、作业记…
list_files公司记录上的所有附件,最新的在前 — 评论中的照片 / 文件 / 语音,尚待归档的现场快拍记录(source ca…
list_maintenance_logs每台机械的维护日志:kind = prestart(开工前检查,即工人使用机械前提交的每日检查清单;缺陷项会生成分诊任务)| s…
get_maintenance_log单条维护 / 开工前检查日志的完整内容:表头(机械、人员、时间、仪表读数、燃油、工地、备注、日志级 photo_path + signature_path)及其…
get_flow_design_guide设计或编辑流程前请先阅读:SOP(共享库)、流程(SOP 的有序列表)和引导流程(工人向导运行)如何配合…
list_step_typesSOP 可用的步骤类型目录(action_type):每种类型在工人向导中的作用、其 action_config 键(kind、required、defaults、options…
list_sops公司的 SOP 库 — 每个 SOP 只出现一次,并列出把它用作步骤的流程(used_in)。SOP 是共享的构建模块:同一个 "签到" 可以…
list_flow_offers总包公司在我方获授权的工地上提供的流程(即分包商视角下的 "为 <host> 工作"):总包方、工地、我们是否已…
list_jobs进行中的项目 — 已进入赢单阶段的潜在客户,从施工而非销售的角度来看。每一行都在运营概况旁附上商务…
get_job单个项目的运营详情:施工所在的工地(来自 CoSites.lead_id),以及每个工地的班组(CoSiteMember — 分配了谁、其…
list_contracts项目上签发的合同文件(DDL 141)。在法律上,已接受的报价本身就是合同 — 客户已在报价分享页…
list_stock_moves库存台账 — 材料、零件、耗材或燃油的每一次变动,各占一行。qty 带正负号:正数表示入库(采购、盘盈、调…
list_stock_locations库存的实际存放位置:堆场、工地仓库、油罐(专用于一种物料,带容量)、车辆(服务车)。位置一经固定…
get_stock_levels每种物料在每个位置的数量,按其加权平均成本计价(value = qty × avg_cost)。可按 item_id 或 location_id 筛选。负…
get_stock_location单个库存位置及其存量与动态:存量对比容量、最近一次送货、最近一次盘点或油尺测量及其差异、过去 30 天的用量及…
get_job_costs某个项目(lead_id)消耗的库存及计入费用的采购 — 按物料列出数量和金额,以及合计 — 数据来自库存台…
get_work_model_guide凡涉及公司做什么工作、由谁来做、项目范围是什么、完成了多少,请先阅读:服务(你所销…
preview_member_view该成员打开应用时会看到什么 — 以排班者的视角。返回:menu = 其进入的菜单,逐项列出,并注明每项所属的分…
get_worktime单个班次的完整内容 — 当日对象:{ shift(list_worktime 行,含双方签名、prestart_count、material_count),operations(记录…
list_prestart_due今天仍需开工前检查的机械(资产单元):至少有一个启用的开工前检查定义,且尚无开工前检查日志(按公司…
list_actions公司的作业类型(actions)— list_action_entries、工单和 KPI 背后的已记录工作单位(例如 "卡车装车"、"机械台时…
list_action_assignments公司作业类型的固定分配(DDL 137):每一行将一个作业类型关联到以下其中之一:成员(其长期负责的项目 — "他负责…
list_sow_items合同的工作范围(合同即潜在客户 — 参见 list_leads/get_lead)。每一项要么是 kind="scope"(约定的工程,通常导…
list_progress_claims合同的进度款申报报告(DDL 140):在约定范围 + 已批准变更中,截至目前完成了多少、价值多少,扣除…

写入工具(仅限读写密钥或连接可用;每个工具只执行一项单一、明确的操作)。写入工具分为三类,每个工具都带有标明其类别的机器可读 MCP 注解,让您的 AI 客户端在运行前就知道它属于哪一类:

新增内容 — 创建一条记录,不覆盖任何内容(注解为非破坏性): create_lead, create_lead_type, create_quote, add_quote_line, create_account, create_contact, offer_action, add_comment, create_process, create_sop, add_sop_next, create_checklist, assign_flow, register_tag, file_capture, create_doc_type, create_document, submit_document, assign_to_site, grant_site_company, add_process_step, start_flow_offer, create_job_site, create_contract, record_stock_use, create_action, assign_action, plan_shift_actions, create_sow_item, import_quote_sow, issue_progress_claim.

修改或删除已有内容 — 注解为破坏性,因此您的 AI 客户端可以在运行前先征求您的确认: attach_lead_contact, detach_lead_contact, update_lead_type, update_quote_line, delete_quote_line, update_account, delete_account, update_contact, delete_contact, update_worktime, delete_lead, delete_task, update_comment, delete_comment, update_process, update_sop, remove_sop_next, unassign_flow, revoke_tag, update_capture, update_doc_type, set_site_document_requirements, review_submission, revoke_site_company, remove_process_step, move_process_step, set_process_steps, delete_process, delete_sop, void_contract, update_action, update_sow_item, unassign_action.

触达应用之外的人 — 这类工具在修改记录的同时还会发送邮件或通知他人,因此注解为破坏性且开放外部(消息一经发出无法撤回): update_quote, create_task, create_shift, respond_shift, cancel_shift, reoffer_shift, create_shifts_bulk, reassign_shift, update_lead, update_task, add_member, send_contract_for_signature, send_variation_for_approval.

SitesAI Estimate — 工具

工具功能说明类型
get_project_summary获取项目概要读取
list_layers列出图纸图层读取
list_sheets列出设计图页读取
list_takeoffs列出算量分组读取
list_elements列出土方元素读取
get_estimate获取估算读取
get_page_image将图纸渲染为图像读取
get_ai_authoring_context获取 AI 编写上下文读取
apply_delta绘制算量 / 元素(应用增量)写入
manage_sheets新增、重命名或启用图页写入
add_layer_from_url通过 URL 添加图纸图层写入
calibrate_layer_scale校准图层比例写入
align_layer将图层对齐到图纸写入
update_estimate编辑估算写入 — 不可撤销
run_auto_takeoff运行 AI 视觉自动算量写入
run_vector_takeoff运行确定性矢量算量写入
list_cad_layers列出页面上的 CAD 图层读取
delete_takeoff删除算量分组写入 — 不可撤销
save_project保存项目写入
new_project新建项目(后台模式)写入 — 不可撤销
open_project打开 .3dx 项目(后台模式)写入 — 不可撤销
add_layer_from_data通过文件字节添加图纸图层写入

SitesAI Estimate 既可以在您打开的浏览器标签页中实时运行(助手每做一步修改,您都能即时看到),也可以在无需标签页的后台模式下运行。更深入的技术说明请参阅产品的 MCP 文档。

可以这样问

  • “本月新增了哪些潜在客户?其中哪些还没有报价?”
  • “明天谁排班在 Ringwood 工地?今天有没有人缺勤?”
  • “汇总上周项目 142 记录的工时。”
  • “上周哪些工单还没签字?每张工单的操作员是谁?”
  • “哪些人的执照和保险会在 30 天内到期?他们会导致哪些工地人手不足?”
  • “打开我的 Kilsyth 图纸,按 10 m 比例尺校准,然后给出挖方和填方量。”
  • “把大开挖这一项按 $28/m³ 计价,再告诉我新的估算总额。”

常见问题

能在 ChatGPT 或 Claude 里做土方算量吗?

可以。在 Claude、Claude Code、Codex 或 ChatGPT 中把 SitesAI Estimate 添加为连接器(地址为 https://takeoff.sitesai.net/api/mcp),保持一个已登录的 SitesAI Estimate 标签页处于打开状态,然后直接提问。助手会通过上面列出的工具打开项目、校准图纸、绘制算量并为各明细行计价。每处改动都会实时显示在你的标签页里,你可以在报价前逐一核对。

哪些 AI 助手可以配合 SitesAI 使用?

按上述步骤,可以连接 Claude(claude.ai 和桌面应用)、Claude Code、Codex(桌面版和 CLI),以及开启开发者模式的 ChatGPT。其他客户端只要支持基于 streamable HTTP 的 MCP,也能用同样的方式连接。

哪个套餐包含连接器?

SitesAI Estimate 的连接器包含在 AI 套餐中,每用户每月 US$99,可免费试用 14 天,无需绑卡。SitesAI App 的连接器属于 AI 附加功能,整个公司每月 US$38。各套餐详情见价格页面。

已连接的助手能看到其他公司的数据吗?

不能。每个密钥或授权只属于一家公司,我们的服务器会把每个请求都限定在这家公司的范围内。读取工具和写入工具相互独立,每个请求都会记入公司的 AI 审计日志。你可以随时在 app.sitesai.net/ai-keys 撤销任何密钥或连接,撤销后立即失效。

支持

连接遇到问题,或者某个工具的表现和预期不一样?请发邮件至 admin@sitesai.net,我们通常在一个工作日内回复。也可以查看我们的支持页面和隐私政策。