npm package: @skillsstore/mcp
Description: MCP server for Skillsstore — access your purchased skills in Claude Code
Latest version: 0.1.2

# skillsstore-mcp

> MCP server for [Skillsstore](https://app.skillsstore.ai) — access your purchased AI agent skills directly inside Claude Code (and any MCP-compatible client).

---

## What is Skillsstore?

Skillsstore is a marketplace of certified skills for AI agents (Claude Code, Cursor, Windsurf, etc.). Each skill is a structured markdown prompt that teaches your agent how to perform a specific task — code review, API design, test writing, and more.

This MCP server bridges Skillsstore and Claude Code: once configured, all your purchased skills are available as MCP resources, prompts, and tools — **no files on disk, always up to date from the API**.

---

## Installation & Setup

### 1. Get your API key

Go to **[https://app.skillsstore.ai/dashboard/api-keys](https://app.skillsstore.ai/dashboard/api-keys)** and create a new API key (`sk_live_...`).

### 2. Add the MCP server to Claude Code

Edit `~/.claude.json` (or use **Settings → MCP Servers** in the Claude Code UI):

```json
{
  "mcpServers": {
    "skillsstore": {
      "command": "npx",
      "args": ["-y", "skillsstore-mcp"],
      "env": {
        "SKILLSSTORE_API_KEY": "sk_live_YOUR_KEY_HERE"
      }
    }
  }
}
```

> **Tip:** `npx -y skillsstore-mcp` automatically downloads the latest version the first time it runs, and keeps it cached locally. No global install needed.

### 3. Restart Claude Code

After saving the config, restart Claude Code. The MCP server will start automatically and pre-load your purchased skills.

### 4. Verify it works

In Claude Code, you can ask:
```
What skills do I have from Skillsstore?
```
Or use the tool directly:
```
Use the list_purchased_skills tool
```

---

## Environment Variables

| Variable | Required | Default | Description |
|---|---|---|---|
| `SKILLSSTORE_API_KEY` | ✅ Yes | — | Your Skillsstore API key (`sk_live_...`) |
| `SKILLSSTORE_BASE_URL` | No | `https://app.skillsstore.ai` | Override for self-hosted or staging |

---

## What's Exposed via MCP

### 🔧 Tools

| Tool | Description |
|---|---|
| `list_purchased_skills` | Lists all purchased skills with slug, name, version, and description |
| `load_skill` | Loads the full markdown content of a skill by its slug |

**Example usage in Claude Code:**
```
Load the "code-review" skill and apply it to review my PR.
```
```
Use load_skill with slug="react-expert" and then help me refactor this component.
```

### 📄 Resources

| URI | Description |
|---|---|
| `skillsstore://skills` | JSON list of all purchased skills |
| `skillsstore://skill/{slug}` | Full markdown content of a specific skill |

You can reference these resources directly in your prompts:
```
Read the resource skillsstore://skill/code-review and apply it.
```

### 💬 Prompts

Each purchased skill is registered as an MCP prompt named after its slug. When invoked, the skill's content is injected as a user message.

---

## Usage Examples

### Load a skill and use it immediately

```
List my Skillsstore skills, then load the most relevant one for writing unit tests and apply it to my current file.
```

### Reference a skill by slug

```
Use load_skill with slug="api-design" to get the API design skill, then review my route handlers.
```

### Check what's available

```
Run list_purchased_skills and tell me which skills could help with my current task.
```

---

## Building from Source

```bash
cd packages/mcp-server
npm install
npm run build          # compiles TypeScript → dist/
node dist/index.js     # test locally (set SKILLSSTORE_API_KEY first)
```

For development with auto-reload:
```bash
SKILLSSTORE_API_KEY=sk_live_... npm run dev
```

---

## How it Works

1. On startup, the MCP server fetches your purchased skills list from `GET /api/v1/me/skills/sync?agent=claude-code`
2. Skills are cached in memory — the server never writes skill content to disk
3. When a skill is requested (via tool, resource, or prompt), it fetches fresh content from `GET /api/v1/me/skills/{slug}/download?agent=claude-code`
4. All communication uses your Bearer API key in the `Authorization` header

---

## Troubleshooting

**`SKILLSSTORE_API_KEY environment variable is required`**
→ Make sure you've added the env var in `~/.claude.json` under the MCP server config.

**`Invalid API key`**
→ Check that your key starts with `sk_live_` and was created at [https://app.skillsstore.ai/dashboard/api-keys](https://app.skillsstore.ai/dashboard/api-keys).

**`No purchased skills found`**
→ You haven't purchased any skills yet. Browse the marketplace at [https://app.skillsstore.ai](https://app.skillsstore.ai).

**MCP server not appearing in Claude Code**
→ Make sure `~/.claude.json` is valid JSON and that you've restarted Claude Code after saving the config.

---

## License

MIT — See [LICENSE](../../LICENSE) for details.