Smithery · API Governance Rules
Smithery API Rules
Spectral linting rules defining API design standards and conventions for Smithery.
16 Rules
error 10
warn 3
Rule Categories
bearer
info
mcp
namespace
no
operation
qualified
response
servers
trigger
Rules
error
info-title-required
Info title must be present
$.info
error
info-description-required
Info description must be present
$.info
error
info-version-required
Info version must be present
$.info
error
servers-required
A non-empty servers array must be present
$.servers
warn
servers-must-target-smithery
At least one server URL must point at api.smithery.ai
$.servers[*]
error
bearer-auth-required
A bearerAuth security scheme must be defined for non-public paths
$.components.securitySchemes.bearerAuth
error
operation-operationid-required
Every operation must have an operationId
$.paths[*][get,post,put,patch,delete]
error
operation-summary-required
Every operation must have a summary
$.paths[*][get,post,put,patch,delete]
warn
operation-summary-title-case
Operation summaries should use Title Case
$.paths[*][get,post,put,patch,delete].summary
error
operation-tags-required
Every operation must have at least one tag
$.paths[*][get,post,put,patch,delete]
error
response-description-required
Every response must have a description
$.paths[*][get,post,put,patch,delete].responses[*]
error
no-empty-descriptions
Descriptions must not be empty
$..description
hint
namespace-path-pattern
Namespace-scoped paths should follow /connect/{namespace}/... or /namespaces/{name} conventions
$.paths
hint
qualified-name-path-pattern
Server paths should use {qualifiedName} as the resource segment
$.paths
warn
mcp-rpc-endpoint-shape
MCP JSON-RPC endpoint must exist at /connect/{namespace}/{connectionId}/mcp
$.paths
hint
trigger-path-pattern
Trigger paths should use a leading dot segment (e.g. .triggers, .subscriptions) to distinguish from connection IDs
$.paths