Skip to main content

fastmcp.server.providers.skills.skill_provider

Basic skill provider for handling a single skill folder.

Classes

SkillResource

A resource representing a skill’s main file or manifest. Methods:

read

read(self) -> str | bytes | ResourceResult
Read the resource content.

SkillFileTemplate

A template for accessing files within a skill. Methods:

read

read(self, arguments: dict[str, Any]) -> str | bytes | ResourceResult
Read a file from the skill directory.

create_resource

create_resource(self, uri: str, params: dict[str, Any]) -> Resource
Create a resource for the given URI and parameters. Note: This is not typically used since _read() handles file reading directly. Provided for compatibility with the ResourceTemplate interface.

SkillFileResource

A resource representing a specific file within a skill. Methods:

read

read(self) -> str | bytes | ResourceResult
Read the file content.

SkillProvider

Provider that exposes a single skill folder as MCP resources. Each skill folder must contain a main file (default: SKILL.md) and may contain additional supporting files. Exposes:
  • A Resource for the main file (skill:///SKILL.md)
  • A Resource for the synthetic manifest (skill:///_manifest)
  • Supporting files via ResourceTemplate or Resources (configurable)
Args:
  • skill_path: Path to the skill directory.
  • main_file_name: Name of the main skill file. Defaults to “SKILL.md”.
  • supporting_files: How supporting files (everything except main file and manifest) are exposed to clients:
  • “template”: Accessed via ResourceTemplate, hidden from list_resources(). Clients discover files by reading the manifest first.
  • “resources”: Each file exposed as individual Resource in list_resources(). Full enumeration upfront.
Methods:

skill_info

skill_info(self) -> SkillInfo
Get the loaded skill info.