关于 Franchise Due Diligence
Franchise Due Diligence 是面向投资者、运营者、律师和顾问的远程 MCP 服务,通过八个数据源并行研究,为加盟体系生成评分、风险信号和投资结论。
主要功能
- 01特许经营者健康度与口碑评分
- 02区域饱和度及经济分析
- 03监管与企业结构调查
- 04投资档案与品牌比较
- 05八个数据源并行采集
适用场景
- 01投资前筛选加盟品牌
- 02扩张前比较目标区域
- 03准备加盟法律审查简报
- 04监测现有加盟业务组合
MCP 相关
它可连接 Claude Desktop、Cursor 和 Windsurf 等兼容 MCP 的客户端。其工具返回结构化的加盟研究结果,包括投资档案、专项评估和品牌基准比较。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcpclaude mcp add --transport http franchise-due-diligence https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcp{"mcpServers":{"franchise-due-diligence":{"type":"http","url":"https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcp"}}}在 Cursor 中打开{"servers":{"franchise-due-diligence":{"type":"http","url":"https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcp"}}}在 VS Code 中打开{"mcpServers":{"franchise-due-diligence":{"type":"http","url":"https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcp"}}}{"mcpServers":{"franchise-due-diligence":{"serverUrl":"https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Franchise Due Diligence MCP Server
快速入门
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf):
{
"mcpServers": {
"franchise-due-diligence-mcp": {
"url": "https://ryanclinton--franchise-due-diligence-mcp.apify.actor/mcp"
}
}
}
在任何兼容 MCP 的 AI 客户端中开展特许经营尽职调查研究——只需调用一个工具,即可获取特许经营商健康评分、投诉趋势、市场饱和度分析、企业结构调查和投资结论,所有信息均来自 8 个并行数据源。本工具专为特许经营投资者、多门店经营者、特许经营律师和顾问打造,帮助他们获得《特许经营信息披露文件》之外的独立情报。
此 MCP 服务将 Company Deep Research、CFPB 消费者投诉、Trustpilot 和多平台评价、OpenCorporates 企业注册信息、Google Maps 门店密度、Federal Register 监管备案信息及 BLS 经济数据整合到四种专有评分模型中。综合算法为特许经营健康度(30%)、市场饱和度(20%)、监管合规性(20%)和加盟商评价(30%)赋予权重,并给出 STRONG_BUY、BUY、HOLD 或 AVOID 结论——让你能够自动使用专业特许经营顾问采用的分析框架,并通过 Claude、Cursor 或任何 AI Agent 轻松访问。
特许经营尽职调查可以提取哪些数据?
| 数据点 | 来源 | 示例 |
|---|---|---|
| 📊 特许经营健康评分(0-100) | 5 个来源的综合评分 | 评分:74,等级:HEALTHY |
| 📋 CFPB 投诉数量和趋势 | CFPB 消费者投诉 | 3 起投诉——消费者记录良好 |
| ⭐ 跨平台平均评价评分 | Trustpilot + Multi-Review Analyzer | 38 条评价,平均 4.2/5 |
| 🏢 企业实体状态和数量 | OpenCorporates | 12 家活跃实体,2 家已解散实体 |
| 📍 每个区域的门店密度 | Google Maps Lead Enricher | 目标都市圈有 14 家门店 |
| 📈 市场饱和度 | Maps + BLS 综合数据 | OPPORTUNITY——市场仍有增长空间 |
| ⚖️ FTC 执法行动数量 | Federal Register | 0 起执法行动——合规 |
| 💰 区域就业和消费者数据 | BLS 经济数据 | 失业率 3.8%,CPI 呈上升趋势 |
| 🏆 投资结论 | 综合评分模型 | BUY——compositeScore:67 |
| 🔍 投资风险列表 | 多来源信号分析 | ["市场有 18 家门店——密度适中"] |
| 💪 投资优势列表 | 多来源信号分析 | ["特许经营健康指标良好"] |
| 🆚 品牌并排对比 | 双特许经营品牌对比 | 识别评价和市场优势 |
为什么使用 Franchise Due Diligence MCP Server?
手动调研一家特许经营体系通常需要 15-20 小时:筛查 FDD 文档、搜索 CFPB 数据库、阅读各平台上的数百条评价、核查多个司法辖区的企业备案信息,并根据劳动力统计数据评估区域经济情况。单项特许经营投资决策通常涉及比较 3-5 个竞争体系,因此在签署任何文件之前,所需时间会增至 75-100 小时。专业的特许经营研究公司评估每个体系所需的员工工时成本为 $200-500。
这个 MCP 服务会自动完成整个数据汇总和评分流程。将其连接到 Claude 或任何 AI Agent,调用 generate_investment_dossier,几分钟内即可获得结构化评估结论,并在回复中直接引用来自 8 个来源的证据。各项工具还可用于有针对性的核查:在承诺加盟区域前检查市场饱和度、追踪你已运营但业绩不佳的体系的投诉趋势,或在两个特许经营机会之间做出选择时进行正面对比。
- 定时执行 — 每季度运行特许经营健康监测,在口碑趋势影响单店经济效益之前及时追踪
- API 访问 — 通过 Python、JavaScript 或任何 HTTP 客户端,在交易流程中触发特许经营评估
- 并行数据收集 — 同时查询全部 8 个数据源,而非依次查询,将响应时间控制在 2 分钟以内
- 监控 — 特许经营评估完成或达到预算上限时,通过 Slack 或电子邮件接收提醒
- 集成 — 通过 Webhook 将结果连接到 Zapier、Make、Google Sheets 或交易管理 CRM
功能
- 特许经营健康评分(0-100),综合评价评论质量(最高 30 分)、CFPB 投诉扣分(每起投诉扣 3 分,最多扣 25 分)、企业实体健康状况(最高 25 分)和公司研究信号(最高 20 分)
- 市场饱和指数,采用 4 项评分:Google Maps 地点密度(每个地点 2 分,最高 40 分)、现有地点的评分分布(最高 25 分)、BLS 失业率和消费者指标(最高 20 分),以及超过 5 个地点的地理集中度(最高 15 分)
- 监管合规档案,追踪 FTC 特许经营规则引用、通过扫描《Federal Register》标题统计执法行动数量、投诉与法规的管道比率,以及两个监管来源的数量压力
- 特许经营商情绪趋势,采用 4 项评分:平均评分(最高 35 分)、评论数量健康度(最高 25 分)、低评分比例反向计分(最高 20 分;1–2 星评论越少,得分越高)、CFPB 投诉抵扣(最高 20 分)
- 综合投资结论,特许经营健康状况占 30%、反向市场饱和度占 20%、反向监管合规度占 20%、情绪占 30%——设有覆盖逻辑:若健康状况为 FAILING 或监管分类为 CRITICAL,则无论其他评分如何,均强制给出 AVOID 结论
- 通过
Promise.allSettled并行调度 8 个数据源,单个来源发生故障时会返回空数组,而不会中止整个评估 - 5 级饱和度分类,从 UNDERSERVED 到 OVERSATURATED,并针对每个组成部分提供区域专属信号说明
- 5 级情绪分类,从 DECLINING 到 EXCELLENT,并提供百分比明细和投诉数量
- 品牌正面对比,同时并行收集两个特许经营体系的数据,并判定哪一方在情绪方面更具优势、哪一方拥有更大的市场机会
- 区域经济评分,结合 BLS 就业序列(LNS14 失业率、CPI 消费者数据)与特定都会区的 Google Maps 竞争密度
- 企业结构调查,可选按司法管辖区代码筛选,并通过匹配 OpenCorporates 状态字段分析已解散、活跃和已注销实体的比例
- 对每次工具调用强制执行支出限额——达到配置的预算后,运行会正常停止,绝不会在不告知的情况下超额收费
特许经营尽职调查用例
投资前特许经营评估
一位潜在特许经营商已将候选名单缩小到三个餐饮特许经营体系。在支付律师费用审阅每份 FDD 之前,他们使用 evaluate_franchisor 获取这三个体系各自独立的特许经营健康评分。某个体系有 22 起 CFPB 投诉,评论平均分为 2.8/5,因此在产生律师费之前就被排除在考虑范围之外。其余候选项进入详细审查阶段,并有清晰的证据链说明决策依据。
多店经营者扩展区域
一位拥有 4 家门店的现有特许经营商,想在邻近都会区再开 2 家门店。他们调用 assess_market_saturation,评估该城市中其特许经营品牌的市场饱和度,发现已有 19 个地点,而 BLS 数据显示消费者支出低于平均水平,因此得到 CROWDED 饱和度评分。随后,他们转向邻近市场:那里只有 4 个地点,就业数据强劲,且评估结果为 OPPORTUNITY——在承诺开始租赁谈判之前,先选择风险较低的区域。
为特许经营律师提供尽职调查支持
一位特许经营律师在准备 FDD 审阅时,使用 investigate_corporate_structure 在客户会面前梳理特许经营商的法律实体结构。该工具发现 3 个司法管辖区内有 7 个已解散实体,并将其标记为结构性风险;track_franchise_regulation 则从《Federal Register》中找到了 3 项 FTC 特许经营规则引用。这些发现会直接纳入律师给客户的简报,将数据收集时间从数天缩短至数分钟。
用于投资筛选的竞争性特许经营品牌对标
一家正在评估两个相互竞争的健身特许经营体系的私募股权公司,使用两个品牌名称调用 benchmark_franchise_brand。该工具会在一次结构化比较中返回并列的口碑评分、市场饱和指数和投诉量。口碑优势更明显、饱和度评分更低的品牌将进入收购流程的下一阶段,并附有记录在案的理由。
对现有经营者进行持续投资组合监测
一家多门店特许经营商每季度定期运行 analyze_complaint_trajectory,跟踪其正在经营的体系的品牌健康状况。CFPB 投诉量激增,且两个季度内平均评分从 4.1 降至 3.4,这会触发与特许人提前沟通——比体系范围内的支持力度下降影响门店销售早数月。
特许经营顾问为客户提供建议
特许经营顾问在接手新客户时,会将 generate_investment_dossier 作为合作的第一步,生成一份结构化简报,按四个评分维度归类风险和优势。结构化 JSON 输出可直接用于客户演示,无需花费数小时进行人工调研。
如何运行特许经营尽职调查分析
- 连接 MCP 服务 — 将服务 URL 添加到 MCP 客户端配置中。对于 Claude Desktop,请将下方连接部分中的 JSON 代码块粘贴到
claude_desktop_config.json。对于 Cursor、Windsurf 或 Cline,请使用相同的端点 URL 和 Bearer 令牌标头。 - 选择工具 — 从
generate_investment_dossier开始,并提供特许经营品牌名称(例如 “Anytime Fitness”),还可选择提供目标地区(例如 “Austin, TX”)。如需更快地进行针对性检查,请使用assess_market_saturation或analyze_complaint_trajectory等单项工具。 - 等待并行数据收集 — MCP 会同时查询多达 8 个来源。完整评估档案需 90-120 秒。单项工具需 30-60 秒。
- 查看结构化结论 — 结果会以结构化 JSON 的形式显示在 AI 聊天中,其中包含投资结论、各维度的评分、解释每个评分组成部分的信号列表,以及来自各个来源的支持数据。
MCP 工具
| 工具 | 价格 | 参数 | 描述 |
|---|---|---|---|
evaluate_franchisor | $0.045 | franchise(必填) | 公司调查、OpenCorporates、Trustpilot、多平台评价和 CFPB。返回 0-100 的特许经营健康评分,并附带 healthLevel 分类 |
analyze_complaint_trajectory | $0.045 | franchise(必填) | CFPB 投诉、Trustpilot 和多平台评价。返回特许经营者情绪趋势及评分和投诉细分 |
assess_market_saturation | $0.045 | franchise(必填)、location(可选) | Google Maps 地点密度和 BLS 经济指标。返回饱和度分类和区域信号 |
investigate_corporate_structure | $0.045 | franchise(必填)、jurisdiction(可选) | OpenCorporates 实体搜索和公司调查。返回实体树,并标注存续/已解散状态 |
track_franchise_regulation | $0.045 | topic(可选)、franchise(可选) | 《联邦公报》中的 FTC/特许经营规则和 CFPB。返回监管合规档案,并统计执法行动数量 |
benchmark_franchise_brand | $0.045 | franchise_a(必填)、franchise_b(必填) | 并行比较两个特许经营品牌的情绪、饱和度、投诉和地点密度 |
score_territory_economics | $0.045 | location(必填)、franchise(可选) | BLS 就业和消费者数据,以及 Google Maps 竞争密度。返回经济指标和地点数量 |
generate_investment_dossier | $0.045 | franchise(必填)、location(可选) | 汇总所有 8 个数据源和 4 个评分模型,给出综合 STRONG_BUY/BUY/HOLD/AVOID 结论,并列出风险和优势 |
输入提示
- 从
generate_investment_dossier开始——它会在一次调用中运行所有 8 个数据源和 4 个模型,费用为 $0.045。先全面了解情况,再用针对性工具深入分析 - 在
assess_market_saturation和score_territory_economics中务必提供location——不提供时,查询会默认使用全国数据,从而弱化特定区域的信号 - 使用特许经营品牌面向消费者的确切名称(例如,“Jersey Mike's Subs”,而不是“Jersey Mike's Franchise Systems”)——数据源 API 会根据公众熟知的名称进行匹配
- 比较多个体系时,先运行
benchmark_franchise_brand,再运行evaluate_franchisor——基准比较的费用与单次评估相同,而且可以立即提供相对背景 - 在 Apify 运行设置中为每次运行设置支出限额,以限制 Agent 循环中反复调用工具产生的费用
输出示例
{
"entity": "Pinnacle Fitness Franchise",
"compositeScore": 71,
"verdict": "BUY",
"franchiseHealth": {
"score": 74,
"complaintCount": 2,
"reviewScore": 4.1,
"corporateFlags": 1,
"healthLevel": "HEALTHY",
"signals": [
"Strong review sentiment: 4.1/5 average",
"No CFPB complaints — clean consumer record",
"8 active corporate entities — established structure"
]
},
"marketSaturation": {
"score": 32,
"locationDensity": 11,
"economicViability": 8,
"saturationLevel": "OPPORTUNITY",
"signals": [
"11 locations found — moderate presence",
"Most locations highly rated — strong brand execution"
]
},
"regulatoryCompliance": {
"score": 14,
"regulationCount": 3,
"enforcementActions": 0,
"complianceLevel": "MINIMAL",
"signals": [
"3 FTC Franchise Rule references — disclosure requirements active"
]
},
"franchiseeSentiment": {
"score": 76,
"totalReviews": 29,
"averageRating": 4.1,
"sentimentTrend": "STRONG",
"signals": [
"Excellent sentiment: 4.1/5",
"29 reviews providing solid signal base"
]
},
"allSignals": [
"Strong review sentiment: 4.1/5 average",
"No CFPB complaints — clean consumer record",
"8 active corporate entities — established structure",
"11 locations found — moderate presence",
"Most locations highly rated — strong brand execution",
"3 FTC Franchise Rule references — disclosure requirements active",
"Excellent sentiment: 4.1/5"
],
"investmentRisks": [],
"investmentStrengths": [
"Strong franchise health indicators",
"Market has room for growth",
"Excellent consumer/franchisee sentiment",
"Low regulatory burden"
]
}
输出字段
| 字段 | 类型 | 描述 |
|---|---|---|
entity | string | 传递给工具的特许经营品牌名称 |
compositeScore | number | 加权综合评分,范围为 0–100:健康度占 30% + 饱和度反向计分占 20% + 监管反向计分占 20% + 情绪占 30% |
verdict | string | STRONG_BUY(≥75)/ BUY(≥55)/ HOLD(≥35)/ AVOID(<35 或触发覆盖条件) |
franchiseHealth.score | number | 0–100,基于评价质量 + 投诉惩罚 + 企业健康状况 + 公司信号 |
franchiseHealth.complaintCount | number | 检索到的 CFPB 投诉原始数量 |
franchiseHealth.reviewScore | number | Trustpilot + 多平台评价的平均评分(保留 1 位小数) |
franchiseHealth.corporateFlags | number | 找到的已解散/不活跃/已注销企业实体数量 |
franchiseHealth.healthLevel | string | FAILING / STRUGGLING / AVERAGE / HEALTHY / THRIVING |
franchiseHealth.signals | string[] | 对各评分组成部分的易读说明 |
marketSaturation.score | number | 0–100,分数越高表示市场越饱和(高分对新进入者不利) |
marketSaturation.locationDensity | number | 通过 Google Maps 找到的现有特许经营地点数量 |
marketSaturation.economicViability | number | BLS 经济实力净评分(失业率 + 消费者指标) |
marketSaturation.saturationLevel | string | UNDERSERVED / OPPORTUNITY / BALANCED / CROWDED / OVERSATURATED |
regulatoryCompliance.score | number | 0–100,分数越高表示监管负担越重 |
regulatoryCompliance.regulationCount | number | 检索到的与特许经营/主题相关的 Federal Register 文件数量 |
regulatoryCompliance.enforcementActions | number | 提及执法、处罚或 FTC 行动的文件数量 |
regulatoryCompliance.complianceLevel | string | MINIMAL / STANDARD / ELEVATED / HEAVY / CRITICAL |
franchiseeSentiment.score | number | 0–100,分数越高表示情绪越积极 |
franchiseeSentiment.totalReviews | number | 在所有平台分析的评价总数 |
franchiseeSentiment.averageRating | number | 加权平均评分,范围为 0–5(保留 1 位小数) |
franchiseeSentiment.sentimentTrend | string | DECLINING / STABLE / IMPROVING / STRONG / EXCELLENT |
allSignals | string[] | 合并四种评分模型的信号列表 |
investmentRisks | string[] | 根据评分阈值自动识别的风险标记 |
investmentStrengths | string[] | 根据评分阈值自动识别的优势标记 |
特许经营尽职调查费用是多少?
此 MCP 服务采用按事件付费定价——每次工具调用收费 $0.045。平台计算费用已包含在内。无需订阅,也没有最低消费。
| 场景 | 工具调用次数 | 每次调用费用 | 总费用 |
|---|---|---|---|
| 单项工具测试(仅投诉) | 1 | $0.045 | $0.045 |
| 基本的特许经营商评估 | 1 | $0.045 | $0.045 |
| 评估 + 区域 + 情绪(3 个工具) | 3 | $0.045 | $0.14 |
| 比较 5 个特许经营体系(基准测试工具) | 5 | $0.045 | $0.23 |
| 完整流程:档案 + 区域 + 季度监控 | 12 | $0.045 | $0.54 |
你可以为每次运行设置最高支出限额以控制费用。达到预算后,MCP 会正常停止,并返回明确的错误消息,而不是部分结果。
专业研究公司的特许经营律师和顾问通常每评估一个特许经营项目,就要花费 $200–500 的员工研究时间。每次工具调用仅需 $0.045,一份完整的特许经营投资档案不到一杯咖啡的价格。Apify 免费层每月包含 $5 的平台额度,无需提供付款方式,即可支付 100 多次工具调用。
使用 API 进行特许经营尽职调查
Python
import urllib.request, json
url = "https://franchise-due-diligence-mcp.apify.actor/mcp"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_investment_dossier",
"arguments": {
"franchise": "Pinnacle Fitness Franchise",
"location": "Austin, TX"
}
},
"id": 1
}
req = urllib.request.Request(url, json.dumps(payload).encode(), headers)
with urllib.request.urlopen(req) as resp:
result = json.loads(resp.read())
dossier = json.loads(result["result"]["content"][0]["text"])
print(f"Verdict: {dossier['verdict']} — Composite Score: {dossier['compositeScore']}/100")
print(f"Health: {dossier['franchiseHealth']['healthLevel']} ({dossier['franchiseHealth']['score']}/100)")
print(f"Saturation: {dossier['marketSaturation']['saturationLevel']}")
print(f"Sentiment: {dossier['franchiseeSentiment']['sentimentTrend']} — {dossier['franchiseeSentiment']['averageRating']}/5")
for strength in dossier["investmentStrengths"]:
print(f" + {strength}")
JavaScript
const url = "https://franchise-due-diligence-mcp.apify.actor/mcp";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "generate_investment_dossier",
arguments: {
franchise: "Pinnacle Fitness Franchise",
location: "Austin, TX"
}
},
id: 1
})
});
const result = await response.json();
const dossier = JSON.parse(result.result.content[0].text);
console.log(`Verdict: ${dossier.verdict} (${dossier.compositeScore}/100)`);
console.log(`Health: ${dossier.franchiseHealth.healthLevel}`);
console.log(`Saturation: ${dossier.marketSaturation.saturationLevel}`);
console.log(`Sentiment: ${dossier.franchiseeSentiment.sentimentTrend} — ${dossier.franchiseeSentiment.averageRating}/5`);
for (const strength of dossier.investmentStrengths) {
console.log(` + ${strength}`);
}
cURL
# Full investment dossier — STRONG_BUY/BUY/HOLD/AVOID verdict
curl -X POST "https://franchise-due-diligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_investment_dossier",
"arguments": {
"franchise": "Pinnacle Fitness Franchise",
"location": "Austin, TX"
}
},
"id": 1
}'
# Compare two franchise systems head-to-head
curl -X POST "https://franchise-due-diligence-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "benchmark_franchise_brand",
"arguments": {
"franchise_a": "Anytime Fitness",
"franchise_b": "Planet Fitness"
}
},
"id": 2
}'
如何连接此 MCP 服务
Claude Desktop
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"franchise-due-diligence": {
"url": "https://franchise-due-diligence-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor、Windsurf、Cline 和其他 MCP 客户端
在客户端的 MCP 服务配置中使用相同的端点 URL 和 Authorization 标头。服务使用 Streamable HTTP 传输(每个请求均无状态),兼容所有 MCP 1.x 客户端。
Endpoint: https://franchise-due-diligence-mcp.apify.actor/mcp
Method: POST
Auth: Bearer YOUR_APIFY_TOKEN
Franchise Due Diligence MCP 的工作原理
阶段 1:并行收集数据
调用任何工具时,runActorsParallel 都会使用 Promise.allSettled 同时分派所有必需的 actor 调用。这意味着,收集完整的 8 个来源档案所需的时间大致等于最慢的单个来源所需的时间,而非其 8 倍。单个来源发生故障时会返回空数组,而不会中止整个运行——评分模型会通过使用保守的默认值,在数据缺失时平稳降级。
通过 Apify 客户端配置,每次 actor 调用的内存上限为 256 MB,超时时间为 120 秒。Actor ID 采用硬编码而非动态查询,以确保始终定位到正确版本的 actor:Company Deep Research(2cAY2V9yz1JE2H1S2)、CFPB Complaints(OuMDkYU3IROUS0AEj)、Trustpilot Review Analyzer(BLXRNH33QZNOoyKEg)、Multi-Review Analyzer(S85IfVOoTyN9XWyXs)、OpenCorporates(x0a1Q4g0MLc7h15Im)、Google Maps Lead Enricher(nbWolQ1LMHgZsZeSg)、Federal Register(8bZkbWKlXQrDq0ZgK)、BLS Economic Data(7IoF52qtM0SrQcCDG)。
阶段 2:四种独立评分模型
每种评分模型都会处理特定来源的原始数据数组,并返回一个经过归一化的 0-100 分数,以及分类等级和易于理解的信号说明。
特许经营健康评分会从 Trustpilot 和多评论数组中提取评分,计算平均评分,并通过 meanRating * 6 将其映射为最高 30 分的分项。CFPB 投诉数量每起扣 3 分,最多扣 25 分,然后反向计分。OpenCorporates 实体通过匹配 company_status 和 status 字段中的字符串,解析其处于活跃还是已解散状态。系统会对公司研究条目进行全文关键词搜索:增长/扩张/收入为正面信号,而诉讼/破产/欺诈/下滑为负面信号。
市场饱和度指数以 Google Maps 地点数量计算密度分项(每个地点 2 分,最高 40 分)。评分低于 3.5 的地点会累积为质量下降信号。系统会将 BLS 序列 ID 与 LNS14 失业率模式和 CPI 消费者指标进行匹配:失业率低于 4.0% 时增加 5 分经济实力分,失业率高于 6.0% 时扣除 3 分。地理集中度按超过 5 个地点基准的每个地点增加 2 分,最多额外增加 15 分。
监管合规概况会扫描 Federal Register 文件标题,查找“enforcement”“penalty”“ftc”“franchise”“fdd”和“disclosure”等关键词。投诉与监管比率用于反映存在投诉却没有相应监管回应的情况。数量压力综合 CFPB 和 Federal Register 来源的原始计数。
特许经营者情绪趋势会合并 Trustpilot 和多评论数组,平均评分占 35 分、评论数量占 25 分、低评分(1-2 星)比例反向计分占 20 分,CFPB 投诉数量调整项占 20 分。
阶段 3:综合评分与结论
投资档案会综合所有四项评分:health * 0.30 + (100 - saturation) * 0.20 + (100 - regulatory) * 0.20 + sentiment * 0.30。由于较高的饱和度和监管评分代表对投资者更不利的结果,因此这两项评分会反向计算。综合评分根据 75、55 和 35 的阈值映射为结论。两种覆盖条件无论综合评分如何,都会强制给出 AVOID:healthLevel === 'FAILING'(分数低于 20)或 complianceLevel === 'CRITICAL'(监管评分高于 80)。
第 4 阶段:MCP 协议传输
服务使用 MCP SDK 中的 StreamableHTTPServerTransport,并将 sessionIdGenerator 设为无状态模式——每个 POST 请求都会创建一个新的服务实例,使服务能够水平扩展,并兼容 Apify 的待机基础设施。在待机模式下,Express 应用运行在 ACTOR_STANDBY_PORT 上;在正常的 Actor 运行模式下,它会在 1 秒后正常退出,以通过健康检查。
获得最佳结果的提示
-
进行市场饱和度分析时,请提供地区位置。 调用
assess_market_saturation或score_territory_economics时,如果不提供位置,返回的是全国范围的数据。添加具体的城市或都会区(例如“科罗拉多州丹佛”),可以让 Google Maps 密度和 BLS 数据更贴合你的实际投资决策。 -
在深入评估前,先使用
benchmark_franchise_brand。 两两比较的成本为 $0.045,并能立即判断哪个加盟体系在市场口碑和市场定位方面更有优势。将数据需求更高的evaluate_franchisor调用留给更有潜力的候选对象。 -
将 CFPB 投诉数量视为领先指标。 CFPB 数据库会记录那些尚未升级为监管行动的投诉。某个加盟品牌若有 15 起以上 CFPB 投诉,且没有 Federal Register 回复,说明执法风险正在累积——“High complaints but no regulatory response — enforcement risk building”这一信号会专门标记此类情况。
-
覆盖信号的优先级高于综合评分。 如果覆盖逻辑给出 AVOID 结论(健康状况为 FAILING 或监管级别为 CRITICAL),无论其他维度的得分多高,都必须停止。仔细查看
allSignals数组,再解读综合评分,切勿只看综合评分。 -
每季度运行一次,以监控投资组合。 加盟品牌的健康状况变化较慢。对于你已经运营的加盟业务,每 90 天运行一次
analyze_complaint_trajectory,可以及早发现体系恶化——口碑下滑通常会比单元层面的销售额下降提前 2–4 个季度。 -
将其与 FDD 审查结合使用,而非取而代之。 此 MCP 会呈现独立的公共数据信号,可补充加盟商披露的信息,有时也会与之矛盾。可将评分用作初筛和提出假设的依据,然后在实际的 FDD 中核实重要发现。
-
为 Agent 工作流设置单次运行支出上限。 使用工具调用循环的 AI Agent 可能会在单次会话中多次调用 MCP 工具。在 Apify 运行设置中配置最高支出,以防开发期间产生意外费用。
与其他 Apify Actor 结合使用
| Actor | 组合方式 |
|---|---|
| Company Deep Research | 对特许经营商的母公司开展独立的深度研究,补充档案中未涵盖的管理和财务信息 |
| Trustpilot Review Analyzer | 在品牌层面评估后,提取特定特许经营门店的详细评论文本和情感倾向 |
| Multi-Review Analyzer | 针对区域研究中识别出的特定特许经营门店地址,收集来自 Google、Yelp 和 Trustpilot 的跨平台评论 |
| Google Maps Lead Enricher | 在分析市场饱和度后,为单个特许经营门店列表补充完整联系信息,包括电话、网站和营业时间 |
| Website Contact Scraper | 在识别目标特许经营体系后,提取特许经营经纪人和顾问的联系方式,用于外联 |
| B2B Lead Qualifier | 在投入时间进行完整评估前,为来自贸易展会或经纪人网络的特许经营开发潜在客户评分 |
| Website Change Monitor | 在评估和签署合同期间,监控特许经营商网站及 FDD 专题页面的重要变更 |
局限性
- 没有 FDD 或 Item 19 财务数据。 8 个公开数据源均未提供特许经营披露文件(FDD)内容、Item 19 财务业绩陈述或经审计的财务报表。此 MCP 使用代理信号(评价情绪、投诉趋势、门店密度)作为系统健康状况的指标,而非直接的财务业绩数据。
- 评价数据混合了消费者和加盟商的观点。 Trustpilot 和多平台评价会汇总客户评价,偶尔也会包含加盟商评价,但不会区分两者。情绪信号反映的是品牌的公众声誉,而非单独的加盟商满意度。
- CFPB 仅涵盖金融服务投诉。 CFPB 数据库收录的是与金融产品和服务相关的投诉。非金融类特许经营投诉(食品质量、服务问题、劳动纠纷)不会收录在此。没有金融产品相关业务的特许经营类别(食品、健身、家庭服务)自然会显示较少的 CFPB 投诉,这并不一定代表表现更好。
- OpenCorporates 的覆盖范围因司法管辖区而异。 美国、英国和许多欧盟司法管辖区的公司注册数据较为全面,但覆盖较少的州和国际市场的数据可能不完整或有所延迟。实体数量应视为最低数量,而非确定的总数。
- Google Maps 密度仅反映公开列出的门店。 未认领或创建 Google Maps 商家信息的特许经营门店不会计入密度统计,因此某些市场的饱和度可能被低估。
- BLS 经济数据默认按全国或州级提供。 获取都市圈以下或邻里级经济数据需要自定义 BLS 系列 ID,而默认查询不支持此类 ID。总体就业和消费者指标可能无法反映本地市场状况。
- 评分模型基于信号,而非预测。 评分反映当前的公开数据信号,不保证投资结果,也不预测未来的特许经营系统表现。应将其作为适当尽职调查流程中的众多参考因素之一。
- 每次 actor 调用的 API 超时为 120 秒。 如果源 actor 负载较高,单次工具调用可能接近超时上限。
Promise.allSettled模式会为超时的数据源返回空数组,而非直接失败,但受影响的评分维度将采用保守的默认值。
集成
- Zapier — 当新线索进入交易管道电子表格时,触发生成特许经营档案,并自动将结论评分写回对应行
- Make — 构建多步骤工作流,评估特许经营项目、筛除 AVOID 结论,并仅为 BUY 及以上的项目在 CRM 中创建交易记录
- Google Sheets — 将特许经营评分和信号列表导入跟踪表,以监控多个特许经营系统的投资组合
- Apify API — 从交易管理系统、特许经营经纪平台或自定义研究应用中,以编程方式调用任意工具
- Webhooks — 每季度的特许经营健康监测完成后,通过 Slack 或电子邮件接收通知
- LangChain / LlamaIndex — 将此 MCP 服务集成为 LangChain Agent 或 LlamaIndex 工作流中的工具,构建自动化特许经营研究流水线
故障排除
结论为 AVOID,但各项评分看起来合理。 评分模型包含两个覆盖条件,无论综合评分如何,都会强制返回 AVOID:franchiseHealth.healthLevel === 'FAILING'(评分低于 20)或 regulatoryCompliance.complianceLevel === 'CRITICAL'(监管评分高于 80)。请直接检查输出中的这两个字段。如果两者都显示为非严重级别,请提交问题——这可能是一个值得调查的评分边缘案例。
市场饱和度评估返回的地点数量非常少。 Google Maps 匹配使用加盟品牌面向消费者的名称。请尝试不同写法:“Subway”与“Subway Sandwiches”,或“H&R Block”与“H and R Block”。同时确认你提供了地点参数——如果未提供,查询返回的将是稀疏的全国样本,而不是目标区域的密度统计。
generate_investment_dossier 运行时间超过 2 分钟。 完整档案会并行查询 8 个来源,每个来源的单独超时时间为 120 秒。如果底层 actor 负载较高,总耗时可能接近 3-4 分钟。这是预期行为。如果调用持续超时,请尝试分别调用 evaluate_franchisor 和 assess_market_saturation 工具——它们涵盖了大部分相同数据,且并行调用规模较小。
评论评分为 0,且没有评论信号时,情绪结果显示为 DECLINING。 这通常意味着加盟品牌名称未能匹配到 Trustpilot 或多平台搜索中的任何结果。请尝试使用更短或更常见的名称。一些区域性或新兴加盟体系的评论覆盖度很低——此时会显示信号 'No reviews found — limited brand visibility or new franchise'。
大型加盟品牌的企业结构仅返回 1-2 个实体。 OpenCorporates 按名称搜索。母公司的名称通常与运营品牌不同(例如,“Doctor's Associates Inc.”运营 Subway)。对于规模较大的体系,请使用母公司的法定名称,而非品牌名称,运行 investigate_corporate_structure。
负责任地使用
- 此 MCP 服务仅访问政府数据库、消费者评论平台和企业注册机构中公开提供的数据。
- 所有数据来源——CFPB、Federal Register、BLS、OpenCorporates、Trustpilot——均提供公共 API 或可公开访问的数据库。
- 在适当的尽职调查流程中,应将投资信号作为参考依据之一,而非投资决策的唯一基础。
- 在咨询、法律或投资场景中使用加盟情报数据时,请遵守适用法律。
- 有关网页抓取和数据使用合法性的指南,请参阅 Apify 的指南。
常见问题
通过此 MCP 进行加盟尽职调查,与阅读 FDD 有何不同? FDD 由加盟商编写,并按固定计划接受审计。此 MCP 提供来自公开数据来源的实时独立信号,包括投诉数据库、消费者评论、企业注册信息和经济指标;这些数据会持续更新,可能与 FDD 披露的信息相矛盾,也可能对其进行补充。两者相辅相成,不能相互替代。
一次会话中可以评估多少个加盟体系?
每次会话没有数量限制。每次工具调用单独计费,价格为 $0.045。你可以在一次 AI 会话中使用 benchmark_franchise_brand 初步筛选 100 个加盟体系,费用为 $4.50,然后再使用 evaluate_franchisor 深入评估最有潜力的候选对象。
加盟尽职调查适用于国际加盟体系吗?
覆盖范围取决于数据来源。CFPB 和 Federal Register 的数据仅限美国。OpenCorporates 覆盖全球 140 多个司法管辖区。Trustpilot 和 Google Maps 覆盖国际市场。BLS 数据仅限美国。对于美国以外的加盟分析,evaluate_franchisor 和 benchmark_franchise_brand 会返回部分结果——评价和企业数据——而美国监管和经济相关部分则采用保守默认值。
加盟健康评分有多准确? 该评分反映公开信号的权重,并非对加盟财务状况的审计。它旨在快速筛选出值得深入审查的体系,并可靠地标记明显的危险信号:大量投诉、实体已解散、评价不佳。对于 40–60 分的临界评分,在得出结论前应使用单项工具调用进行后续调查。
我可以使用此 MCP 监控自己已经拥有的加盟业务吗?
可以。每季度运行 analyze_complaint_trajectory,即可及早发现品牌状况恶化的迹象。在 Apify 平台上将其设为定时运行,即可自动执行,并在评估完成时接收 webhook 通知——为现有投资提供省力的预警系统。
市场饱和度评分是如何计算的? 饱和度由四个部分组成:Google Maps 上的地点密度(每个地点计 2 分,最高 40 分)、现有地点的低评分比例(当许多地点低于 3.5 星时最高 25 分)、BLS 经济指标(根据失业率和 CPI 数据计分,最高 20 分),以及超过 5 个地点时的地理集中度(最高 15 分)。分数越高,表示市场越拥挤——新进入者的机会越少。
使用这些数据进行加盟投资研究合法吗? 合法。所有数据来源均为公开的政府数据库、受监管的消费者投诉登记系统或公开评价平台。请参阅 Apify 关于网页抓取合法性的指南。
如果运行尽职调查档案时 8 个数据源之一发生故障,会怎样?
Agent 客户端使用 Promise.allSettled,因此单个数据源故障时会返回空数组,而不会中止运行。受影响的评分维度会采用保守的中间范围默认值,该维度的信号数组也会为空。所有输出字段始终都会保留,因此可以清楚看出哪些维度有数据,哪些使用了默认值。
这与聘请加盟顾问有何不同? 加盟顾问会运用自动化工具无法复制的专业判断、行业关系和经验。此 MCP 提供数据基础——投诉记录、评价分析、企业结构、市场经济状况——而顾问通常每次服务要花 10–20 小时收集这些信息。它能减轻研究负担,但不能替代对重大决策的专业建议。
我可以将此 MCP 连接到 Cursor 或其他编码 AI 工具吗?
可以。该服务使用标准的 Streamable HTTP MCP 传输方式,兼容 Cursor、Windsurf、Cline 和任何 MCP 1.x 客户端。请使用端点 https://franchise-due-diligence-mcp.apify.actor/mcp,并将 Apify 令牌作为 Bearer Authorization 标头。
“避免”结论覆盖规则是什么意思?
无论综合评分如何,满足以下任一条件都会强制给出“避免”结论:加盟健康评分被判定为“未通过”(分数低于 20),或监管合规被判定为“严重”(分数高于 80)。这表示,即使其他信号为正面,单个维度的严重程度也足以要求立即停止。
生成一份完整的投资档案需要多长时间?
generate_investment_dossier 工具会并行查询 8 个参与方,每个查询的上限为 120 秒。实际情况下,完整档案通常需要 90–150 秒,具体取决于数据量和来源负载。单个工具——evaluate_franchisor、assess_market_saturation——通常需要 30–60 秒。
帮助我们改进
如果遇到问题,可以在 Apify 账户中启用运行共享,帮助我们更快地排查问题:
- 前往账户设置 > 隐私
- 启用与公开 Actor 创建者共享运行记录
这样,如果出现问题,我们就能查看运行详情,从而更快地修复问题。你的数据仅对 Actor 开发者可见,不会公开。
支持
发现 Bug 或有功能建议?请在此 Actor 页面上的 Issues 标签页中提交问题。如需定制特许经营研究工作流、企业集成或批量评估流程,请通过 Apify 平台联系我们。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。