Skip to main content
Glama
Skill Loader MCP Server

Skill Loader MCP Server

by goldzulu

Skill Loader MCP Server

npm version License: MIT Node.js Version

An MCP (Model Context Protocol) server for discovering, fetching, validating, and converting Claude skills from the skills.sh marketplace and GitHub repositories.

What's New in v1.1.0

  • skills.sh API integration: Search uses the /api/search?q=<query> endpoint — no authentication needed

  • Authenticated endpoints: list_skills and get_leaderboard use the /api/v1/skills endpoint (requires SKILLS_SH_API_KEY)

  • Smarter Power conversion: convert_to_power now generates mcp.json when a skill has dependencies or tool references, and creates a steering/ directory when a skill has 3+ complex sections

  • MCP SDK upgrade: Updated to @modelcontextprotocol/sdk v1.29

Related MCP server: Skills Registry MCP Server

Features

  • Discover Skills — Browse and search the skills.sh marketplace via its public search API

  • Fetch Skills — Download raw skill content directly from GitHub

  • Security Validation — Scan skills for dangerous commands, suspicious patterns, and code injection

  • Format Conversion — Convert skills to Kiro steering files or power format (with optional mcp.json and steering/ directory)

  • Complete Workflow — Import skills end-to-end with a single command (fetch + validate + convert)

Installation

Global Installation

npm install -g @goldzulu/skill-loader-mcp-server

Local Installation

npm install @goldzulu/skill-loader-mcp-server

Configuration

Environment Variables

Variable

Required

Description

SKILLS_SH_API_KEY

For list_skills and get_leaderboard only

API key for the skills.sh authenticated /api/v1/skills endpoint. Request from Vercel if needed. Not required for search_skills.

With Kiro

Add to your mcp.json:

{
  "mcpServers": {
    "skill-loader": {
      "command": "npx",
      "args": ["-y", "@goldzulu/skill-loader-mcp-server"],
      "env": {
        "SKILLS_SH_API_KEY": "your-api-key-here"
      },
      "description": "Skill Loader MCP Server for managing Claude skills"
    }
  }
}

With Claude Desktop

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "skill-loader": {
      "command": "skill-loader-mcp-server",
      "env": {
        "SKILLS_SH_API_KEY": "your-api-key-here"
      }
    }
  }
}

The env block is optional — only needed if you want to use list_skills or get_leaderboard.

Standalone

skill-loader-mcp-server

Available Tools

1. search_skills

Search for skills by keyword using the skills.sh search API. No authentication required.

Parameters:

  • query (required): Search query

  • limit (optional): Max results (default: 20, max: 50)

Example:

{
  "tool": "search_skills",
  "arguments": { "query": "pdf", "limit": 5 }
}

2. list_skills

List all available skills from skills.sh with pagination. Requires SKILLS_SH_API_KEY.

Parameters:

  • page (optional): Page number (default: 1)

  • pageSize (optional): Results per page (default: 50, max: 100)

Example:

{
  "tool": "list_skills",
  "arguments": { "page": 1, "pageSize": 10 }
}

3. get_leaderboard

Get trending or top-installed skills. Requires SKILLS_SH_API_KEY.

Parameters:

  • timeframe (optional): 'all' or '24h' (default: 'all')

  • limit (optional): Max results (default: 20, max: 50)

Example:

{
  "tool": "get_leaderboard",
  "arguments": { "timeframe": "24h", "limit": 10 }
}

4. fetch_skill

Fetch raw skill content from GitHub.

Parameters:

  • identifier (required): Skill name or owner/repo format

Example:

{
  "tool": "fetch_skill",
  "arguments": { "identifier": "anthropics/pdf-extractor" }
}

5. validate_skill

Validate skill content for security issues.

Parameters:

  • content (required): Skill content to validate

  • url (optional): Source URL for verification

Example:

{
  "tool": "validate_skill",
  "arguments": {
    "content": "---\nname: Test\n---\n\n# Test",
    "url": "https://example.com/skill.md"
  }
}

6. convert_to_steering

Convert skill to Kiro steering file format.

Parameters:

  • content (required): Skill content

  • sourceUrl (optional): Original source URL

Example:

{
  "tool": "convert_to_steering",
  "arguments": {
    "content": "---\nname: Test\ndescription: A test skill\n---\n\n# Test",
    "sourceUrl": "https://example.com/skill.md"
  }
}

7. convert_to_power

Convert skill to Kiro power format. Generates mcp.json when the skill has dependencies or tools, and a steering/ directory when the skill has 3+ complex sections.

Parameters:

  • content (required): Skill content

  • sourceUrl (optional): Original source URL

Example:

{
  "tool": "convert_to_power",
  "arguments": {
    "content": "---\nname: Test\ndescription: A test skill\n---\n\n# Test",
    "sourceUrl": "https://example.com/skill.md"
  }
}

8. import_skill

Complete import workflow (fetch + validate + convert).

Parameters:

  • identifier (required): Skill identifier

  • outputFormat (required): 'steering' or 'power'

  • skipValidation (optional): Skip security validation (default: false)

Example:

{
  "tool": "import_skill",
  "arguments": {
    "identifier": "anthropics/pdf-extractor",
    "outputFormat": "steering"
  }
}

Security

The server includes security validation that scans for:

  • Dangerous commands (rm -rf, sudo, eval, exec)

  • Suspicious file operations (/etc/, /usr/, /bin/)

  • Code injection patterns (${...}, $(...))

  • Untrusted sources (non-GitHub URLs)

Skills that fail security validation will be blocked from import unless explicitly skipped.

Caching

The server caches skills.sh search results in memory for 1 hour to reduce API calls and improve performance. The cache is automatically refreshed when expired.

Error Handling

All tools return errors in a consistent JSON format with descriptive messages. Common error types:

  • Network errors: Connection issues, timeouts, HTTP errors

  • Validation errors: Security issues, format problems

  • Parsing errors: YAML syntax errors, invalid markdown

  • Resolution errors: Skill not found, ambiguous identifiers

Development

Build

npm run build

Test

npm test

Watch Mode

npm run test:watch

Requirements

  • Node.js 18 or higher

  • npm or yarn

License

MIT

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Support

For issues and questions, please open an issue on GitHub.

Available Tools

8 tools
convert_to_powerC

Convert skill to Kiro power format

Inputs: content (required), sourceUrl.

convert_to_steeringB

Convert skill to Kiro steering file format

Inputs: content (required), sourceUrl.

fetch_skillA

Fetch raw skill content from GitHub

Inputs: identifier (required).

get_leaderboardB

Get trending or top-installed skills

Inputs: limit, timeframe.

import_skillB

Complete import workflow (fetch + validate + convert)

Inputs: identifier (required), outputFormat (required), skipValidation.

list_skillsA

List all available skills from skills.sh with pagination

Inputs: page, pageSize.

search_skillsB

Search for skills by keyword

Inputs: query (required), limit.

validate_skillB

Validate skill content for security issues

Inputs: content (required), url.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct action: listing, searching, fetching, validating, converting to specific formats, and importing. Even the two conversion tools are clearly separated by their output format. The import tool is a higher-level workflow that subsumes fetch/validate/convert, but its purpose is distinct and well-described.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case (list_skills, search_skills, get_leaderboard, fetch_skill, validate_skill, convert_to_steering, convert_to_power, import_skill). The pattern is uniform and predictable.

    Tool Count5/5

    With 8 tools, the server is well-scoped for its purpose of discovering, fetching, validating, converting, and importing skills. Each tool has a clear role, and the count is within the ideal range for a focused utility server.

    Completeness5/5

    The tool surface covers the full workflow: discovery (list, search, leaderboard), retrieval (fetch), validation, conversion (both formats), and a combined import path. No obvious gaps exist for the domain of loading and transforming skills from an external registry.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables Claude to create, edit, run, and manage reusable skills stored locally, including executing scripts with automatic dependency management and environment variables. Works across all MCP-compatible clients like Cursor, Claude Desktop, and claude.ai.
      5
      31
      MIT
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables intelligent discovery and management of Claude Skills through semantic search, ratings, favorites, and community curation. Provides tools to search, upload, rate, and organize skills with natural language queries and comprehensive metadata.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Turns Claude-style skills (SKILL.md files with resources) into callable MCP tools for any agent. Discovers skills from a directory, exposes their instructions and resources, and can execute bundled helper scripts.
      144 PyPI
      409
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to discover, search, and install Claude Code Skills from SkillHub, with tools for semantic search, browsing, recommendations, and installation.
      5
      29 npm
      1
      MIT