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.
SKILL.md generation is automatic for all Platform and Ready customers listed on Hub.

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

Hub-specific extensions

Hub-generated SKILL.md files include additional fields for discovery optimization:

Field Reference

Core fields

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)

Hours

Operating schedule sourced from business_hours and business_special_hours tables. Agents use this to filter businesses by current availability.

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.

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.
The highlights array is auto-generated from catalog metadata analysis (e.g., counting items with specific dietary_tags, in_stock status, etc.).

Authentication & Trust

verification reflects the publisher’s VerificationLevel — the public-facing string returned by the Directory API. See Business Verification for how each tier is earned.

Hub-specific fields

Fields injected by Hub when serving a listing’s SKILL.md via GET /api/v1/hub/listings/:id/skill.md. These use flat colon-prefixed keys and are not present in self-hosted SKILL.md files.

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

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.

Uploading a capability document

Hub listing owners can supplement auto-generated SKILL.md data by uploading a custom capability document — a SKILL.md or JSON file that describes the tools and skills their MCP server exposes.
The request uses multipart/form-data with a single file field. Pass your listing’s ULID in the path and an authenticated user session token in the Authorization header. Accepted formats: Constraints:
  • Maximum file size: 512 KB
  • Only one capability document is stored per listing — uploading replaces any existing document
  • The listing must not be delisted; uploading to a delisted listing returns 422
Example:

What happens on upload

  1. Parsing — The file is parsed into a structured ParsedCapabilityDoc representation (name, description, tools list).
  2. Storage — The raw file is stored in object storage and a public capability_doc_url is recorded on the listing.
  3. Re-indexing — The listing is re-indexed in Typesense with the capability_doc_url field, making the document discoverable via Hub search.
  4. Public availability — The capability document is immediately available via:
    • GET /api/v1/hub/listings/:id/capability-doc — fetch the parsed document for a single listing
    • GET /.well-known/mcp-skills — the Hub-level skills discovery registry, which enumerates all active listings with uploaded capability docs
For the complete endpoint schemas — including the full response shape, all error codes, and pagination on GET /.well-known/mcp-skills — see Capability documents in the Hub API Reference.

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