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
}社群
證據