Skip to main content
Glama
README.md
# KoreanSkinpedia MCP

**발행 API 클라이언트** MCP 서버. 프로젝트 외부 사용자가 Claude Code에서 이 MCP를 추가하고 API 키로 콘텐츠를 발행. 실제 검증/저장은 발행 API(`api/`)가 수행.

## 도구

| 도구 | 설명 |
|---|---|
| `create_article` | 아티클 발행(API `/publish/article`) |
| `create_procedure` | 시술 발행(API `/publish/procedure`) |
| `upsert_clinic` | 클리닉 생성/수정(API `/publish/clinic`) |
| `health` | 발행 API 상태 |

의료 콘텐츠(article/procedure)는 `reviewer`+`sources`(최소 1)+`medicallyReviewedAt`가 필수. API가 Zod로 검증해 거부.

## 환경변수

| 변수 | 설명 |
|---|---|
| `KSP_API_URL` | 발행 API 베이스 URL(필수). 예: `https://<lambda-function-url>.lambda-url.ap-northeast-2.on.aws` |
| `KSP_API_KEY` | API 키(`Authorization: Bearer`). API가 `API_KEY` 설정 시 필요. |

## 외부 사용자 추가(Claude Code)

```bash
claude mcp add koreanskinpedia -- npx ksp-mcp \
  --env KSP_API_URL=https://<발행-API-URL> --env KSP_API_KEY=<키>
```

또는 `.mcp.json`(프로젝트 루트):
```json
{
  "mcpServers": {
    "koreanskinpedia": {
      "command": "node", "args": ["mcp/dist/server.js"],
      "env": { "KSP_API_URL": "https://...", "KSP_API_KEY": "..." }
    }
  }
}
```

## 개발

```bash
cd mcp && npm install && npm run build
KSP_API_URL=http://localhost:8787 npm run smoke   # api/ 가 로컬 실행 중일 때
```

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: article creation, procedure guide creation, health check, and clinic upsert. No overlap in functionality.

Naming Consistency4/5

Two tools use 'create_' prefix, one uses 'upsert_', and one uses a noun 'health'. While mostly consistent, the 'health' tool breaks the verb_noun pattern slightly.

Tool Count5/5

With 4 tools, the set is well-scoped for a specialized content management server. Each tool serves a distinct, necessary function without bloat.

Completeness3/5

The set covers creation and upsert for articles, procedures, and clinics, but lacks retrieval (get/list) or deletion tools. Agents may need to query existing data, which is unsupported.

Maintenance

ActivityStale
ResponsivenessNo issues