---
title: skill_provider
sidebarTitle: skill_provider
---
# `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:**
#### `get_meta`
```python
get_meta(self) -> dict[str, Any]
```
#### `read`
```python
read(self) -> str | bytes | ResourceResult
```
Read the resource content.
### `SkillFileTemplate`
A template for accessing files within a skill.
**Methods:**
#### `read`
```python
read(self, arguments: dict[str, Any]) -> str | bytes | ResourceResult
```
Read a file from the skill directory.
#### `create_resource`
```python
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:**
#### `get_meta`
```python
get_meta(self) -> dict[str, Any]
```
#### `read`
```python
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://{name}/SKILL.md)
- A Resource for the synthetic manifest (skill://{name}/_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`
```python
skill_info(self) -> SkillInfo
```
Get the loaded skill info.