Skip to main content
Glama
README.md
# skillsmcp

MCP server that exposes [Agent Skills](https://agentskills.io) to AI agents via the [Model Context Protocol](https://modelcontextprotocol.io).

Agent Skills are reusable, portable instruction sets that guide AI coding agents. This server makes them discoverable and activatable as MCP tools, following the [progressive disclosure](https://agentskills.io/specification#progressive-disclosure) pattern from the Agent Skills specification.

## Prerequisites

- [uv](https://docs.astral.sh/uv/) — fast Python package manager

Install with Homebrew:

```
brew install uv
```

## Install

```
uv tool install git+https://github.com/aviddiviner/skillsmcp.git
```

This installs `skillsmcp` as a command on your PATH. To update later:

```
uv tool upgrade skillsmcp
```

## Configure

### Zed

Add to your settings (`~/.config/zed/settings.json`):

```json
{
  "context_servers": {
    "skillsmcp": {
      "command": "uvx",
      "args": ["skillsmcp"]
    }
  }
}
```

### Claude Desktop

Add to your Claude config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "skillsmcp": {
      "command": "uvx",
      "args": ["skillsmcp"]
    }
  }
}
```

### Other MCP Clients

Any client that supports MCP's stdio transport can use this server. Run it directly:

```
uvx skillsmcp
```

## Tools

The server exposes three MCP tools:

| Tool | Description |
|------|-------------|
| `list_skills` | Discover all available skills with names and descriptions |
| `activate_skill` | Load a skill's full instructions by name |
| `read_skill_file` | Read supporting files from a skill's directory |

All tools accept an optional `project_roots` parameter — a list of project directories to scan for project-level skills. User-level skills (`~/.agents/skills/`, `~/.claude/skills/`) are always included. When `project_roots` is not provided, the server falls back to its working directory.

## Adding Skills

Skills are directories containing a `SKILL.md` file with YAML frontmatter:

```
~/.agents/skills/
└── my-skill/
    ├── SKILL.md
    ├── scripts/
    │   └── helper.py
    └── references/
        └── REFERENCE.md
```

Example `SKILL.md`:

```markdown
---
name: my-skill
description: A short description of what this skill does and when to use it.
---

# My Skill

Instructions for the AI agent go here...
```

### Skill Directories

The server scans the following directories in precedence order (first-found wins for name collisions):

1. **Project-level** (highest priority):
   - `<project>/.agents/skills/`
   - `<project>/.claude/skills/`
2. **User-level**:
   - `~/.agents/skills/`
   - `~/.claude/skills/`

Project-level skills override user-level skills with the same name.

## Development

```
git clone https://github.com/aviddiviner/skillsmcp.git
cd skillsmcp

# Install in development mode
uv sync

# Run the server directly
uv run skillsmcp
```

## Learn More

- [Agent Skills specification](https://agentskills.io) — the full format spec
- [Example skills](https://github.com/anthropics/skills) — official skill examples
- [skills.sh](https://skills.sh) — browse and install community skills
- [FastMCP](https://gofastmcp.com) — the Python MCP framework powering this server

## License

MIT

TDQS

A4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: listing skills, activating a skill, and reading a skill's supporting files. No overlap or ambiguity exists between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: list_skills, activate_skill, read_skill_file. The naming is predictable and uniform.

Tool Count5/5

With 3 tools, the server is well-scoped for its purpose of managing and accessing skills. Each tool serves a necessary function without redundancy.

Completeness5/5

The tool surface covers the full life cycle of interacting with skills: discovery (list), retrieval of details (activate), and access to supporting files. No obvious missing operations for the stated domain.

Maintenance

ActivityInactive
ResponsivenessNo issues