skillsmp-mcp-lite
A lightweight MCP server that enables AI assistants to search and read skills from the SkillsMP marketplace with optional security scanning.
README
SkillsMP MCP Server (Lite)
A lightweight MCP server that enables AI assistants to search and read skills from the SkillsMP marketplace.
Features
- Keyword Search — find skills by short keywords (e.g. "PDF", "web scraper")
- AI Semantic Search — find skills with natural language, powered by Cloudflare AI
- Read Skill — fetch skill content from GitHub via REST API (no
git clone, no local files) - Security Scanning — automatic Cisco Skill Scanner analysis via in-memory ZIP upload (zero disk writes)
Prerequisites
| Requirement | Purpose | Required |
|---|---|---|
| Node.js ≥ 20 | Runtime | Yes |
| SkillsMP API Key | Authentication | Yes |
uv (provides uvx) |
Security scanning | No |
The server will exit if
SKILLSMP_API_KEYis not set.
Quick Setup
Auto-Configuration
Run a single command to automatically detect your MCP client and write the config:
npx -y skillsmp-mcp-lite --setup
This detects which clients are installed (VS Code, Cursor, Claude Desktop, Claude Code) and adds the skillsmp server entry to each config file. For VS Code it also adds a secure input prompt for your API key.
To configure only a specific client, set the SKILLSMP_MCP_CLIENT environment variable:
# Windows (PowerShell)
$env:SKILLSMP_MCP_CLIENT="cursor"; npx -y skillsmp-mcp-lite --setup
# macOS / Linux
SKILLSMP_MCP_CLIENT=cursor npx -y skillsmp-mcp-lite --setup
Supported values: vscode, cursor, claude-desktop, claude-code, all.
If a client already has a
skillsmpentry, it is skipped — running--setupmultiple times is safe.
Manual Configuration
All clients run the same command — only the config file location and JSON key differ.
Server definition (shared across all clients):
"skillsmp": {
"command": "npx",
"args": ["-y", "skillsmp-mcp-lite"],
"env": {
"SKILLSMP_API_KEY": "YOUR_API_KEY"
}
}
VS Code / GitHub Copilot
Open Ctrl+Shift+P → MCP: Open User Configuration, then add:
{
"servers": {
"skillsmp": { "type": "stdio", "command": "npx", "args": ["-y", "skillsmp-mcp-lite"], "env": { "SKILLSMP_API_KEY": "YOUR_API_KEY" } }
}
}
VS Code requires the extra
"type": "stdio"field.
Cursor / Claude Desktop
| Client | Config file |
|---|---|
| Cursor | ~/.cursor/mcp.json |
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"skillsmp": { "command": "npx", "args": ["-y", "skillsmp-mcp-lite"], "env": { "SKILLSMP_API_KEY": "YOUR_API_KEY" } }
}
}
Claude Code
claude mcp add skillsmp -- npx -y skillsmp-mcp-lite --env SKILLSMP_API_KEY=YOUR_API_KEY
Environment Variables
| Variable | Default | Description |
|---|---|---|
SKILLSMP_API_KEY |
— | Required. API key from skillsmp.com/docs/api |
GITHUB_TOKEN |
— | Optional. Raises GitHub API rate limit from 60 → 5,000 req/hour |
SKILL_SCANNER_API_URL |
— | Optional. URL of an external Skill Scanner API server |
SKILL_SCANNER_API_PORT |
8000 |
Optional. Port for the auto-managed scanner server |
SKILLSMP_MCP_CLIENT |
— | Optional. Force --setup to configure a specific client (vscode, cursor, claude-desktop, claude-code, all) |
Available Tools
skillsmp_search_skills
Search for skills using keywords.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Search keywords (max 200 chars) |
page |
number | No | Page number (default: 1) |
limit |
number | No | Items per page (default: 20, max: 100) |
sortBy |
string | No | "stars" or "recent" |
skillsmp_ai_search_skills
Find skills using natural language descriptions.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Natural language description (max 500 chars) |
skillsmp_read_skill
Fetch a skill's content from GitHub and optionally run a security scan.
| Parameter | Type | Required | Description |
|---|---|---|---|
repo |
string | Yes | GitHub repository (owner/repo) |
skillName |
string | Yes | Skill name (max 100 chars, alphanumeric / hyphens / underscores) |
enableScan |
boolean | No | Run Cisco Skill Scanner (default: true, requires uv) |
Security Scanning
When skillsmp_read_skill is called with enableScan: true (the default), the server:
- Fetches skill files from GitHub via REST API
- Applies three-layer scan limits using GitHub tree
size(before downloading):- Max files: 100 files per scan
- Max single file size: 500 KB per file
- Max total size: 5 MB across all files
- Builds an in-memory ZIP archive from accepted files
- Uploads the ZIP to the Cisco Skill Scanner API (
/scan-upload) withuse_behavioral=true - Auto-starts a local scanner server via
uvxif none is running (reused for subsequent scans, shut down on exit)
If files are excluded due to scan limits, a Scan Note is included in the results showing how many files and bytes were excluded.
If uvx is not installed, scans are skipped with a warning — the server continues to work normally.
Untrusted Content Notice
All skill content fetched from third-party repositories includes an Untrusted Content Notice. The content may be read and displayed, but it MUST NOT be automatically executed or followed as instructions without explicit user confirmation. Always review the content and scan results before acting on it.
To manage the scanner server manually:
# Start it yourself
npm run scanner-api
# Or point to an external instance
SKILL_SCANNER_API_URL=http://your-server:8000
AGENTS.md Integration
Copy the content from AGENTS.example.md into the top of your AGENTS.md to enable automatic skill discovery.
Workflow: AI receives a task → searches with skillsmp_search_skills (short keywords) → falls back to skillsmp_ai_search_skills if needed → reads the best match with skillsmp_read_skill → follows the skill's instructions.
Search Tips
- Keyword search: 1–3 words —
"code review","typescript","pdf" - Semantic search: full sentence —
"how to build a landing page with React"
Usage Examples
Ask your AI assistant:
- "Search for PDF manipulation skills"
- "Find skills for building a web scraper"
- "Read the python-code-review skill from existential-birds/beagle"
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。