Skip to main content

Overview

SKILL.md is a structured capability manifest auto-generated for every MCP server listed on Hub. It’s the portable discovery artifact that describes what your server can do — whether an agent discovers it through Hub’s API, a direct URL, or a third-party registry.
ezForge Hub is coming soon. SKILL.md generation will be automatic for all Platform and Ready customers.

What’s in a SKILL.md?

Every SKILL.md includes:
  • Identity — Server name, description, publisher, version
  • Capabilities — List of MCP tools and resources with descriptions
  • Authentication — Auth method and endpoint
  • Vertical & location — Business category and geographic coverage
  • Hours — Operating schedule (weekly + special hours)
  • Attributes — Vertical-specific business metadata (cuisine types, walk-ins, delivery, etc.)
  • Catalog summary — Aggregate stats about available items (counts, categories, highlights)
  • Trust signals — Verification tier, health score, uptime

Example

name: Mario's Pizzeria
description: Family-owned Italian restaurant in downtown Detroit
publisher: mario-pizzeria
version: 1.2.0
vertical: restaurant
location:
  city: Detroit
  state: MI
  country: US
  coordinates:
    lat: 42.3314
    lng: -83.0458

capabilities:
  - tool: search_menu
    description: Search menu items by name, category, or dietary restriction (vegan, gluten-free, halal)
  - tool: get_hours
    description: Get current hours of operation and holiday schedule
  - tool: check_availability
    description: Check table availability for a party size and date
  - tool: request_reservation
    description: Submit a reservation request

hours:
  monday: "11:00-22:00"
  tuesday: "11:00-22:00"
  wednesday: "11:00-22:00"
  thursday: "11:00-23:00"
  friday: "11:00-23:00"
  saturday: "12:00-23:00"
  sunday: closed

attributes:
  cuisine_types: ["Italian", "Pizza"]
  delivery_available: true
  outdoor_seating: true
  price_range: "$$"
  alcohol_served: true

catalog_summary:
  total_items: 47
  categories: 6
  highlights:
    - "12 vegan options"
    - "Gluten-free menu available"
    - "Daily specials"

auth:
  method: oauth2.1
  endpoint: https://mario-pizzeria.mcp.ezforge.ai/.well-known/oauth-authorization-server

verification: business_verified
health_score: 97

Hub-specific extensions

Hub-generated SKILL.md files include additional fields for discovery optimization:
hub:
  listing_id: "01JQXYZ..."
  listing_tier: "featured"
  verification_tier: 3          # integer rank used by Hub (1=unverified, 2=phone_verified, 3=business_verified, 4=premium_verified)
  health_score: 97
  hub_url: "https://hub.ezforge.ai/v1/hub/listings/01JQXYZ..."

Field Reference

Core fields

FieldRequiredSource (Ready)Description
nameYesbusinesses.nameDisplay name
descriptionYesbusiness_profiles.descriptionHuman-readable summary
publisherYesbusinesses.slugPublisher identifier
versionYestemplates.versionTemplate/server version
verticalYesbusinesses.verticalBusiness category (restaurant, salon, home_services, retail, professional_services)
locationYesbusiness_profiles.{city,state,country,lat,lng}Geographic location with optional coordinates

Capabilities

The capabilities list describes the MCP tools the server exposes. For Ready servers, this is generated by cross-referencing:
  1. Template tool manifest — the full list of tools the vertical template supports (stored in templates.tool_manifest)
  2. Business capabilities — which tools the business owner has enabled (from business_capabilities)
  3. Metadata enrichment — tool descriptions are enhanced with actual catalog data (e.g., if a restaurant has items with dietary_tags, the search_menu description mentions dietary filtering)
capabilities:
  - tool: search_menu
    description: Search 47 menu items by name, category, or dietary restriction (vegan, gluten-free, halal)
  - tool: get_hours
    description: Get current hours of operation and holiday schedule

Hours

Operating schedule sourced from business_hours and business_special_hours tables. Agents use this to filter businesses by current availability.
hours:
  monday: "11:00-22:00"
  tuesday: "11:00-22:00"
  sunday: closed
special_hours:
  - date: "2026-12-25"
    label: "Christmas Day"
    hours: closed

Attributes

Vertical-specific business metadata from businesses.metadata JSONB. These are the business-level characteristics that agents use for filtering and comparison — distinct from catalog item metadata.
# Restaurant example
attributes:
  cuisine_types: ["Italian", "Pizza"]
  delivery_available: true
  outdoor_seating: true
  price_range: "$$"

# Salon example
attributes:
  walk_ins_accepted: true
  cancellation_policy: "24 hours"

# Home services example
attributes:
  licensed: true
  insured: true
  emergency_available: true
  service_radius_miles: 25

# Retail example
attributes:
  online_store_url: "https://example.com/shop"
  return_policy: "30 days"
  shipping_available: true
  curbside_pickup: true

# Professional Services example
attributes:
  specializations: ["Tax Preparation", "Business Advisory"]
  consultation_fee_cents: 15000
  accepts_insurance: false

Catalog Summary

Aggregate statistics about the business’s catalog, generated from catalog_items and catalog_categories. Gives agents a quick overview without requiring a tool call.
catalog_summary:
  total_items: 47
  categories: 6
  highlights:
    - "12 vegan options"
    - "Gluten-free menu available"
The highlights array is auto-generated from catalog metadata analysis (e.g., counting items with specific dietary_tags, in_stock status, etc.).

Authentication & Trust

auth:
  method: oauth2.1
  endpoint: https://example.mcp.ezforge.ai/.well-known/oauth-authorization-server

verification: business_verified    # VerificationLevel: unverified | phone_verified | business_verified | premium_verified
health_score: 97                   # 0-100, from Platform health checks
verification reflects the publisher’s VerificationLevel — the public-facing string returned by the Directory API. See Business Verification for how each tier is earned.

Auto-generation

SKILL.md is auto-generated from your server’s metadata:
  • Platform servers — Generated from your ezforge.toml config and MCP server introspection
  • Ready servers — Generated from business profile, template tool manifest, enabled capabilities, catalog data, and business metadata
  • Featured/Premium listings — You can customize the description, keywords, and tags

Ready SKILL.md generation flow

business_profiles ──┐
business_hours ─────┤
businesses.metadata ┤──→ generateReadySkillDoc() ──→ SKILL.md
catalog_items ──────┤
business_capabilities┤
templates.tool_manifest┘
The generator runs on every deployment and whenever business data changes. The generated SKILL.md is cached in the Hub listing’s skill_md JSONB column and served at /.well-known/skill.md on the business’s MCP server.

Using SKILL.md externally

SKILL.md is designed to be portable. You can:
  • Host it at /.well-known/skill.md on any domain
  • Include it in your GitHub repository
  • Submit it to third-party MCP registries
  • Reference it from WebMCP metadata tags