🧩 MCP生态

MCP协议实战:手把手教你搭建商业合同解析Agent

发布时间:2026-04-22 分类: MCP生态
摘要:用MCP协议搭个Agent,自动啃下商业合同硬骨头想用AI自动化处理那些格式杂乱、条款冗长的商业合同?手动复制粘贴公司名、地址、条款到Excel的苦日子该结束了。今天我们就用一个真实的MSC BELGIUM条款片段,手把手教你用MCP协议搭一个能自动解析、提取、验证合同关键信息的智能体。一、痛点:合同里的“脏数据”怎么洗?看看这段标准条款:MSC BELGIUM MEANS MSC BELG...

封面

用MCP协议搭个Agent,自动啃下商业合同硬骨头

想用AI自动化处理那些格式杂乱、条款冗长的商业合同?手动复制粘贴公司名、地址、条款到Excel的苦日子该结束了。今天我们就用一个真实的MSC BELGIUM条款片段,手把手教你用MCP协议搭一个能自动解析、提取、验证合同关键信息的智能体。

一、痛点:合同里的“脏数据”怎么洗?

看看这段标准条款:

MSC BELGIUM MEANS MSC BELGIUM NV, NOORDERLAAN 127A, 2030 ANTWERP, BELGIUM, INCLUDING ALL ITS BRANCH OFFICES IN BELGIUM.

人工提取很简单:公司名、地址、国家。但当你面对上百份格式各异的合同(有的地址在前,有的用“即”代替“MEANS”,有的分支机构写成“及其所有分公司”),手动处理就崩溃了。

MCP协议的价值:它让AI模型能安全、结构化地调用外部工具。我们的思路是:让Agent读取合同文本 → 调用“条款解析插件”提取实体 → 调用“地址验证API”标准化数据 → 输出干净JSON。

二、实战:开发一个合同解析MCP Server

1. 插件设计思路

我们需要一个MCP Server,提供两个核心工具:

  • extract_contract_entities: 接收文本,返回结构化实体
  • validate_address: 调用外部API验证地址有效性

2. 代码实现(Python示例)

# contract_parser_server.py
from mcp.server import Server
from mcp.types import Tool, TextContent
import json
import re

server = Server("contract-parser")

@server.tool("extract_contract_entities")
async def extract_entities(text: str) -> TextContent:
    """从合同文本提取公司名、地址、分支机构"""
    
    # 简单正则匹配(实际项目用NLP模型)
    company_pattern = r"([\w\s]+(?:NV|SA|LLC|Ltd)\.?)"
    address_pattern = r"(\d+\s+[\w\s]+,\s*\d{4}\s+[\w\s]+,\s*[\w\s]+)"
    
    company = re.search(company_pattern, text)
    address = re.search(address_pattern, text)
    
    # 检测分支机构关键词
    has_branches = "branch" in text.lower() or "分公司" in text
    
    result = {
        "company_name": company.group(1).strip() if company else None,
        "address": address.group(1).strip() if address else None,
        "has_branches": has_branches,
        "raw_text": text
    }
    
    return TextContent(type="text", text=json.dumps(result, ensure_ascii=False))

@server.tool("validate_address")
async def validate_address(address: str) -> TextContent:
    """调用地址验证API(示例用模拟数据)"""
    
    # 实际项目调用Google Maps/高德API
    # 这里模拟验证逻辑
    if "ANTWERP" in address.upper():
        validated = {
            "original": address,
            "standardized": "Noorderlaan 127A, 2030 Antwerpen, Belgium",
            "coordinates": {"lat": 51.2601, "lng": 4.4026},
            "is_valid": True
        }
    else:
        validated = {"original": address, "is_valid": False, "error": "地址未识别"}
    
    return TextContent(type="text", text=json.dumps(validated, ensure_ascii=False))

if __name__ == "__main__":
    server.run()

3. 部署步骤

  1. 安装依赖pip install mcp-server
  2. 启动Serverpython contract_parser_server.py
  3. 在Claude/龙虾客户端配置

    {
      "mcpServers": {
     "contract-parser": {
       "command": "python",
       "args": ["contract_parser_server.py"]
     }
      }
    }

配图

三、工具集成:让Agent自己“查户口”

光提取不够,关键要验证。我们让Agent工作流变成:

  1. 输入:用户粘贴合同片段
  2. Agent调用

    • 先调extract_contract_entities提取原始数据
    • 再调validate_address验证地址
    • 最后调用公司数据库API(如OpenCorporates)查询公司状态
  3. 输出:完整的结构化数据包

集成公司查询的代码扩展

# 在Server中添加新工具
@server.tool("query_company_database")
async def query_company(company_name: str, country: str) -> TextContent:
    """查询公司注册信息"""
    
    # 模拟API调用(实际用requests请求官方商业登记API)
    mock_response = {
        "company": company_name,
        "status": "Active",
        "registration_number": "BE0123456789",
        "registered_address": "NOORDERLAAN 127A, 2030 ANTWERP",
        "last_updated": "2024-11-19"
    }
    
    return TextContent(type="text", text=json.dumps(mock_response))

四、赚钱场景:这玩意怎么变现?

1. 尽职调查自动化(单客户年费5-20万)

  • 痛点:律所/投行处理并购案时,需人工核对几百份合同的主体信息
  • 方案:部署合同解析Agent,自动提取所有关联实体并交叉验证
  • 案例:某深圳跨境并购团队用类似工具,将3天的人工核对缩短到2小时,错误率从15%降至1%

2. 物流信息智能管理(SaaS模式,每月500-3000/用户)

  • 场景:货代公司每天处理上百份提单、运输合同
  • 功能:自动提取发货人、收货人、港口信息,同步到TMS系统
  • 数据:上海某货代公司试用后,单证处理效率提升40%,每月节省1.5个人力成本

3. 合同模板标准化服务(项目制,单次1-5万)

  • 需求:企业法务部需要将历史合同数据化
  • 交付:用MCP Agent批量解析,输出标准化JSON,导入合同管理系统
  • 复制路径:找到有大量PDF合同的中大型企业,提供“AI合同数字化”解决方案

五、下一步行动清单

  1. 技术验证(今天就能做):

    • 复制上面的代码,本地跑通MCP Server
    • 用MSC BELGIUM文本测试,调整正则表达式
  2. 场景选择(本周决定):

    • 选一个你熟悉的行业(货代/律所/贸易公司)
    • 找3个真实用户聊聊他们的合同处理痛点
  3. MVP开发(两周内):

    • 增加PDF解析功能(用PyPDF2)
    • 接入一个免费地址验证API(如OpenStreetMap)
    • 打包成可演示的Agent工作流
  4. 商业化测试(一个月内):

    • 在目标行业社群发案例文章
    • 提供免费试用:解析10份合同换用户反馈
    • 定价测试:基础版999/月,企业定制面议

关键点:别追求完美解析率。先解决80%的标准化问题,剩下20%边缘案例留给人工复核——这才是自动化落地的真实路径。


附:快速测试命令

# 启动你的第一个合同解析Agent
git clone https://github.com/your-repo/contract-mcp
cd contract-mcp
pip install -r requirements.txt
python contract_parser_server.py
# 然后在Claude中输入:“请解析这份合同:MSC BELGIUM MEANS...”
返回首页