Skip to main content
Glama
README.md
# Import Skills Power

MCP Server para importar, gerenciar e utilizar skills (arquivos Markdown) de repositórios GitHub remotos. Integra-se ao Kiro como um Power, expondo 5 ferramentas via protocolo MCP sobre transporte stdio.

## Tools

| Tool | Descrição | Parâmetros |
|------|-----------|------------|
| `list_remote_skills` | Lista skills disponíveis em um repositório GitHub | `repoUrl`, `token?` |
| `install_skill` | Instala skill(s) de um repositório para armazenamento local | `repoUrl`, `skillPath?`, `token?` |
| `list_installed_skills` | Lista todas as skills instaladas localmente | — |
| `get_skill_content` | Retorna o conteúdo completo de uma skill instalada | `skillName` |
| `remove_skill` | Remove uma skill instalada | `skillName` |

## Requisitos

- [Bun](https://bun.sh) v1.0+

## Instalação

```bash
bun install
```

## Uso

```bash
bun run start
```

O servidor inicia via stdio e aguarda chamadas MCP. As skills instaladas são persistidas em `~/.kiro/skills/`.

## Configuração no Kiro

Adicione ao seu `mcp.json`:

```json
{
  "mcpServers": {
    "import-skills": {
      "command": "bun",
      "args": ["run", "start"],
      "cwd": "/caminho/para/import-skills"
    }
  }
}
```

## Testes

```bash
# Todos os testes (property-based, unit, integração)
bun test

# Apenas property tests
bun test tests/properties/

# Apenas unit tests
bun test tests/unit/

# Apenas integração
bun test tests/integration/
```

## Estrutura do Projeto

```
src/
├── index.ts              # Entry point - MCP Server setup
├── tools/
│   ├── list-remote.ts    # list_remote_skills
│   ├── install.ts        # install_skill
│   ├── list-installed.ts # list_installed_skills
│   ├── get-content.ts    # get_skill_content
│   └── remove.ts         # remove_skill
├── services/
│   ├── github.ts         # GitHub API (Trees + Contents)
│   ├── storage.ts        # Filesystem local
│   └── registry.ts       # Registry JSON de metadados
├── utils/
│   └── url-parser.ts     # Parser de URLs GitHub
│   └── name-extractor.ts # Extração de nome de skill
└── types/
    └── index.ts          # Tipos compartilhados
```

## Armazenamento Local

```
~/.kiro/skills/
├── registry.json          # Metadados das skills instaladas
└── owner-repo/            # Namespace por repositório
    └── skill.md
```

## Stack

- **Runtime**: Bun
- **Linguagem**: TypeScript (ESNext modules)
- **MCP SDK**: @modelcontextprotocol/sdk
- **Validação**: Zod
- **Testes PBT**: fast-check