list_skills
List installed skills and check their activation state to manage skill availability on the server.
Instructions
List installed skills and their activation state.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "list_skills"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| active_only | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- MCP tool handler for list_skills. Decorated with @mcp.tool() and delegates to SkillStore.list_skills().
def list_skills(active_only: bool = False) -> list[dict]: """List installed skills and their activation state.""" return skill_store.list_skills(active_only=active_only) - Input schema: accepts optional boolean active_only parameter. Returns list of dicts.
def list_skills(active_only: bool = False) -> list[dict]: - Core business logic: loads the registry JSON, optionally filters for active skills, returns sorted list.
def list_skills(self, active_only: bool = False) -> list[dict[str, Any]]: registry = self._load_registry() records = sorted(registry.values(), key=lambda item: item["id"]) if active_only: records = [item for item in records if item["active"]] return records - src/friday_mcp_server/tools/skills.py:10-11 (registration)Registration via @mcp.tool() decorator inside the register function, called by register_all_tools.
def register(mcp, *, skill_store) -> None: @mcp.tool() - src/friday_mcp_server/tools/__init__.py:11-12 (registration)Bridge call: register_all_tools invokes skills.register(), which registers the list_skills tool on the MCP server.
skills.register(mcp, skill_store=skill_store)