TexasRatedPros Rankings
Texas service-company rankings, profiles, comparisons, score breakdowns, and methodology.
我该使用它吗
质量与安全性
发现(2)
- LOW在 list_categories 中
- LOW在 get_score_breakdown 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"rankings": {
"url": "https://www.texasratedpros.com/api/mcp"
}
}
}远程端点
https://www.texasratedpros.com/api/mcpstreamable-http它能做什么
工具清单
工具(8)
🟢list_metros
The metropolitan areas with published rankings, and which service categories each one covers. Call this first to learn the slugs the other tools expect.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"metros": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
}
}
},
"required": [
"slug",
"name",
"region",
"categories"
],
"additionalProperties": false
}
}
},
"required": [
"metros"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_categories
Every service category the site ranks, with a note on what Texas does and does not license for that trade.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"vertical": {
"type": "string"
},
"licensingNote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"name",
"vertical",
"licensingNote"
],
"additionalProperties": false
}
}
},
"required": [
"categories"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_rankings(metro, category, limit, include_bubble)
The ranked list of independent companies for one category in one metropolitan area, with scores, verification status, and the reasons any tracked company is unranked. Franchise and chain locations are excluded by editorial policy.
输入模式
{
"type": "object",
"properties": {
"metro": {
"type": "string",
"description": "Metro slug, e.g. austin"
},
"category": {
"type": "string",
"description": "Category slug, e.g. house-cleaning"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"include_bubble": {
"description": "Include eligible companies below the published cap",
"type": "boolean"
}
},
"required": [
"metro",
"category"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"metro": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"name",
"region"
],
"additionalProperties": false
},
"category": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
},
"updatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"totalRanked": {
"type": "number"
},
"totalTracked": {
"type": "number"
},
"franchisesExcluded": {
"type": "number"
},
"excludedBrands": {
"type": "array",
"items": {
"type": "string"
}
},
"reviewsAnalyzed": {
"type": "number"
},
"marketMedianRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Null when tracked but not ranked"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trpScore": {
"type": "number"
},
"scoreBand": {
"type": "string"
},
"confidenceTier": {
"type": "string"
},
"rankChange": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Positions gained since the previous reconstitution"
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
},
"idNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifiedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifyUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "What this credential does not prove"
}
},
"required": [
"slug",
"name",
"authority",
"idNumber",
"verifiedOn",
"verifyUrl",
"caveat"
],
"additionalProperties": false
}
},
"disclosures": {
"type": "array",
"items": {
"type": "string"
}
},
"profileUrl": {
"type": "string"
}
},
"required": [
"rank",
"slug",
"name",
"city",
"trpScore",
"scoreBand",
"confidenceTier",
"rankChange",
"googleRating",
"googleReviewCount",
"yearsInBusiness",
"verifications",
"disclosures",
"profileUrl"
],
"additionalProperties": false
}
},
"bubble": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Null when tracked but not ranked"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trpScore": {
"type": "number"
},
"scoreBand": {
"type": "string"
},
"confidenceTier": {
"type": "string"
},
"rankChange": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Positions gained since the previous reconstitution"
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
},
"idNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifiedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifyUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "What this credential does not prove"
}
},
"required": [
"slug",
"name",
"authority",
"idNumber",
"verifiedOn",
"verifyUrl",
"caveat"
],
"additionalProperties": false
}
},
"disclosures": {
"type": "array",
"items": {
"type": "string"
}
},
"profileUrl": {
"type": "string"
}
},
"required": [
"rank",
"slug",
"name",
"city",
"trpScore",
"scoreBand",
"confidenceTier",
"rankChange",
"googleRating",
"googleReviewCount",
"yearsInBusiness",
"verifications",
"disclosures",
"profileUrl"
],
"additionalProperties": false
},
"description": "Eligible companies below the published cap; scores shown, ranks withheld"
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"metro",
"category",
"updatedAt",
"totalRanked",
"totalTracked",
"franchisesExcluded",
"excludedBrands",
"reviewsAnalyzed",
"marketMedianRating",
"companies",
"bubble",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_business_profile(slug)
Everything published about one company: score breakdown by pillar, what was verified and with which authority, what could not be verified, review figures with the date they were read, and every ranking it appears in.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Company slug from a ranking or search result"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"legalName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"website": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"establishedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"establishedSource": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Which record the founding date came from"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"ratingDistribution": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
{
"type": "null"
}
],
"description": "Counts per star, 1 through 5"
},
"ownerResponseRate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"trpScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"scoreBand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"weight": {
"type": "number"
},
"score": {
"type": "number",
"description": "Pillar score in [0,1]"
},
"contribution": {
"type": "number",
"description": "Points this pillar added to the total"
}
},
"required": [
"pillar",
"weight",
"score",
"contribution"
],
"additionalProperties": false
}
},
"rankings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
},
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"outOf": {
"type": "number"
},
"trpScore": {
"type": "number"
},
"url": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug",
"rank",
"outOf",
"trpScore",
"url"
],
"additionalProperties": false
}
},
"verifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
},
"idNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifiedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verifyUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "What this credential does not prove"
}
},
"required": [
"slug",
"name",
"authority",
"idNumber",
"verifiedOn",
"verifyUrl",
"caveat"
],
"additionalProperties": false
}
},
"notVerified": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"authority": {
"type": "string"
}
},
"required": [
"slug",
"name",
"authority"
],
"additionalProperties": false
},
"description": "Checklist items this company does not hold"
},
"disclosures": {
"type": "array",
"items": {
"type": "string"
}
},
"corrections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"occurredAt": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"occurredAt",
"note"
],
"additionalProperties": false
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"slug",
"name",
"legalName",
"city",
"region",
"website",
"phone",
"establishedOn",
"establishedSource",
"yearsInBusiness",
"googleRating",
"googleReviewCount",
"ratingDistribution",
"ownerResponseRate",
"trpScore",
"scoreBand",
"pillars",
"rankings",
"verifications",
"notVerified",
"disclosures",
"corrections",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_businesses(query, metro, category, min_score, verified_only, ...)
Find tracked companies by name, metropolitan area, category, or minimum score.
输入模式
{
"type": "object",
"properties": {
"query": {
"description": "Part of a company name",
"type": "string"
},
"metro": {
"type": "string"
},
"category": {
"type": "string"
},
"min_score": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"verified_only": {
"description": "Only companies matched to a state entity record",
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"total": {
"type": "number"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trpScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"bestRank": {
"anyOf": [
{
"type": "object",
"properties": {
"rank": {
"type": "number"
},
"outOf": {
"type": "number"
},
"metro": {
"type": "string"
},
"category": {
"type": "string"
}
},
"required": [
"rank",
"outOf",
"metro",
"category"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"profileUrl": {
"type": "string"
}
},
"required": [
"slug",
"name",
"city",
"trpScore",
"googleRating",
"googleReviewCount",
"bestRank",
"profileUrl"
],
"additionalProperties": false
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"total",
"results",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢compare_businesses(slugs, metro, category)
Compare two to four companies side by side, pillar by pillar, with a one-sentence verdict naming which pillar separates them.
输入模式
{
"type": "object",
"properties": {
"slugs": {
"minItems": 2,
"maxItems": 4,
"type": "array",
"items": {
"type": "string"
}
},
"metro": {
"description": "Optional metro slug selecting a shared ranking context",
"type": "string"
},
"category": {
"description": "Optional category slug selecting a shared ranking context",
"type": "string"
}
},
"required": [
"slugs"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"requiresContext": {
"type": "boolean"
},
"context": {
"anyOf": [
{
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"availableContexts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug"
],
"additionalProperties": false
}
},
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"outOf": {
"type": "number"
},
"trpScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"scoreBand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"googleRating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"googleReviewCount": {
"type": "number"
},
"yearsInBusiness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verifications": {
"type": "array",
"items": {
"type": "string"
}
},
"profileUrl": {
"type": "string"
}
},
"required": [
"slug",
"name",
"rank",
"outOf",
"trpScore",
"scoreBand",
"googleRating",
"googleReviewCount",
"yearsInBusiness",
"verifications",
"profileUrl"
],
"additionalProperties": false
}
},
"pillarComparison": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"weight": {
"type": "number"
},
"scores": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"leader": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"pillar",
"weight",
"scores",
"leader"
],
"additionalProperties": false
}
},
"verdict": {
"type": "string",
"description": "One sentence naming the leader and why"
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"requiresContext",
"context",
"availableContexts",
"companies",
"pillarComparison",
"verdict",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_score_breakdown(slug, metro, category)
Return one company's score in one metro/category ranking, including rank, all five weighted pillars, each pillar's point contribution, and provenance.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Company slug"
},
"metro": {
"description": "Metro slug",
"type": "string"
},
"category": {
"description": "Category slug",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"business": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"slug",
"name"
],
"additionalProperties": false
},
"context": {
"type": "object",
"properties": {
"metro": {
"type": "string"
},
"metroSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"categorySlug": {
"type": "string"
}
},
"required": [
"metro",
"metroSlug",
"category",
"categorySlug"
],
"additionalProperties": false
},
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"outOf": {
"type": "number"
},
"trpScore": {
"type": "number"
},
"scoreBand": {
"type": "string"
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"weight": {
"type": "number"
},
"score": {
"type": "number",
"description": "Pillar score in [0,1]"
},
"contribution": {
"type": "number",
"description": "Points this pillar added to the total"
}
},
"required": [
"pillar",
"weight",
"score",
"contribution"
],
"additionalProperties": false
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"business",
"context",
"rank",
"outOf",
"trpScore",
"scoreBand",
"pillars",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_methodology
The exact weights, thresholds, eligibility rules, data sources, and stated limitations behind every score. Read this before characterising what a TRP Score means.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"version": {
"type": "string"
},
"effectiveDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"summary": {
"type": "string"
},
"pillars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"pillar": {
"type": "string",
"enum": [
"reputation",
"volume",
"longevity",
"trust",
"engagement"
]
},
"name": {
"type": "string"
},
"weight": {
"type": "number"
},
"rationale": {
"type": "string"
}
},
"required": [
"pillar",
"name",
"weight",
"rationale"
],
"additionalProperties": false
}
},
"scoreBands": {
"type": "array",
"items": {
"type": "object",
"properties": {
"min": {
"type": "number"
},
"label": {
"type": "string"
}
},
"required": [
"min",
"label"
],
"additionalProperties": false
}
},
"eligibility": {
"type": "object",
"properties": {
"minReviewsToList": {
"type": "number"
},
"minReviewsToRank": {
"type": "number"
},
"minReviewAgeMonths": {
"type": "number"
},
"minRating": {
"type": "number"
},
"entityMatchRequired": {
"type": "boolean"
},
"franchisesExcluded": {
"type": "boolean",
"const": true
}
},
"required": [
"minReviewsToList",
"minReviewsToRank",
"minReviewAgeMonths",
"minRating",
"entityMatchRequired",
"franchisesExcluded"
],
"additionalProperties": false
},
"reputation": {
"type": "object",
"properties": {
"halfLifeDays": {
"type": "number"
},
"priorReviews": {
"type": "number",
"description": "Phantom reviews every company starts with, at the market median"
},
"priorStatistic": {
"type": "string"
}
},
"required": [
"halfLifeDays",
"priorReviews",
"priorStatistic"
],
"additionalProperties": false
},
"ranking": {
"type": "object",
"properties": {
"listSize": {
"type": "number"
},
"swapThreshold": {
"type": "number"
},
"entryThreshold": {
"type": "number"
}
},
"required": [
"listSize",
"swapThreshold",
"entryThreshold"
],
"additionalProperties": false
},
"dataSources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"provider": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cadence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"caveat": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"provider",
"cadence",
"caveat"
],
"additionalProperties": false
}
},
"limitations": {
"type": "array",
"items": {
"type": "string"
}
},
"provenance": {
"type": "object",
"properties": {
"asOf": {
"type": "string",
"description": "ISO date the underlying data was last refreshed"
},
"methodologyVersion": {
"type": "string"
},
"sourceUrl": {
"type": "string",
"description": "Canonical HTML page for this answer"
},
"sourceMarkdownUrl": {
"type": "string",
"description": "Markdown twin of the same page"
},
"citeAs": {
"type": "string",
"description": "Ready-made citation line"
}
},
"required": [
"asOf",
"methodologyVersion",
"sourceUrl",
"sourceMarkdownUrl",
"citeAs"
],
"additionalProperties": false
}
},
"required": [
"version",
"effectiveDate",
"summary",
"pillars",
"scoreBands",
"eligibility",
"reputation",
"ranking",
"dataSources",
"limitations",
"provenance"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据