본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
Kiro 고급 활용Ch1. 플랜 & 환경 설정Ch2. Steering 마스터하기Ch3. 멀티세션 워크플로우Ch4. 서브에이전트 활용Ch5. Hooks 시스템Ch6. MCP 서버 연동Ch7. Powers & 커스텀 도구Ch8. Autopilot 모드 활용Ch9. 컨텍스트 관리Ch10. IDE 기능 활용Ch11. Spec 기반 개발Ch12. 바이브코딩 실전 패턴Ch13. 커뮤니티 & 리소스Ch14. 트러블슈팅 & FAQ엔터프라이즈 패턴빠른 참조 가이드

업데이트 히스토리
핸드북›Kiro 고급 활용›Ch7. Powers & 커스텀 도구

Ch7. Powers & 커스텀 도구

POWER.md·Steering·MCP 서버·도구 정의를 묶는 Power 패키지 구조, kiroPowers로 list/activate/use, power.json 설정과 register·package·install 배포

핵심 요약

  • Power는 POWER.md 문서, Steering 가이드, MCP 서버, 도구 정의를 하나로 묶은 재사용 가능한 확장 패키지입니다.
  • 채팅에서 kiroPowers({ action })로 설치 목록 확인(list)·활성화(activate)·도구 실행(use)을 제어합니다.
  • 커스텀 Power는 power.json(mcpServers·steeringFiles 선언) + MCP 서버 구현 + inclusion: manual Steering으로 구성합니다.
  • 배포는 kiro power register로 로컬 등록, package로 .kpower 패키징, install로 파일·원격 저장소에서 설치합니다.
  • 도구마다 문서를 명확히 쓰고, 입력을 검증해 예외를 처리하며, ${VAR:-default} 형태로 환경 변수를 관리하는 것이 개발 모범 사례입니다.

Powers는 Kiro의 확장 가능한 도구 패키지 시스템입니다. 문서, 워크플로우 가이드, MCP 서버를 패키지 하나로 묶어 필요할 때마다 다시 쓸 수 있는 기능으로 만듭니다.

Powers 개념

Power는 다음 요소들을 포함할 수 있습니다:

  • 문서화: POWER.md 파일로 사용법 설명
  • 워크플로우 가이드: Steering 파일로 단계별 안내
  • MCP 서버: 실제 기능을 제공하는 백엔드
  • 도구 정의: 각 도구의 스키마와 설명

Powers 관리

설치된 Powers 확인

// Kiro 채팅에서
kiroPowers({ action: "list" })

Power 활성화

// 특정 Power 활성화하여 문서와 도구 확인
kiroPowers({ 
  action: "activate", 
  powerName: "weather-power" 
})

Power 도구 사용

// Power의 도구 실행
kiroPowers({
  action: "use",
  powerName: "weather-power", 
  serverName: "weather-api",
  toolName: "get_forecast",
  arguments: {
    location: "Seoul",
    units: "metric"
  }
})

인기 Powers

문서화 Power

# Documentation Power

API 문서 자동 생성, README 업데이트, 코드 주석 분석 등을 제공합니다.

## 주요 기능
- OpenAPI 스펙 생성
- README 자동 업데이트  
- 코드 주석에서 문서 추출
- 다국어 문서 생성

테스트 자동화 Power

# Test Automation Power

단위 테스트, 통합 테스트, E2E 테스트 자동 생성 및 실행을 지원합니다.

## 주요 기능
- 테스트 케이스 자동 생성
- 커버리지 분석
- 테스트 결과 리포팅
- CI/CD 통합

데이터베이스 관리 Power

# Database Management Power

데이터베이스 스키마 관리, 마이그레이션, 쿼리 최적화를 제공합니다.

## 주요 기능
- 스키마 비교 및 마이그레이션
- 쿼리 성능 분석
- 데이터 백업/복원
- ERD 자동 생성

커스텀 Power 작성

Power 구조

my-custom-power/
├── POWER.md                 # Power 문서
├── steering/               # 워크플로우 가이드
│   ├── getting-started.md
│   └── advanced-usage.md
├── mcp-servers/           # MCP 서버 구현
│   └── custom-server/
│       ├── server.py
│       └── requirements.txt
└── power.json            # Power 메타데이터

power.json 설정

{
  "name": "my-custom-power",
  "displayName": "My Custom Power",
  "version": "1.0.0",
  "description": "커스텀 비즈니스 로직을 위한 Power",
  "keywords": ["custom", "business", "automation"],
  "author": "Your Name",
  "mcpServers": {
    "custom-business": {
      "command": "python",
      "args": ["mcp-servers/custom-server/server.py"],
      "env": {
        "API_KEY": "${CUSTOM_API_KEY}"
      }
    }
  },
  "steeringFiles": [
    "steering/getting-started.md",
    "steering/advanced-usage.md"
  ]
}

POWER.md 작성

# My Custom Power

이 Power는 커스텀 비즈니스 로직을 자동화합니다.

## 설치 및 설정

1. 환경 변수 설정:
   ```bash
   export CUSTOM_API_KEY="your_api_key"
  1. Power 활성화:
    kiroPowers({ action: "activate", powerName: "my-custom-power" })

주요 기능

데이터 처리

  • process_data: 원시 데이터를 처리하여 구조화된 형태로 변환
  • validate_data: 데이터 유효성 검증

리포트 생성

  • generate_report: 분석 결과 리포트 생성
  • export_results: 결과를 다양한 형식으로 내보내기

사용 예시

// 데이터 처리
kiroPowers({
  action: "use",
  powerName: "my-custom-power",
  serverName: "custom-business", 
  toolName: "process_data",
  arguments: {
    inputFile: "raw_data.csv",
    outputFormat: "json"
  }
})

### MCP 서버 구현

```python
# mcp-servers/custom-server/server.py
import asyncio
from mcp.server import Server
from mcp.types import Tool, TextContent

app = Server("custom-business")

@app.list_tools()
async def list_tools():
    return [
        Tool(
            name="process_data",
            description="Process raw data into structured format",
            inputSchema={
                "type": "object",
                "properties": {
                    "inputFile": {"type": "string"},
                    "outputFormat": {"type": "string", "enum": ["json", "csv", "xml"]}
                },
                "required": ["inputFile", "outputFormat"]
            }
        ),
        Tool(
            name="generate_report", 
            description="Generate analysis report",
            inputSchema={
                "type": "object",
                "properties": {
                    "dataSource": {"type": "string"},
                    "reportType": {"type": "string", "enum": ["summary", "detailed", "executive"]}
                },
                "required": ["dataSource", "reportType"]
            }
        )
    ]

@app.call_tool()
async def call_tool(name: str, arguments: dict):
    if name == "process_data":
        input_file = arguments["inputFile"]
        output_format = arguments["outputFormat"]
        
        # 실제 데이터 처리 로직
        result = f"Processed {input_file} to {output_format} format"
        return TextContent(type="text", text=result)
        
    elif name == "generate_report":
        data_source = arguments["dataSource"]
        report_type = arguments["reportType"]
        
        # 실제 리포트 생성 로직
        report = f"Generated {report_type} report from {data_source}"
        return TextContent(type="text", text=report)

if __name__ == "__main__":
    asyncio.run(app.run())

Steering 파일 작성

<!-- steering/getting-started.md -->
---
inclusion: manual
---

# Custom Power 시작하기

이 가이드는 Custom Power를 처음 사용하는 사용자를 위한 단계별 안내입니다.

## 1단계: 데이터 준비

먼저 처리할 데이터 파일을 준비합니다:
- CSV, JSON, XML 형식 지원
- 파일 크기는 100MB 이하 권장

## 2단계: 데이터 처리

`process_data` 도구를 사용하여 데이터를 처리합니다:

```typescript
kiroPowers({
  action: "use",
  powerName: "my-custom-power",
  serverName: "custom-business",
  toolName: "process_data", 
  arguments: {
    inputFile: "your_data.csv",
    outputFormat: "json"
  }
})

3단계: 리포트 생성

처리된 데이터를 바탕으로 리포트를 생성합니다:

kiroPowers({
  action: "use", 
  powerName: "my-custom-power",
  serverName: "custom-business",
  toolName: "generate_report",
  arguments: {
    dataSource: "processed_data.json",
    reportType: "summary"
  }
})

## Power 배포 및 공유

### 로컬 Power 등록

```bash
# Power 디렉토리에서
kiro power register .

Power 패키징

# Power를 패키지 파일로 생성
kiro power package my-custom-power
# 결과: my-custom-power-1.0.0.kpower

Power 공유

# 패키지 파일 설치
kiro power install my-custom-power-1.0.0.kpower

# 원격 저장소에서 설치
kiro power install https://github.com/user/my-custom-power

Power 개발 모범 사례

1. 명확한 문서화

# 각 도구마다 명확한 설명과 예시 제공
## process_data

**설명**: 원시 데이터를 구조화된 형태로 변환합니다.

**입력 매개변수**:
- `inputFile`: 처리할 입력 파일 경로
- `outputFormat`: 출력 형식 (json, csv, xml)

**사용 예시**:
[구체적인 코드 예시]

**주의사항**:
- 파일 크기 제한: 100MB
- 지원 형식: CSV, JSON, XML

2. 에러 처리

@app.call_tool()
async def call_tool(name: str, arguments: dict):
    try:
        if name == "process_data":
            # 입력 검증
            if not os.path.exists(arguments["inputFile"]):
                return TextContent(
                    type="text", 
                    text="Error: Input file not found"
                )
            
            # 실제 처리 로직
            result = process_file(arguments["inputFile"])
            return TextContent(type="text", text=result)
            
    except Exception as e:
        return TextContent(
            type="text",
            text=f"Error: {str(e)}"
        )

3. 환경 변수 관리

{
  "mcpServers": {
    "custom-server": {
      "env": {
        "API_KEY": "${CUSTOM_API_KEY}",
        "DEBUG_MODE": "${DEBUG:-false}",
        "MAX_FILE_SIZE": "${MAX_SIZE:-104857600}"
      }
    }
  }
}

참고 문서

  • Powers 시스템: https://kiro.dev
  • MCP 서버 개발: https://modelcontextprotocol.io/

관련 문서

Ch6. MCP 서버 연동

Kiro에서 Model Context Protocol 서버와 프롬프트·리소스를 운영하는 방법

빠른 참조 가이드

#File·#Folder·#Problems 등 컨텍스트 참조, Steering·Hook·MCP 설정 스니펫, Kiro CLI v1.28 명령어와 단축키·트러블슈팅을 한눈에 모은 치트시트

Ch6. MCP 서버 연동

Kiro에서 Model Context Protocol 서버와 프롬프트·리소스를 운영하는 방법

Ch8. Autopilot 모드 활용

자율 실행, 감독 모드 워크플로우, 안전한 자동화

On this page

Powers 개념Powers 관리설치된 Powers 확인Power 활성화Power 도구 사용인기 Powers문서화 Power테스트 자동화 Power데이터베이스 관리 Power커스텀 Power 작성Power 구조power.json 설정POWER.md 작성주요 기능데이터 처리리포트 생성사용 예시Steering 파일 작성3단계: 리포트 생성Power 패키징Power 공유Power 개발 모범 사례1. 명확한 문서화2. 에러 처리3. 환경 변수 관리참고 문서