local-skills-mcp

local-skills-mcp

A universal MCP server that enables any LLM or AI agent to access expert skills from your local filesystem.

Category
Visit Server

README

<div align="center">

🎯 Local Skills MCP

Enable any LLM or AI agent to utilize expert skills from your local filesystem via MCP

npm version npm downloads npm types License: MIT Node MCP

CI codecov CodeQL

GitHub Stars GitHub Forks GitHub Issues GitHub Last Commit PRs Welcome

Quick Start β€’ Features β€’ Usage β€’ FAQ β€’ Contributing

</div>


πŸ“‘ Table of Contents


What is Local Skills MCP?

A universal Model Context Protocol (MCP) server that enables any LLM or AI agent to access expert skills from your local filesystem. Write skills once, use them across Claude Code, Claude Desktop, Cline, Continue.dev, custom agents, or any MCP-compatible client.

Transform AI capabilities with structured, expert-level instructions for specialized tasks. Context-efficient lazy loadingβ€”only skill names/descriptions load initially (~50 tokens/skill), full content on-demand.

πŸ†š Why Use Local Skills MCP?

Feature Local Skills MCP Built-in Claude Skills
Portability Any MCP client Claude Code only
Storage Multiple directories aggregated ~/.claude/skills/ only
Invocation Explicit via MCP tool Auto-invoked by Claude
Context Usage Lazy loading (names only) All skills in context

✨ Features

  • 🌐 Universal - Works with any MCP client (Claude Code/Desktop, Cline, Continue.dev, custom agents)
  • πŸ”„ Portable - Write once, use across multiple AI systems and LLMs (Claude, GPT, Gemini, Ollama, etc.)
  • ⚑ Context Efficient - Lazy loading (~50 tokens/skill for names/descriptions, full content loads on-demand)
  • πŸ”₯ Hot Reload - Changes apply instantly without restart (new skills, edits, deletions)
  • 🎯 Multi-Source - Auto-aggregates from built-in skills, ~/.claude/skills, ./.claude/skills, ./skills, custom paths
  • πŸ“¦ Zero Config - Works out-of-the-box with standard locations
  • ✨ Simple API - Single tool (get_skill) with dynamic discovery

πŸš€ Quick Start

1. Install

Requirements: Node.js 18+

Choose one installation method:

# From npm (recommended)
npm install -g local-skills-mcp

# From GitHub
npm install -g github:kdpa-llc/local-skills-mcp

# Or clone and build locally
git clone https://github.com/kdpa-llc/local-skills-mcp.git
cd local-skills-mcp
npm install  # Automatically builds via prepare script

2. Configure MCP Client

Add to your MCP client configuration:

For Claude Code/Desktop (~/.config/claude-code/mcp.json or ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "local-skills": {
      "command": "local-skills-mcp"
    }
  }
}

For Cline: VS Code Settings β†’ "Cline: MCP Settings" (same JSON structure)

For other MCP clients: Use the same command/args structure

If cloned locally (not installed globally), use:

{
  "mcpServers": {
    "local-skills": {
      "command": "node",
      "args": ["/absolute/path/to/local-skills-mcp/dist/index.js"]
    }
  }
}

Skill Discovery:

The server auto-aggregates skills from multiple directories (priority: low to high):

  1. Package built-in skills (self-documenting guides)
  2. ~/.claude/skills/ - Global skills
  3. ./.claude/skills/ - Project-specific (hidden)
  4. ./skills - Project-specific (visible)
  5. $SKILLS_DIR - Custom path (if env var set)

Later directories override earlier ones, letting you customize built-in skills.

3. Create & Use Skills

Create Skills (Option 1: Ask AI - Recommended)

Simply ask your AI to create skills:

"Create a Python expert skill for clean, idiomatic code"
"Make a PR review skill focusing on security and best practices"

The AI uses the built-in skill-creator skill to generate well-structured skills with proper YAML frontmatter and trigger keywords.

Create Skills (Option 2: Manual)

Create ~/.claude/skills/my-skill/SKILL.md:

---
name: my-skill
description: What this skill does and when to use it
---

You are an expert at [domain]. Your task is to [specific task].

Guidelines:
1. Be specific and actionable
2. Provide examples
3. Include best practices

Use Skills

Request any skill: "Use the my-skill skill"

Skills are auto-discovered and load on-demand. All changes apply instantly with hot reloadβ€”no restart needed!

πŸ“ SKILL.md Format

Every skill is a SKILL.md file with YAML frontmatter:

---
name: skill-name
description: Brief description of what this skill does and when to use it
---

Your skill instructions in Markdown format...

Required Fields:

  • name - Skill identifier (lowercase, hyphens, max 64 chars)
  • description - Critical for skill selection (max 200 chars)

Writing Effective Descriptions:

Use pattern: [What it does]. Use when [trigger conditions/keywords].

βœ… Good Examples:

  • "Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes."
  • "Analyzes Excel spreadsheets and creates pivot tables. Use when working with .xlsx files or tabular data."

❌ Poor Example:

  • "Helps with Excel files"

Specific trigger keywords help the AI make better decisions when selecting skills.

🎯 Usage

How It Works:

  1. AI sees all available skill names/descriptions (auto-updated, ~50 tokens each)
  2. When you request a skill, AI invokes the get_skill tool
  3. Full skill content loads on-demand with detailed instructions

Built-in Skills:

Three self-documenting skills are included:

  • local-skills-mcp-usage - Quick usage guide
  • local-skills-mcp-guide - Comprehensive documentation
  • skill-creator - Skill authoring best practices

Skill Directories:

Auto-aggregates from multiple locations (later ones override earlier):

  1. Package built-in skills
  2. ~/.claude/skills/ - Global skills
  3. ./.claude/skills/ - Project-specific (hidden)
  4. ./skills - Project-specific (visible)
  5. $SKILLS_DIR - Custom path (optional)

Custom Directory:

Configure via environment variable in your MCP client config:

{
  "mcpServers": {
    "local-skills": {
      "command": "local-skills-mcp",
      "env": {
        "SKILLS_DIR": "/custom/path/to/skills"
      }
    }
  }
}

Example Skill:

---
name: code-reviewer
description: Reviews code for best practices, bugs, and security. Use when reviewing PRs or analyzing code quality.
---

You are a code reviewer with expertise in software engineering best practices.

Analyze the code for:
1. Correctness and bugs
2. Best practices and maintainability
3. Performance and security issues

Provide specific, actionable feedback with examples.

❓ FAQ

<details> <summary><strong>Q: What MCP clients are supported?</strong></summary> <p>Any MCP-compatible client: Claude Code, Claude Desktop, Cline, Continue.dev, or custom agents.</p> </details>

<details> <summary><strong>Q: Can I use existing Claude skills from ~/.claude/skills/?</strong></summary> <p>Yes! The server automatically aggregates skills from <code>~/.claude/skills/</code> along with other directories.</p> </details>

<details> <summary><strong>Q: Do I need to restart after adding or editing skills?</strong></summary> <p>No! Hot reload is fully supported. All changes (new skills, edits, deletions) apply instantly without restarting the MCP server.</p> </details>

<details> <summary><strong>Q: How do I override a built-in skill?</strong></summary> <p>Create a skill with the same name in a higher-priority directory. Priority order: package built-in β†’ <code>~/.claude/skills</code> β†’ <code>./.claude/skills</code> β†’ <code>./skills</code> β†’ <code>$SKILLS_DIR</code>.</p> </details>

<details> <summary><strong>Q: Does this work with local LLMs (Ollama, LM Studio)?</strong></summary> <p>Yes! Works with any MCP-compatible client and LLM. Skills are structured prompts that work with any model.</p> </details>

<details> <summary><strong>Q: Does this work offline?</strong></summary> <p>Yes! The MCP server runs entirely on your local filesystem (though your LLM may require internet depending on the provider).</p> </details>

<details> <summary><strong>Q: How do I create effective skills?</strong></summary> <p>See the <a href="#-skillmd-format">SKILL.md format section</a>. Use clear descriptions with trigger keywords, specific instructions, and examples. Or ask your AI to create skills using the built-in <code>skill-creator</code> skill.</p> </details>

<details> <summary><strong>Q: Where can I get help?</strong></summary> <p>Open an <a href="https://github.com/kdpa-llc/local-skills-mcp/issues">issue on GitHub</a> or check the built-in <code>local-skills-mcp-guide</code> skill.</p> </details>

More: See CONTRIBUTING.md, SECURITY.md, CHANGELOG.md

🀝 Contributing

Contributions welcome! See CONTRIBUTING.md for detailed guidelines.

Quick start:

  1. Fork and clone the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Make changes and add tests
  4. Commit (git commit -m 'Add amazing feature')
  5. Push (git push origin feature/amazing-feature)
  6. Open a Pull Request

This project follows a Code of Conduct.

πŸ”— Complementary Projects

Optimize your MCP setup with these complementary tools:

MCP Compression Proxy

Aggregate and compress tool descriptions from multiple MCP servers

While Local Skills MCP provides expert prompt instructions, MCP Compression Proxy optimizes your tool descriptions with intelligent LLM-based compression.

Perfect combination:

  • Local Skills MCP - Expert skills with lazy loading (~50 tokens/skill)
  • MCP Compression Proxy - Compressed tool descriptions (50-80% token reduction)

Together they enable:

  • 🎯 Maximum context efficiency across skills AND tools
  • πŸ”— Access to multiple MCP servers through one connection
  • ⚑ Minimal token consumption for large-scale workflows
  • πŸš€ Professional AI agent setups with hundreds of tools

Learn more about MCP Compression Proxy β†’

πŸ’– Support This Project

If you find Local Skills MCP useful, please consider supporting its development!

<div align="center">

GitHub Sponsors Buy Me A Coffee PayPal

</div>

Ways to support:

πŸ“„ License

MIT License - see LICENSE file. Copyright Β© 2025 KDPA

πŸ™ Acknowledgments

Built with Model Context Protocol SDK β€’ Inspired by Claude Skills


<div align="center">

⬆ Back to Top

Made with ❀️ by KDPA

</div>

<!-- Reference Links --> <!-- Badges - Top of README -->

<!-- CI/CD Badges -->

<!-- GitHub Badges -->

<!-- Repository Links -->

<!-- Documentation Links -->

<!-- Sponsorship Links -->

<!-- External Links -->

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured