Manifest Tools

The tools that read and validate the platform’s schemas.

  • get_manifest_schema: a resource kind’s example manifest, and its fields.

  • validate_manifest: a manifest’s errors, from the platform’s own validation.

See smarter.apps.mcpserver.schemas.schemas.

Note

Experimental. The MCPServer was designed and coded by Claude Code (Anthropic’s Claude Opus 5.5), with Lawrence McDaniel as co-author. It is experimental, and will be documented.

class smarter.apps.mcpserver.manifests.tools.GetManifestSchemaTool(scope, github_token=None)[source]

Bases: SmarterProjectTool

A resource kind’s example manifest, and the fields of its JSON Schema.

arguments_model

alias of GetManifestSchemaArguments

description: ClassVar[str] = "Return a Smarter resource kind's example manifest, in YAML, and every field that its manifest may have: its path, type, whether it is required, its default and its description, from the JSON Schema that this platform validates manifests with. Use it before writing, fixing or explaining a manifest, rather than guessing its fields. Omit kind to list the kinds."
static format_field(field)[source]

Return one field, as a Markdown list item.

Return type:

str

name: ClassVar[str] = 'get_manifest_schema'
run(arguments)[source]

Run the tool.

Parameters:

arguments (ToolArguments) – The validated arguments, an instance of arguments_model.

Return type:

str

Returns:

The result, as Markdown.

static schema_url(kind)[source]

Return the GitHub url of a kind’s JSON Schema, in the smarter repository.

Return type:

str

title: ClassVar[str] = 'Get manifest schema'
uses_repository: ClassVar[bool] = False

Whether the tool takes a repository argument on the MCP server of all of the repositories.

class smarter.apps.mcpserver.manifests.tools.ValidateManifestTool(scope, github_token=None)[source]

Bases: SmarterProjectTool

Validate a manifest with the platform’s own validation, without applying it.

arguments_model

alias of ValidateManifestArguments

description: ClassVar[str] = 'Validate a Smarter manifest, in YAML or JSON, against the model of its kind: the validation that `smarter apply` does first, without applying it. Returns whether it is valid, and each error with the path of its field. Call it on every manifest that you write or fix, before you give it to the user, and fix what it reports. Checks that need the network, e.g. that an image url responds, are skipped.'
name: ClassVar[str] = 'validate_manifest'
run(arguments)[source]

Run the tool.

Parameters:

arguments (ToolArguments) – The validated arguments, an instance of arguments_model.

Return type:

str

Returns:

The result, as Markdown.

title: ClassVar[str] = 'Validate manifest'
uses_repository: ClassVar[bool] = False

Whether the tool takes a repository argument on the MCP server of all of the repositories.