Skip to main content

Overview

Every MCP server deployed on ezForge Platform or Ready on a paid plan automatically gets a Basic listing on Hub — no action required. Upgrade to Featured or Premium for enhanced visibility and analytics.

Listing anatomy

Each Hub listing includes:
  • Server metadata — Name, description, version, endpoint URL
  • SKILL.md — Auto-generated capability manifest (see SKILL.md)
  • Verification tier — Trust badge based on publisher verification level
  • Health score — Real-time uptime and response-time score (0–100)
  • Agent analytics — Discovery and interaction metrics

Listing tiers

Basic ($0/mo)

Auto-created for every Platform and Ready customer on a paid plan. Includes:
  • Listed in Hub search results
  • Auto-generated SKILL.md
  • View count analytics
Self-serve upgrade for increased visibility:
  • Priority placement in search results
  • Custom description and keywords in SKILL.md
  • Views + click-through analytics
  • Agent breakdown (which AI platforms discover you)

Premium ($79/mo)

Maximum visibility and analytics:
  • Top placement + featured badge in search results
  • Composite skill eligibility (appear in multi-server workflows)
  • Full analytics: query patterns, conversion funnel, competitive positioning
  • Referral commission tracking

Verification tiers

Hub displays a verification badge on every listing to help AI agents assess publisher credibility. The four tiers map to the VerificationLevel type returned by the Directory API:
VerificationLevelBadgeWhat it signals to agents
unverified(none)Business registered; no identity signals confirmed
phone_verified✓ Phone VerifiedBusiness phone number confirmed via SMS — reduces spam listings
business_verified✓ Business VerifiedAccount ≥ 30 days old and phone-verified; Google Business Profile cross-reference in Beta
premium_verified★ Premium VerifiedManually reviewed by ezForge team — highest trust signal for agents
Higher verification tiers receive ranking boosts in Hub search results. Agents can filter the Directory API by minimum verification level using min_verification. See Business Verification for how to advance through tiers.

Managing your listing

From the Hub dashboard you can:
  • Edit your listing description and keywords
  • Upload a logo and banner image
  • Set your listing category and tags
  • View analytics and discovery metrics
  • Upgrade or downgrade your listing tier

Score Analysis

The Score Analysis page gives listing owners a full breakdown of their trust score, health sub-components, and prioritized improvement actions. It is only accessible to the listing owner — visiting /hub/listings/:id/score for a listing you do not own redirects you to /hub/dashboard.
  • From /hub/dashboard/listings/:id, click the Full Analysis button in the score card.
  • Or navigate directly to /hub/listings/:id/score.

Trust score donut chart

The page opens with an SVG donut chart displaying your overall trust score (0–100) in the center. The ring is divided into three sectors sized by their maximum contribution weight:
SectorWeightColor
Verification50%Indigo
Profile Completeness25%Amber
Service Health25%Emerald
Each sector is filled from its start angle according to the percentage of points earned in that component. The unfilled portion of each sector appears in a neutral gray. This makes it immediately clear which component is dragging your score down.

Component scores

Below the chart, three progress bars show the raw point totals for each main component (current / max pts). Bar color reflects the earned percentage — green at ≥75%, amber at ≥40%, and red below 40%. The Service Health component expands into a sub-breakdown panel showing three contributing factors:
Sub-componentWhat it measures
Uptime (30 days)Percentage of probes returning up over the last 30 days
Latency ScoreStep-function score from average response latency in the last 24 hours: ≤200 ms → 100%, ≤500 ms → 80%, ≤1000 ms → 60%, ≤3000 ms → 30%, otherwise → 10%
Uptime StreakConsecutive up-probe bonus from the most recent probe: ≥288 probes → 100%, ≥72 → 80%, ≥12 → 60%, >0 → 40%, none → 20%
Each sub-component bar uses the same emerald/amber/red coloring based on its individual percentage.

Trust improvement pathways

The Trust Improvement Pathways section lists every available action that can raise your trust score, sorted by pointGain descending so you always see the highest-impact item first. Each row shows the action label, a description of what it earns, a +N pts badge, and a CTA button that links directly to the relevant dashboard page (e.g., the verification flow or the listing edit form). When your listing has a perfect score, the section displays a success message instead of the action list.

30-day uptime sparkline

The Health Score History section shows a per-day uptime sparkline for the last 30 calendar days (UTC). Each day is rendered as a colored dot:
Dot colorUptime percentage
Emerald (green)≥ 80%
Amber50–79%
Red< 50%
GrayNo probe data that day
An average uptime summary (across days that have data) appears in the top-right corner. If no health probe data has been recorded yet for the listing, the section shows an empty state noting that results appear once probing starts. Note: The trust score shown on this page is the stored value and is updated asynchronously; it may temporarily differ from the sum of the component point totals while a recalculation is in progress.

API reference

Score breakdown

Return the trust/health score breakdown for a listing, including per-component point totals and a sorted list of improvement actions:
GET /v1/hub/listings/{id}/score
Auth: Explorer+ Hub API key URL parameters:
ParameterTypeDescription
idstringULID of the listing
Example request:
GET /v1/hub/listings/01JQXYZ.../score
Authorization: Bearer hub_key_...
Response (200):
{
  "data": {
    "listingId": "01JQXYZ...",
    "trustScore": 67,
    "healthScore": 88,
    "components": [
      {
        "key": "verification",
        "label": "Verification",
        "description": "Current tier: Business Verified. Higher tiers earn more trust points (50 pts max).",
        "current": 34,
        "max": 50,
        "pct": 67
      },
      {
        "key": "profile",
        "label": "Profile Completeness",
        "description": "Name, description, capabilities, location, and MCP protocol version.",
        "current": 20,
        "max": 25,
        "pct": 80
      },
      {
        "key": "health",
        "label": "Service Health",
        "description": "30-day uptime, response latency, and consecutive uptime streak.",
        "current": 22,
        "max": 25,
        "pct": 88
      }
    ],
    "improvements": [
      {
        "key": "upgrade_tier_4",
        "label": "Upgrade to Premium Verified",
        "description": "Complete Premium Verified verification to earn 16 more trust points.",
        "pointGain": 16,
        "ctaLabel": "Verify now",
        "ctaPath": "/hub/dashboard/listings/01JQXYZ.../verify"
      },
      {
        "key": "complete_profile",
        "label": "Complete your listing profile",
        "description": "Add missing fields to reach 100% completeness and earn 5 more trust points.",
        "pointGain": 5,
        "ctaLabel": "Edit listing",
        "ctaPath": "/hub/dashboard/listings/01JQXYZ.../edit"
      },
      {
        "key": "improve_health",
        "label": "Improve service reliability",
        "description": "Maximize uptime and reduce response latency to earn 3 more trust points.",
        "pointGain": 3,
        "ctaLabel": "View health history",
        "ctaPath": "/hub/dashboard/listings/01JQXYZ.../health"
      }
    ]
  }
}
The improvements array is empty when the listing has a perfect score. Items are sorted by pointGain descending (highest-impact action first). components are ordered: verification → profile → health. Note: trustScore is the stored value from the database and is updated asynchronously; it may temporarily differ from sum(components[].current) while a recalculation is in progress. Score component fields:
FieldTypeDescription
keystringComponent identifier: verification, profile, or health
labelstringHuman-readable component name
descriptionstringExplanation of what the component measures
currentintegerPoints this component currently contributes (0–max)
maxintegerMaximum points this component can contribute
pctintegerPercentage of maximum earned (0–100). For the verification component, reflects the tier’s weight directly rather than current / max × 100.
Improvement action fields:
FieldTypeDescription
keystringAction identifier (e.g., upgrade_tier_4, complete_profile, improve_health)
labelstringShort action label
descriptionstringWhat completing this action earns
pointGainintegerWhole-number trust-score points gained if completed
ctaLabelstringCall-to-action button label
ctaPathstringDashboard path for the action
Error codes:
StatusCodeCondition
400VALIDATION_ERRORid is not a valid 26-character ULID
401unauthorizedMissing, malformed, or revoked Hub API key
404not_foundListing not found or not active
429rate_limitedIP or API key rate limit exceeded (Retry-After: 86400)
503Rate-limit service temporarily unavailable