skillsh-mcp
# MCP Server for skills.sh
MCP (Model Context Protocol) server for searching and managing AI agent skills from [skills.sh](https://skills.sh/).
## Features
- 🔍 **Search Skills**: Search for skills by query term
- 📊 **Popular Skills**: Get top popular skills from leaderboard
- 📝 **Skill Details**: Get information about specific skills
- 💻 **Install Commands**: Generate install commands for skills
## Installation
### 1. Build the server
```bash
cd skillsh-mcp
npm install
npm run build
```
### 2. Configure your client
#### For Claude Code
**Option A: Using `claude mcp add` (recommended)**
```bash
claude mcp add skills-sh --scope user -- node /absolute/path/to/skillsh-mcp/dist/index.js
```
Scopes available:
- `--scope local` (default) — Available only to you in the current project
- `--scope project` — Shared via `.mcp.json` in the project root (committed to git)
- `--scope user` — Available globally across all your projects
**Option B: Using `.mcp.json` file**
Create or edit `.mcp.json` in your project root:
```json
{
"mcpServers": {
"skills-sh": {
"command": "node",
"args": ["/absolute/path/to/skillsh-mcp/dist/index.js"],
"env": {}
}
}
}
```
**Option C: Using `claude mcp add-json`**
```bash
claude mcp add-json skills-sh '{"command":"node","args":["/absolute/path/to/skillsh-mcp/dist/index.js"]}'
```
#### For Cursor
Add to `.cursor/mcp.json` in your workspace:
```json
{
"mcpServers": {
"skills-sh": {
"command": "node",
"args": ["${workspaceFolder}/skillsh-mcp/dist/index.js"]
}
}
}
```
Then restart Cursor.
## Usage
The server provides the following tools:
### `search_skills`
Search for skills on skills.sh
- **query** (required): Search term (e.g., "mapbox", "react", "gis")
- **limit** (optional): Maximum number of results (default: 50)
### `get_popular_skills`
Get popular skills from the leaderboard
- **limit** (optional): Number of results (default: 20)
- **timeframe** (optional): "all", "trending", or "hot" (default: "all")
### `get_skill_details`
Get detailed information about a specific skill
- **owner** (required): GitHub owner/username
- **repo** (required): Repository name
- **skillId** (required): Skill ID
### `get_install_command`
Get the npx install command for a skill
- **owner** (required): GitHub owner/username
- **repo** (required): Repository name
## Development
```bash
# Install dependencies
npm install
# Build
npm run build
# Run in development mode
npm run dev
```
## Compatibility
| Client | Transport | Status |
|---|---|---|
| Claude Code | stdio | ✅ Supported |
| Cursor | stdio | ✅ Supported |
| Claude Desktop | stdio | ✅ Supported |
TDQS
Scored across 4 tools
Each tool has a distinct purpose: searching, fetching details, retrieving popular skills, and generating install commands. No overlap or ambiguity between them.
All tool names follow a consistent verb_noun pattern (search_skills, get_skill_details, get_popular_skills, get_install_command). The verbs 'search' and 'get' are semantically appropriate and the pattern is uniform.
With only 4 tools, the server is well-scoped for a skills directory service. Each tool earns its place and covers the core actions without unnecessary clutter.
The tool surface covers the full discovery-to-installation workflow: searching, viewing details, browsing popular items, and getting the install command. No obvious missing operations for its read-only purpose.