Skip to main content
Glama
Livus-AI
by Livus-AI

Skills MCP Server

License: MIT

A Model Context Protocol (MCP) server that enables AI agents to discover, load, and execute Agent Skills - organized folders of instructions, scripts, and resources that give agents additional capabilities.

Based on the Agent Skills specification.

What are Skills?

Skills are folders containing:

  • SKILL.md - Instructions and metadata (name, description)

  • scripts/ - Executable Python scripts

  • references/ - Additional documentation (loaded on demand)

  • assets/ - Static resources (templates, data files)

Skills use progressive disclosure to efficiently manage context:

  1. Level 1: Name + description always visible in the skill tool description

  2. Level 2: Full SKILL.md loaded when skill(name) is called

  3. Level 3: Scripts/references loaded when execute_skill_script() or get_skill_resource() is called

Features

  • Dynamic Skill Discovery: All skill names and descriptions are embedded in the skill tool description

  • Progressive Loading: Load skill instructions on demand

  • Script Execution: Run pre-built Python scripts from skills

  • Resource Access: Load reference docs and assets as needed

  • Agent Skills Compatible: Follows the open Agent Skills specification

Getting Started

Prerequisites

  • Python 3.10+

  • An MCP-compatible client (e.g., Manus, Claude Code, Cursor)

Installation

  1. Clone the repository:

    git clone https://github.com/Livus-AI/Skills-MCP.git cd Skills-MCP
  2. Install dependencies:

    pip install -e .
  3. Run the server:

    skills-mcp

Configuration

  • Skills Directory: By default, skills are stored in the skills/ directory. You can change this by setting the SKILLS_DIR environment variable.

MCP Tools

The server exposes 3 tools:

Tool

Description

skill(name)

Load a skill's full instructions. The tool description dynamically includes ALL skill names and descriptions.

execute_skill_script(skill_name, script_name, params)

Execute a Python script from a skill's scripts/ directory.

get_skill_resource(skill_name, resource_path)

Load a specific resource file (reference docs, assets).

How It Works

The skill tool description is dynamically generated to always include the name and description of every available skill. This means:

  1. Agents see all skills immediately - No need to call a "list" function

  2. One call to load - skill("name") loads full instructions

  3. Execute when ready - execute_skill_script() runs scripts

Example Workflow

# Agent reads skill tool description and sees: # - hello-world: A simple example skill... # - slack-message: Post messages to Slack... # Step 1: Load the skill skill("slack-message") # Returns: full instructions, available scripts, resources # Step 2: Execute a script execute_skill_script("slack-message", "post.py", {"channel": "#general", "message": "Hello!"}) # Returns: script output

Creating a Skill

See SKILL_CREATION.md for the complete guide.

Quick Start

  1. Create the directory structure:

skills/ └── my-skill/ ├── SKILL.md # Required: Instructions + metadata ├── scripts/ # Optional: Executable scripts │ └── main.py ├── references/ # Optional: Additional docs │ └── api.md └── assets/ # Optional: Static resources └── template.json
  1. Create SKILL.md with frontmatter:

--- name: my-skill description: What this skill does and when to use it. Include keywords that help agents identify relevant tasks. license: MIT metadata: author: your-name version: "1.0" --- # My Skill ## Overview Brief description of what this skill helps accomplish. ## Available Scripts - `scripts/main.py` - Primary functionality ## How to Use Step-by-step instructions...
  1. Create scripts with the standard format:

import sys import json def run(params: dict = None) -> dict: params = params or {} # Your logic here return {"status": "success", "result": "..."} if __name__ == "__main__": params = {} if len(sys.argv) > 1: params = json.loads(sys.argv[1]) result = run(params) print(json.dumps(result))

Example Skills

This repository includes example skills in the skills/ directory:

  1. hello-world - A simple example demonstrating the skill format

  2. slack-message - Post messages to Slack via webhook

Roadmap

  • create_skill tool - Create new skills programmatically

  • execute_code tool - Execute arbitrary Python code with e2b sandboxing

  • Skill validation and linting

  • Skill versioning and updates

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Livus-AI/Workflows-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server