skills-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@skills-mcp-serverfind skills for data visualization"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
skills-mcp
A high-performance MCP (Model Context Protocol) server that exposes a catalog of 1300+ AI skills through BM25-ranked search, structured metadata, and context-efficient responses.
Built to solve one problem: thousands of skills destroy your context window. This server indexes them, ranks them, and serves only what you need.
┌────────────────────────────────────────────────────────────┐
│ IDE / AI Client │
│ (Claude, Cursor, Gemini, Copilot, Windsurf, ...) │
│ │
│ "find me a skill for React dashboards" │
└──────────────────────┬─────────────────────────────────────┘
│ MCP Protocol
▼
┌────────────────────────────────────────────────────────────┐
│ skills-mcp │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Indexer │ │ BM25 │ │ 6 MCP │ │
│ │ 1300+ │──│ Search │──│ Tools │ │
│ │ skills │ │ Engine │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ Transports: stdio | HTTP/SSE | AWS Lambda │
└────────────────────────────────────────────────────────────┘Features
BM25-ranked search — Not keyword matching. Real relevance scoring with field weighting (name 3x, description 2x, tags 2x, body 1x)
Context-efficient — Read skill metadata (~500 chars), summary (~2K chars), or full content (capped at 25K chars). You control how much context to spend
Structured metadata — YAML frontmatter parsed into typed fields: name, description, tags, category, risk, author, tools
Pagination everywhere — Every list/search tool supports
offsetandlimit3 transport modes — stdio for local IDEs, HTTP/SSE for remote access, AWS Lambda for serverless
Fast startup — 1300+ skills indexed in ~1.5 seconds. ~3MB memory footprint (vs 65MB raw)
6 specialized tools — Browse, list, search, read, inspect, refresh
Related MCP server: skilldb-mcp
Quick Start
Prerequisites
Node.js 18+
The
skills/directory with SKILL.md files (see Skill Format)
Install & Build
git clone https://github.com/LucasRomanzin/skills-mcp.git
cd skills-mcp
npm install
npm run buildRun Locally (stdio)
node dist/index.jsRun as HTTP Server (SSE)
node dist/http.js
# Server starts on http://localhost:3000
# MCP endpoint: http://localhost:3000/mcp
# Health check: http://localhost:3000/healthMCP Tools
skills_browse_categories
List all skill categories with counts. Use this first.
Input: { response_format?: "markdown" | "json" }
Output: Table with 9 categories and skill countsskills_search
BM25-ranked full-text search across names, descriptions, tags, and content.
Input: { query: string, category?: string, risk?: string, offset?: 0, limit?: 10 }
Output: Ranked results with name, description, category, tags, scoreskills_list_by_category
List skills within a specific category with pagination.
Input: { category: string, offset?: 0, limit?: 20 }
Output: Paginated skill list with metadataskills_read
Read skill content with context control.
Input: { slug: string, section?: "metadata" | "summary" | "full", file?: string }
section="metadata" → ~500 chars (frontmatter fields + file list)
section="summary" → ~2500 chars (metadata + first 2000 chars of body)
section="full" → up to 25000 chars (complete content, truncated if larger)skills_inspect
Get structured metadata for multiple skills + related skills by tag overlap.
Input: { slugs: string[] (1-10), response_format?: "json" }
Output: Metadata + related_skills for each slugskills_refresh_index
Rebuild the in-memory index after adding/removing/modifying skills on disk.
Input: {}
Output: Previous count, new count, durationIDE Configuration
Claude Desktop / Claude Code
{
"mcpServers": {
"skills": {
"command": "node",
"args": ["/path/to/skills-mcp/dist/index.js"],
"env": {
"SKILLS_DIR": "/path/to/skills-mcp/skills"
}
}
}
}Remote (HTTP/SSE) — Cursor, VS Code, any MCP client
{
"mcpServers": {
"skills": {
"url": "http://localhost:3000/mcp"
}
}
}AWS Lambda (after deploy)
{
"mcpServers": {
"skills": {
"url": "https://<function-url-id>.lambda-url.<region>.on.aws/mcp"
}
}
}See docs/SETUP.md for complete step-by-step setup guides for all modes and IDEs.
Deployment Modes
Mode | Command | Use Case | SSE Streaming |
stdio |
| Local IDEs (Claude, Cursor, Gemini CLI) | N/A |
HTTP |
| Dev server, EC2, VPS, Docker | Yes |
Lambda | SAM deploy | Serverless, auto-scaling, pay-per-use | Yes (response streaming) |
Skill Format
Each skill is a directory under skills/ containing at minimum a SKILL.md file with YAML frontmatter:
skills/
├── CATALOG.md # Category-to-skill mapping (auto-generated)
├── my-skill/
│ ├── SKILL.md # Required: frontmatter + content
│ ├── references/ # Optional: additional .md files
│ └── scripts/ # Optional: helper scriptsSKILL.md Structure
---
name: my-skill
description: What this skill does in one sentence.
tags:
- react
- dashboard
- frontend
risk: safe
source: community
author: your-name
tools:
- claude-code
- cursor
---
# My Skill
## Overview
...
## When to Use This Skill
...Frontmatter Fields
Field | Type | Required | Description |
| string | Yes | Skill identifier |
| string | Yes | One-line description |
| string[] | No | Searchable keywords |
| enum | No |
|
| string | No | Origin ( |
| string | No | Creator name |
| string[] | No | Compatible AI tools |
Architecture
src/
├── index.ts # stdio entry point
├── http.ts # Express HTTP/SSE entry point
├── lambda.ts # AWS Lambda handler
├── server.ts # McpServer factory (shared)
├── constants.ts # CHARACTER_LIMIT, pagination defaults
├── types.ts # TypeScript interfaces
├── indexer.ts # Frontmatter parser + skill index builder
├── catalog.ts # CATALOG.md parser → category mapping
├── search.ts # BM25 scoring engine
├── tools/
│ ├── browse.ts # skills_browse_categories
│ ├── list.ts # skills_list_by_category
│ ├── search.ts # skills_search
│ ├── read.ts # skills_read
│ ├── inspect.ts # skills_inspect
│ └── refresh.ts # skills_refresh_index
└── utils/
├── frontmatter.ts # gray-matter wrapper + tag normalization
├── format.ts # Markdown/JSON response formatters
├── truncate.ts # CHARACTER_LIMIT enforcement
└── paginate.ts # Generic paginationSearch Engine
The BM25 implementation indexes each skill as a weighted document:
Field | Weight | Example |
| 3x | "react-patterns" repeated 3 times |
| 2x | "Modern React patterns..." repeated 2 times |
| 2x | "react frontend hooks" repeated 2 times |
| 1x | "development" |
| 1x | First 500 chars of body |
Scoring uses BM25 with k1=1.5, b=0.75. Results are sorted by relevance score descending.
Performance: search across 1300+ skills completes in <10ms.
Environment Variables
Variable | Default | Description |
|
| Path to the skills directory |
|
| HTTP server port (http.ts only) |
Tech Stack
TypeScript — Strict mode, ESM
MCP SDK v1.29+ —
StreamableHTTPServerTransport,WebStandardStreamableHTTPServerTransportgray-matter — YAML frontmatter parsing
Zod — Input validation schemas
BM25 — Custom implementation (~80 lines), zero external dependencies
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
A registry of 5,900+ peer-authored skills any MCP agent can search and load on demand.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Search & install 6,500+ AI agent skills from skills-hub.ai inside any MCP tool.
Related MCP Servers
- AlicenseAqualityCmaintenanceThis 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.5144 npm3MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for SkillDB that enables AI assistants to search, load, and manage AI agent skills directly.51 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that provides on-demand skill discovery for AI coding agents by querying GitHub repositories, using BM25 search to return relevant SKILL.md content.28 npmMIT
- FlicenseNot gradedqualityBmaintenanceA hierarchical MCP server for managing skill definitions with a browsable tree structure and full-text search. It allows AI agents to efficiently discover and use skills without consuming context tokens.-