mcpField
C
contract-analysis

contract-analysis

github.com/happy-technologies-llc文档处理4141 次安装2 天前更新
代码仓库

关于 contract-analysis

contract-analysis 是面向 ServiceNow 法律服务与合同生命周期管理的合同审查技能。它帮助法律团队提取条款、评估风险并记录审查结果。

主要功能

  1. 01提取付款、责任和终止条款
  2. 02识别义务与关键期限
  3. 03标记高风险合同条款
  4. 04按风险等级评估合同
  5. 05生成结构化审查报告

适用场景

  1. 01审查新签合同并标记偏离条款
  2. 02评估合同续约日期与通知期限
  3. 03审计合同组合中的风险
  4. 04向业务相关方概述合同义务

MCP 相关

该技能通过 MCP 工具查询 ServiceNow 合同、附件和法律案件,可创建法律任务、更新合同记录并写入审查报告。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill contract-analysis

安装后在 Claude Code 中输入/contract-analysis确认已加载。

详细介绍

合同分析

概述

此技能提供了一套在 ServiceNow Legal Service Delivery 和 Contract Lifecycle Management 中分析合同的结构化方法。它可以帮助你:

  • 从 ast_contract 检索合同记录,并从 sn_legal_case 检索相关法律案件
  • 提取并整理付款、责任、赔偿和终止条款等关键条款
  • 识别合同生命周期内双方的义务和截止日期
  • 标记高风险条款,例如无限责任、自动续约、宽泛的 IP 转让或非标准条款
  • 跟踪续约日期、到期时间范围和通知期限要求
  • 评估合规要求,包括监管、数据隐私和行业特定要求
  • 生成结构化分析报告,供法律审查和业务相关方参考

适用场景: 新合同需要法律审查时、评估合同续约时、开展整个合同组合的风险审计时,或业务相关方需要通俗易懂的合同义务摘要时。

所需插件: com.sn_legal_service_delivery

先决条件

  • 角色: sn_legal_case_user、sn_legal_case_manager、contract_manager 或 sn_legal_admin
  • 访问权限: 对 ast_contract、sn_legal_case、sn_legal_task 和 sys_attachment 表的读取权限
  • 知识: 了解合同法基础知识、所在组织的标准合同条款以及风险承受阈值
  • 插件: 必须激活 Legal Service Delivery(com.sn_legal_service_delivery)。可选:启用 Contract Lifecycle Management 以获取更丰富的合同元数据。

流程

第 1 步:检索合同记录

查询合同,获取其核心元数据和当前状态。

使用 MCP(Claude Code/Desktop):

Tool: SN-Get-Record
Parameters:
  table_name: ast_contract
  sys_id: [contract_sys_id]
  fields: sys_id,number,short_description,contract_type,vendor,starts,ends,renewal_date,payment_amount,total_cost,state,terms_and_conditions,auto_renew,notice_period,assigned_to,department,contract_administrator,parent_contract

使用 REST API:

GET /api/now/table/ast_contract/[contract_sys_id]?sysparm_fields=sys_id,number,short_description,contract_type,vendor,starts,ends,renewal_date,payment_amount,total_cost,state,terms_and_conditions,auto_renew,notice_period,assigned_to,department,contract_administrator,parent_contract&sysparm_display_value=true
第 2 步:检索合同文件

获取附件,以访问合同正文并进行分析。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sys_attachment
  query: table_name=ast_contract^table_sys_id=[contract_sys_id]
  fields: sys_id,file_name,content_type,size_bytes,sys_created_on,sys_created_by
  limit: 20
  order_by: sys_created_on

使用 REST API:

GET /api/now/table/sys_attachment?sysparm_query=table_name=ast_contract^table_sys_id=[contract_sys_id]^ORDERBYDESCsys_created_on&sysparm_fields=sys_id,file_name,content_type,size_bytes,sys_created_on,sys_created_by&sysparm_limit=20

下载附件内容:

GET /api/now/attachment/[attachment_sys_id]/file
第 3 步:提取关键合同条款

按以下条款类别分析合同:

条款类别要提取的关键字段风险指标
付款条款金额、频率、净付款天数、滞纳金、价格调整净付款期限为 15 天或更短;年度涨幅 > 5%
责任责任上限金额、免责范围、间接损失无限责任;没有双方共同适用的责任上限
赔偿范围、除外情形、抗辩义务赔偿范围宽泛且未排除 IP 相关事项
终止违约触发条件、便利终止期限、善后安排不允许便利终止;锁定期 > 12 个月
续约自动续约、通知期限、价格调整自动续约且通知期限 < 60 天
保密期限、范围、允许披露的情形永久保密;没有除外情形
IP 权利所有权、许可授予、工作成果向供应商广泛转让 IP;未授予回授许可
数据隐私数据处理、违规通知、DPA没有 DPA;违规通知期限 > 72 小时
SLA/性能正常运行时间、响应时间、抵扣、补救措施没有 SLA 抵扣;长期未达标时不能终止合同
适用法律司法管辖权、争议解决、审判地点外国司法管辖区;强制仲裁
第 4 步:评估风险级别

为每个条款类别评分,并计算整体合同风险级别:

风险评分框架:

  • 低(1): 条款符合组织标准,无偏差
  • 中(2): 与标准略有偏差;记录后可接受
  • 高(3): 存在重大偏差;需要高级法律顾问批准
  • 严重(4): 条款不可接受;签署前必须重新谈判

整体风险计算:

  • 任一单项得分为严重(4)= 整体风险为严重
  • 平均分 >= 3.0 = 整体风险为高
  • 平均分 >= 2.0 = 整体风险为中
  • 平均分 < 2.0 = 整体风险为低
第 5 步:检查相关法律案件和事项

查询是否存在与此合同或供应商相关的法律活动。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: sn_legal_case
  query: short_descriptionLIKE[vendor_name]^ORdescriptionLIKE[contract_number]
  fields: sys_id,number,short_description,state,case_type,priority,assigned_to,resolution_notes
  limit: 10

使用 REST API:

GET /api/now/table/sn_legal_case?sysparm_query=short_descriptionLIKE[vendor_name]^ORdescriptionLIKE[contract_number]&sysparm_fields=sys_id,number,short_description,state,case_type,priority,assigned_to,resolution_notes&sysparm_limit=10&sysparm_display_value=true
第 6 步:标记需关注的条款

为每个需要关注或重新谈判的条款创建法律任务。

使用 MCP:

Tool: SN-Create-Record
Parameters:
  table_name: sn_legal_task
  fields:
    short_description: "Review unlimited liability clause - Section 8.2"
    description: "Contract [contract_number] contains an unlimited liability provision in Section 8.2. Organization standard requires liability cap at 12 months of fees. Recommend renegotiation to add mutual liability cap."
    legal_case: [case_sys_id]
    priority: 2
    task_type: contract_review
    assigned_to: [counsel_sys_id]
    due_date: [review_deadline]
    state: 1

使用 REST API:

POST /api/now/table/sn_legal_task
Content-Type: application/json

{
  "short_description": "Review unlimited liability clause - Section 8.2",
  "description": "Contract contains unlimited liability. Standard requires cap at 12 months of fees.",
  "legal_case": "[case_sys_id]",
  "priority": "2",
  "task_type": "contract_review",
  "assigned_to": "[counsel_sys_id]",
  "due_date": "[review_deadline]",
  "state": "1"
}
第 7 步:生成合同分析报告

将完整分析作为工作备注记录在法律案件中。

使用 MCP:

Tool: SN-Add-Work-Notes
Parameters:
  table_name: sn_legal_case
  sys_id: [case_sys_id]
  work_notes: |
    === CONTRACT ANALYSIS REPORT ===
    Contract: [contract_number] - [short_description]
    Vendor: [vendor_name]
    Analyst: AI Contract Analyst
    Date: [current_date]

    CONTRACT OVERVIEW:
    - Type: [contract_type]
    - Effective: [start_date] to [end_date]
    - Total Value: $[total_cost]
    - Auto-Renewal: [Yes/No] | Notice Period: [notice_period] days
    - Governing Law: [jurisdiction]

    KEY TERMS SUMMARY:
    1. Payment: [payment_summary]
    2. Liability Cap: [liability_summary]
    3. Indemnification: [indemnity_summary]
    4. Termination: [termination_summary]
    5. Data Privacy: [privacy_summary]
    6. IP Rights: [ip_summary]
    7. SLA/Performance: [sla_summary]

    RISK ASSESSMENT:
    - Overall Risk Level: [HIGH/MEDIUM/LOW]
    - Critical Issues: [count]
    - High-Risk Items: [count]

    FLAGGED CLAUSES:
    1. [CRITICAL] Section 8.2 - Unlimited liability (standard: 12-month cap)
    2. [HIGH] Section 12.1 - Auto-renew with 30-day notice (standard: 90 days)
    3. [HIGH] Section 15.3 - No DPA attached (required for data processing)
    4. [MEDIUM] Section 6.4 - IP assignment broader than industry standard

    COMPLIANCE REQUIREMENTS:
    - GDPR: [compliant/non-compliant] - [details]
    - SOC 2: [compliant/non-compliant] - [details]
    - Industry-specific: [details]

    RECOMMENDED ACTIONS:
    1. Renegotiate liability cap to 12 months of annual fees
    2. Extend auto-renewal notice period to 90 days
    3. Execute Data Processing Agreement before contract signing
    4. Narrow IP assignment clause to deliverables only

    RENEWAL CALENDAR:
    - Contract Expires: [end_date]
    - Renewal Decision Deadline: [notice_date]
    - Days Until Notice Required: [days_remaining]
第 8 步:更新合同元数据

将分析结果写回合同记录,以便进行合同组合跟踪。

使用 MCP:

Tool: SN-Update-Record
Parameters:
  table_name: ast_contract
  sys_id: [contract_sys_id]
  data:
    risk_level: high
    review_date: [current_date]
    short_description: "[original_description] [REVIEWED]"
    work_notes: "Legal analysis completed. Risk level: HIGH. 4 flagged clauses require renegotiation. See legal case [case_number] for full analysis."

使用 REST API:

PATCH /api/now/table/ast_contract/[contract_sys_id]
Content-Type: application/json

{
  "risk_level": "high",
  "review_date": "[current_date]",
  "work_notes": "Legal analysis completed. Risk level: HIGH. 4 flagged clauses."
}

工具用法

MCP 工具参考
工具使用时机
SN-Natural-Language-Search按供应商名称、类型或描述查找合同
SN-Query-Table对合同、案件、任务和附件执行结构化查询
SN-Get-Record根据 sys_id 检索单个合同或案件
SN-Create-Record为已标记的条款创建法律任务
SN-Update-Record更新合同风险级别和审查元数据
SN-Add-Work-Notes将分析报告发布到法律案件
REST API 参考
端点方法用途
/api/now/table/ast_contractGET查询合同
/api/now/table/ast_contract/{sys_id}GET/PATCH读取或更新合同
/api/now/table/sn_legal_caseGET/POST查询或创建法律案件
/api/now/table/sn_legal_taskPOST为已标记的条款创建审查任务
/api/now/table/sys_attachmentGET检索合同文档附件
/api/now/attachment/{sys_id}/fileGET下载附件内容

最佳实践

  • 使用操作手册: 为每种合同类型(SaaS、专业服务、NDA、许可)维护标准分析模板,以确保一致性
  • 对照标准: 始终将条款与组织批准的合同模板和备选方案进行比较
  • 跟踪偏差: 记录所有偏离标准条款的情况,即使已接受,也应记录,以便了解整个合同组合的风险
  • 设置续约提醒: 至少在自动续约通知截止日期前 90 天创建日历提醒
  • 交叉核对供应商: 检查与同一供应商签订的其他有效合同,以识别总体风险敞口
  • 保护特权信息: 将所有分析工作备注标记为律师—客户特权;不要向非法律人员分享原始分析
  • 关注法规: 始终检查特定司法管辖区的要求(欧盟供应商适用 GDPR,加利福尼亚州适用 CCPA 等)
  • 跟踪版本: 记录分析的合同版本;如存在修订或附函,则予以标记

故障排除

“在 ast_contract 中找不到合同记录”

原因: 根据 CLM 配置,合同可能存储在其他表中 解决方案: 检查 clm_contract_document、sn_sm_contract 或自定义合同表。查询 sys_db_object,使用 nameLIKEcontract 查找所有与合同相关的表。

“无法访问合同附件”

原因: 附件 ACL 限制了访问权限,或文档存储在外部 解决方案: 确认你拥有 itil 或 contract_manager 角色。检查合同是否引用了用于存储文档的外部 URL 字段。

“ast_contract 上没有风险级别字段”

**原因:**该字段可能是自定义添加的,也可能属于可选插件
**解决方案:**使用 name=ast_contract^elementLIKErisk 查询 sys_dictionary,查找可用的风险相关字段。如有需要,可创建自定义字段。

“续约日期的计算似乎不正确”

**原因:**自动续约逻辑可能取决于自定义业务规则或 notice_period 字段的格式
**解决方案:**确认 notice_period 字段存储的是天数(而不是月数)。检查 ast_contract 上用于计算续约日期的业务规则:sys_script,条件为 collection=ast_contract^scriptLIKErenewal。

示例

示例 1:SaaS 供应商协议审查

**输入:**合同 CON0045678 - “Enterprise SaaS Platform - 与 DataCorp 签订的 3 年协议”

分析:

  • 总价值:3 年共 $1.2M
  • 自动续约:是,需提前 30 天通知(已标记:低于 90 天的标准)
  • 责任:赔偿上限为 12 个月费用(可接受)
  • SLA:99.9% 正常运行时间,并提供服务抵扣(可接受)
  • 数据隐私:未包含 DPA(关键:GDPR 要求提供)
  • 总体风险:高(缺少 DPA)

**操作:**创建法律任务,在合同签署前起草并签署 DPA。

示例 2:NDA 审查

**输入:**合同 CON0045679 - “与 AcquiCo 签订的并购尽职调查互保 NDA”

分析:

  • 期限:3 年,终止后存续 2 年
  • 范围:适当地限于交易评估
  • 残余知识条款:存在(中等风险)
  • 禁止招揽:附有 18 个月的附加条款(需要审查)
  • 总体风险:中

操作:

Tool: SN-Update-Record
Parameters:
  table_name: ast_contract
  sys_id: def456abc...
  data:
    risk_level: medium
    review_date: 2026-03-19
    work_notes: "NDA reviewed. Medium risk. Residual knowledge clause and non-solicitation rider flagged for counsel review."
示例 3:合同组合风险审计

输入:“分析未来 90 天内到期的所有合同”

查询:

Tool: SN-Query-Table
Parameters:
  table_name: ast_contract
  query: active=true^endsBETWEENjavascript:gs.beginningOfToday()@javascript:gs.daysAgoEnd(-90)
  fields: sys_id,number,short_description,vendor,ends,auto_renew,notice_period,total_cost,risk_level
  limit: 50
  order_by: ends

**结果:**12 份合同即将到期,其中 4 份为自动续约合同,需在 30 天内发出通知;2 份没有记录风险评估。优先立即审查这 6 份合同。

相关技能

  • legal/legal-request-triage - 对收到的合同审查请求进行分类
  • legal/contract-obligation-extraction - 提取合同中的具体义务
  • legal/legal-matter-summarization - 总结与合同关联的法律事项
  • document/document-extraction - 从合同文档中提取结构化数据
  • document/smart-documents - 管理合同模板并生成合同

评论

支持 Markdown