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
Thecapabilities list describes the MCP tools the server exposes. For Ready servers, this is generated by cross-referencing:
- Template tool manifest — the full list of tools the vertical template supports (stored in
templates.tool_manifest) - Business capabilities — which tools the business owner has enabled (from
business_capabilities) - Metadata enrichment — tool descriptions are enhanced with actual catalog data (e.g., if a restaurant has items with
dietary_tags, thesearch_menudescription mentions dietary filtering)
Hours
Operating schedule sourced frombusiness_hours and business_special_hours tables. Agents use this to filter businesses by current availability.
Attributes
Vertical-specific business metadata frombusinesses.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 fromcatalog_items and catalog_categories. Gives agents a quick overview without requiring a tool call.
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 viaGET /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.tomlconfig 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
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.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
What happens on upload
- Parsing — The file is parsed into a structured
ParsedCapabilityDocrepresentation (name, description, tools list). - Storage — The raw file is stored in object storage and a public
capability_doc_urlis recorded on the listing. - Re-indexing — The listing is re-indexed in Typesense with the
capability_doc_urlfield, making the document discoverable via Hub search. - Public availability — The capability document is immediately available via:
GET /api/v1/hub/listings/:id/capability-doc— fetch the parsed document for a single listingGET /.well-known/mcp-skills— the Hub-level skills discovery registry, which enumerates all active listings with uploaded capability docs
Using SKILL.md externally
SKILL.md is designed to be portable. You can:- Host it at
/.well-known/skill.mdon any domain - Include it in your GitHub repository
- Submit it to third-party MCP registries
- Reference it from WebMCP metadata tags