registry/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
adam jones 66993e9121
Add icon support to server.json schema (#620)
Implements icon support based on the Model Context Protocol
specification, allowing servers to specify display icons with optional
size, MIME type, and theme variants.

## Changes

- Add `Icon` type to `pkg/model/types.go` with struct tags for automatic
API validation
- Add `icons` field to `ServerJSON` in `pkg/api/v0/types.go`
- Add icon validation in `internal/validators/validators.go`:
  - Only HTTPS URLs allowed (no HTTP or data URIs)
  - Maximum URL length of 255 characters
  - Validates absolute URLs with proper scheme
- Update JSON schema and OpenAPI documentation with Icon definitions
- Add comprehensive test cases for icon validation
- Add example icon to seed.json (Airtable server)
- Change `websiteUrl` validation to HTTPS-only for consistency

## Implementation Details

The implementation uses a two-layer validation architecture:

1. **Huma framework** validates struct tags (`required`, `maxLength`,
`enum`, `pattern`) and returns 422 for violations
2. **Custom validators** handle business logic (HTTPS scheme
requirement, absolute URL requirement) and return 400 for violations

This approach leverages Huma's automatic validation while keeping
business-specific rules in the validator layer.

## Icon Field Specification

- `src` (required): HTTPS URL to icon resource, max 255 characters
- `mimeType` (optional): One of `image/png`, `image/jpeg`, `image/jpg`,
`image/svg+xml`, `image/webp`
- `sizes` (optional): Array of size strings in "WxH" format or "any" for
scalable formats
- `theme` (optional): Either "light" or "dark" to indicate intended
background

Multiple icons can be provided (e.g., for different themes or sizes).
2025-10-07 13:30:32 +01:00
..
explanations Add presentation from MCP Dev Summit October 2025 (#624) 2025-10-07 12:56:40 +03:00
guides Drop GET /v0/servers/{serverName} endpoint (#618) 2025-10-07 13:56:45 +03:00
reference Add icon support to server.json schema (#620) 2025-10-07 13:30:32 +01:00
community-projects.md Add MCP registry cheat sheet project link (#600) 2025-10-02 16:29:14 +01:00
README.md Add community-projects reference document (#569) 2025-09-29 21:38:46 +01:00
terms.md Add terms of service documentation (#346) 2025-09-05 00:35:24 +01:00

MCP Registry Documentation

The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers.

I want to...

Documentation Index