skills-mcp-server
skills-mcp
Высокопроизводительный MCP-сервер (Model Context Protocol), предоставляющий каталог из 1300+ ИИ-навыков с помощью поиска по алгоритму BM25, структурированных метаданных и контекстно-эффективных ответов.
Создан для решения одной проблемы: тысячи навыков переполняют контекстное окно. Этот сервер индексирует их, ранжирует и выдает только то, что вам нужно.
┌────────────────────────────────────────────────────────────┐
│ 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 │
└────────────────────────────────────────────────────────────┘Возможности
Поиск по алгоритму BM25 — Это не просто сопоставление по ключевым словам. Реальная оценка релевантности с весовыми коэффициентами полей (имя 3x, описание 2x, теги 2x, тело 1x)
Контекстная эффективность — Читайте метаданные навыка (~500 символов), краткое содержание (~2 тыс. символов) или полное содержимое (ограничено 25 тыс. символов). Вы сами контролируете, сколько контекста использовать
Структурированные метаданные — YAML-фронтматтер, преобразованный в типизированные поля: имя, описание, теги, категория, риск, автор, инструменты
Пагинация везде — Каждый инструмент для списка/поиска поддерживает
offsetиlimit3 режима транспорта — stdio для локальных IDE, HTTP/SSE для удаленного доступа, AWS Lambda для serverless
Быстрый запуск — 1300+ навыков индексируются примерно за 1,5 секунды. Занимает ~3 МБ памяти (против 65 МБ в исходном виде)
6 специализированных инструментов — Просмотр, список, поиск, чтение, проверка, обновление
Related MCP server: skilldb-mcp
Быстрый старт
Предварительные требования
Node.js 18+
Директория
skills/с файлами SKILL.md (см. Формат навыков)
Установка и сборка
git clone https://github.com/LucasRomanzin/skills-mcp.git
cd skills-mcp
npm install
npm run buildЗапуск локально (stdio)
node dist/index.jsЗапуск в качестве HTTP-сервера (SSE)
node dist/http.js
# Server starts on http://localhost:3000
# MCP endpoint: http://localhost:3000/mcp
# Health check: http://localhost:3000/healthИнструменты MCP
skills_browse_categories
Список всех категорий навыков с количеством элементов. Используйте это в первую очередь.
Input: { response_format?: "markdown" | "json" }
Output: Table with 9 categories and skill countsskills_search
Полнотекстовый поиск по алгоритму BM25 по именам, описаниям, тегам и содержимому.
Input: { query: string, category?: string, risk?: string, offset?: 0, limit?: 10 }
Output: Ranked results with name, description, category, tags, scoreskills_list_by_category
Список навыков в определенной категории с пагинацией.
Input: { category: string, offset?: 0, limit?: 20 }
Output: Paginated skill list with metadataskills_read
Чтение содержимого навыка с контролем контекста.
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
Получение структурированных метаданных для нескольких навыков + связанных навыков по совпадению тегов.
Input: { slugs: string[] (1-10), response_format?: "json" }
Output: Metadata + related_skills for each slugskills_refresh_index
Перестройка индекса в оперативной памяти после добавления/удаления/изменения навыков на диске.
Input: {}
Output: Previous count, new count, durationНастройка IDE
Claude Desktop / Claude Code
{
"mcpServers": {
"skills": {
"command": "node",
"args": ["/path/to/skills-mcp/dist/index.js"],
"env": {
"SKILLS_DIR": "/path/to/skills-mcp/skills"
}
}
}
}Удаленно (HTTP/SSE) — Cursor, VS Code, любой MCP-клиент
{
"mcpServers": {
"skills": {
"url": "http://localhost:3000/mcp"
}
}
}AWS Lambda (после развертывания)
{
"mcpServers": {
"skills": {
"url": "https://<function-url-id>.lambda-url.<region>.on.aws/mcp"
}
}
}См. docs/SETUP.md для получения полных пошаговых руководств по настройке для всех режимов и IDE.
Режимы развертывания
Режим | Команда | Вариант использования | SSE Streaming |
stdio |
| Локальные IDE (Claude, Cursor, Gemini CLI) | Н/Д |
HTTP |
| Сервер разработки, EC2, VPS, Docker | Да |
Lambda | SAM deploy | Serverless, автомасштабирование, оплата за использование | Да (потоковая передача ответов) |
Формат навыков
Каждый навык представляет собой директорию в skills/, содержащую как минимум файл SKILL.md с YAML-фронтматтером:
skills/
├── CATALOG.md # Category-to-skill mapping (auto-generated)
├── my-skill/
│ ├── SKILL.md # Required: frontmatter + content
│ ├── references/ # Optional: additional .md files
│ └── scripts/ # Optional: helper scriptsСтруктура SKILL.md
---
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
...Поля фронтматтера
Поле | Тип | Обязательно | Описание |
| string | Да | Идентификатор навыка |
| string | Да | Однострочное описание |
| string[] | Нет | Ключевые слова для поиска |
| enum | Нет |
|
| string | Нет | Происхождение ( |
| string | Нет | Имя автора |
| string[] | Нет | Совместимые ИИ-инструменты |
Архитектура
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 paginationПоисковый движок
Реализация BM25 индексирует каждый навык как взвешенный документ:
Поле | Вес | Пример |
| 3x | "react-patterns" повторяется 3 раза |
| 2x | "Modern React patterns..." повторяется 2 раза |
| 2x | "react frontend hooks" повторяется 2 раза |
| 1x | "development" |
| 1x | Первые 500 символов тела |
Оценка использует BM25 с k1=1.5, b=0.75. Результаты отсортированы по убыванию оценки релевантности.
Производительность: поиск по 1300+ навыкам выполняется менее чем за 10 мс.
Переменные окружения
Переменная | По умолчанию | Описание |
|
| Путь к директории с навыками |
|
| Порт HTTP-сервера (только для http.ts) |
Технологический стек
TypeScript — Строгий режим, ESM
MCP SDK v1.29+ —
StreamableHTTPServerTransport,WebStandardStreamableHTTPServerTransportgray-matter — Парсинг YAML-фронтматтера
Zod — Схемы валидации входных данных
BM25 — Собственная реализация (~80 строк), отсутствие внешних зависимостей
Лицензия
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.-