Skip to main content
Glama

What is this?

A Plug & Play MCP server that connects your AI coding agent to the SkillsMP marketplace - 8,000+ community-made skills.

You can search for skills, easily install them (to ~/.claude/skills/) or read them directly into your agent's context (without installing).
No API key needed.
One command to set up.

The key idea is to help lazy people like me to use skills more often, and save time and tokens for our dear agents.


Related MCP server: mcp-skills

Example

Here’s a real use case: converting a Markdown file to PDF.
You can either have the agent learn how to do it via web search, or simply import the skill.
Super efficient and fast.

You:      "I need to convert README.md to a PDF"

Agent:    searches SkillsMP for "markdown to pdf"
          → finds a skill for it
          → reads the SKILL.md content from GitHub
          → now has the full instructions in context

Agent:    "I found a skill for this. It uses Puppeteer to render
           the markdown and save it as PDF. Let me do that now."

          ...converts your file using the skill's instructions.

You:      ":))))"

The skill was never installed to your ~/.claude/skills
The agent just read it, learned the approach, and executed it.
One-shot use.

If you want a skill permanently, you can install it too:

You:      "Install that markdown-to-pdf skill for Claude Code"

Agent:    runs install_skill
          → skill is now saved to .claude/skills/
          → available in every future conversation

Quick Start

No API key
No .env
No configuration
Just install and run

Claude Code

claude mcp add skills-master -- npx skills-master-mcp

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "skills-master": {
      "command": "npx",
      "args": ["skills-master-mcp"]
    }
  }
}

Any MCP-Compatible Client

npx skills-master-mcp

Tools

Tool

Input

Output

search

keywords (e.g., "react testing")

List of matching skills with name, author, stars, links

ai_search

plain English (e.g., "how to build REST APIs")

Semantically relevant skills ranked by relevance

read_skill

GitHub owner + repo + path

The skill's full SKILL.md content, loaded into agent context

install_skill

GitHub source + skill names + target agents

Skill permanently saved to agent's skills directory

remove_skill

skill names

Deletes the skill files from agent's skills directory

Parameter

Type

Default

Description

query

string

required

Search terms

page

number

1

Page number

limit

number

20

Results per page (max: 100)

sort_by

string

"stars"

"stars" or "recent"

response_format

string

"markdown"

"markdown" or "json"

Parameter

Type

Default

Description

query

string

required

Natural language query

response_format

string

"markdown"

"markdown" or "json"

read_skill

Parameter

Type

Default

Description

owner

string

required

GitHub user/org

repo

string

required

Repository name

path

string

Path to skill folder

branch

string

"main"

Git branch

install_skill

Parameter

Type

Default

Description

source

string

required

GitHub owner/repo or full URL

skills

string

required

Skill names (comma-separated)

agents

string

required

Target agents (comma-separated)

global

boolean

false

Install globally (user-level)

remove_skill

Parameter

Type

Default

Description

skills

string

required

Skill names to remove (comma-separated)

agent

string

"claude-code"

Target agent

global

boolean

false

Remove from global scope


Supported Agents

Agent

Install

Remove

Claude Code

Yes

Yes

Cursor

Yes

Yes

Codex

Yes

OpenCode

Yes

GitHub Copilot

Yes

Roo

Yes

Antigravity

Yes


How It Works

Your AI Agent
    │
    ▼
skills-master-mcp (local, via npx)
    ├── search / ai_search ──▶ Proxy Backend ──▶ SkillsMP API
    ├── read_skill ──────────▶ GitHub (direct)
    ├── install_skill ───────▶ npx add-skill
    └── remove_skill ────────▶ Local file deletion

Search requests go through a proxy backend so you don't need an API key. Everything else is direct.


Configuration

Nothing to configure. Optional env vars for advanced use:

Variable

Default

Description

SKILLS_MASTER_BACKEND_URL

Production URL

Override backend endpoint

TRANSPORT

stdio

stdio or http

PORT

3000

HTTP port (when TRANSPORT=http)



License

MIT

Available Tools

5 tools
install_skillInstall SkillA

Install skills from GitHub to AI coding agents.

Parameters:

  • source: GitHub "owner/repo" (e.g., "anthropics/claude-code") [REQUIRED]

  • skills: Skill names, comma-separated (e.g., "frontend-design,backend-dev") [REQUIRED]

  • agents: Target agents, comma-separated [REQUIRED] Valid: claude-code, cursor, codex, opencode, antigravity, github-copilot, roo

  • global: Installation scope [REQUIRED] true = user-level install to ~/.claude/skills (available across all projects) false = project-level install to ./.claude/skills (only this project)

Example: source="anthropics/claude-code", skills="frontend-design", agents="claude-code", global=false

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesFull path to skill: 'owner/repo/path/to/skill' (e.g., 'openclaw/skills/skills/araa47/md-2-pdf') or GitHub URL
skillsYesSkill names to install (comma-separated: 'skill1,skill2' or array). REQUIRED.
agentsYesTarget agents (comma-separated: 'claude-code,cursor'). Valid: opencode, claude-code, codex, cursor, antigravity, github-copilot, roo. REQUIRED.
globalYesInstallation scope - REQUIRED. Set to true for user-level (~/.claude/skills) or false for project-level (./.claude/skills)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds some behavioral context by explaining the installation scope implications (user-level vs project-level) and listing valid agent values. However, it doesn't describe important behavioral aspects like what happens on failure, whether installations are reversible, or how the tool interacts with existing skills. The description doesn't contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear opening statement followed by organized parameter explanations and a complete example. Each sentence serves a purpose, though the parameter explanations could be slightly more concise. The information is front-loaded with the core purpose stated first. Minor verbosity in parameter formatting prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation tool with no output schema, the description provides adequate but incomplete context. It covers parameter usage well but lacks information about return values, error conditions, or what constitutes successful installation. The annotations provide safety profile (non-destructive, non-idempotent), but the description doesn't fully compensate for the missing output schema by explaining expected results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds meaningful value by providing concrete examples (e.g., 'anthropics/claude-code' for source, 'frontend-design,backend-dev' for skills), clarifying the format of comma-separated values, and explaining the boolean meaning of 'global' parameter with specific path implications. The description enhances understanding beyond the schema's technical specifications.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Install') and resource ('skills from GitHub to AI coding agents'). It distinguishes from sibling tools like 'read_skill' and 'remove_skill' by specifying installation rather than reading or removal. The opening sentence provides immediate clarity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through parameter explanations (e.g., 'global' parameter defines installation scope), but doesn't explicitly state when to use this tool versus alternatives like 'remove_skill' or 'read_skill'. No explicit guidance is provided about prerequisites, error conditions, or when not to use this tool. The example shows typical usage but doesn't provide comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_skillRead Skill ContentA
Read-onlyIdempotent

Read skill file content (SKILL.md) from a GitHub repository. Use to preview a skill before installing.

Parameters:

  • owner: GitHub username/org (e.g., "anthropics")

  • repo: Repository name (e.g., "claude-code")

  • path: Path to skill folder (e.g., "plugins/frontend-design/skills/frontend-design")

  • branch: Git branch (default: "main")

If path has no skill.md, returns directory listing.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub repository owner (e.g., 'davila7')
repoYesGitHub repository name (e.g., 'claude-code-templates')
pathNoPath to skill within repo (e.g., 'cli-tool/components/skills/development/senior-prompt-engineer'). If not provided, lists available skills.
branchNoGit branch (default: 'main')main

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds valuable behavioral context beyond annotations: it specifies what happens when the path has no skill.md ('returns directory listing'), which is not inferable from annotations alone. However, it doesn't mention rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by usage guidance and parameter details. Every sentence earns its place: the first states what it does, the second when to use it, and the parameter section clarifies behavior and defaults. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with comprehensive annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) and full schema coverage, the description is mostly complete. It explains the tool's purpose, usage context, and fallback behavior. However, without an output schema, it could benefit from more detail on return values (e.g., format of directory listing).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all parameters. The description repeats parameter names and provides examples (e.g., 'anthropics', 'claude-code'), but doesn't add significant semantic meaning beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Read') and resource ('skill file content (SKILL.md) from a GitHub repository'), distinguishing it from sibling tools like install_skill and remove_skill. It specifies the exact file being read (SKILL.md) and the source (GitHub repository), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('Use to preview a skill before installing'), providing clear context for its application. It also distinguishes from alternatives by focusing on previewing rather than installing or removing skills, which are handled by sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_skillRemove SkillA
DestructiveIdempotent

Remove installed skills from an AI coding agent.

Parameters:

  • skills: Skill names to remove (comma-separated: 'skill1,skill2'). REQUIRED.

  • agent: Agent to remove from (default: 'claude-code') Valid: claude-code, cursor, codex, opencode, antigravity, github-copilot, roo

  • global: Removal scope [REQUIRED] true = remove from user-level ~/.agents/skills (global install) false = remove from project-level ./.agents/skills (project install)

Removes the skill directory and associated symlinks from the agent's skills directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
skillsYesSkill names to remove (comma-separated: 'skill1,skill2' or array). REQUIRED.
agentNoAgent whose skills to remove (default: 'claude-code')claude-code
globalYesRemoval scope - REQUIRED. Set to true for user-level (~/.claude/skills) or false for project-level (./.claude/skills)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructive (true) and idempotent (true) operations, but the description adds valuable behavioral context: 'Removes the skill directory and associated symlinks from the agent's skills directory' clarifies what gets destroyed and the scope of removal. It doesn't contradict annotations and provides implementation details beyond the structured hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose statement followed by parameter explanations and implementation details. While somewhat verbose in repeating schema information, every sentence contributes to understanding. It could be more front-loaded by moving the 'Removes the skill directory...' sentence earlier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with good annotations and full schema coverage, the description provides adequate context about what gets removed and scope implications. Without an output schema, it doesn't describe return values, but the operational details are sufficiently covered for the tool's complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all parameters thoroughly. The description repeats parameter information (skills format, agent options, global scope meaning) but doesn't add significant semantic value beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Remove installed skills') and target resource ('from an AI coding agent'), distinguishing it from siblings like 'install_skill' and 'read_skill'. It provides a complete operational picture beyond just the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through parameter explanations (global vs project scope, agent selection) but doesn't explicitly state when to use this tool versus alternatives like 'read_skill' or 'install_skill'. No explicit guidance on prerequisites or when-not-to-use scenarios is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation4/5

Most tools have distinct purposes: ai_search and search both handle searching but differ in approach (semantic vs keyword-based), while install_skill, read_skill, and remove_skill clearly manage skill lifecycle. The overlap between ai_search and search creates minor ambiguity, but their descriptions help differentiate them.

Naming Consistency4/5

Tools follow a consistent verb_noun pattern with snake_case throughout (ai_search, install_skill, read_skill, remove_skill, search). The only deviation is 'ai_search' versus 'search' where the prefix clarifies the semantic approach, maintaining overall readability.

Tool Count5/5

With 5 tools, this server is well-scoped for managing AI coding skills. It covers core operations: discovery (two search tools), installation, inspection, and removal. Each tool earns its place without bloat, fitting typical server scope expectations.

Completeness4/5

The toolset provides strong coverage for skill management: discover, preview, install, and remove. A minor gap exists in updating or modifying installed skills, but agents can work around this by removing and reinstalling. Core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Integrates with the skills.sh ecosystem to allow AI coding agents to discover, install, and manage reusable instruction sets. It enables autonomous agents to extend their capabilities with structured skill discovery and full lifecycle management through the Model Context Protocol.
    6
    25
    1
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Connects AI coding agents to the SkillFlow marketplace to search, discover, and retrieve detailed information about agent skills. It enables users to browse trending skills, categories, and publisher data directly through MCP-compatible environments.
    5
    56
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    This MCP server enables AI agents to search, discover, and install skills from the SkillsMP marketplace, with support for keyword and semantic search, skill content retrieval, and installation to various coding agents.
    5
    1,647
    3
    MIT

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/adarc8/skills-master-mcp'

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