@itapi-core/service-standards-mcp
v0.5.0
Published
MCP server that provides consistent service-build standards: TA/AA/DA architecture templates, fixed security baselines, selectable UI/UX design presets, and hardened container (Docker/Podman) guidelines.
Downloads
116
Maintainers
Readme
@itapi-core/service-standards-mcp
새 서비스를 만들 때마다 설계 산출물이 제각각이 되는 문제를 해결하는 서비스 구축 표준 MCP 서버입니다. 어떤 서비스를 만들든 동일한 순서(요구사항 → TA → AA → DA → UI/UX → 보안 → 컨테이너 → 검증)와 동일한 기준선을 적용하도록, LLM 에이전트에게 표준을 제공합니다.
An MCP (Model Context Protocol) server that provides consistent service-build standards: TA/AA/DA architecture templates, a fixed security baseline, selectable UI/UX design presets, and hardened container (Docker/Podman) guidelines.
핵심 개념
- 워크플로우는 고정: 모든 서비스는 8단계를 같은 순서로 진행합니다.
- 보안은 고정 표준: 서비스마다 달라지지 않는 기준선(최신 라이브러리, 취약점 0건 게이트, OWASP 대응, 시크릿 관리, non-root 컨테이너)을 그대로 적용합니다.
- 디자인은 선택형 + 비즈니스와 분리: 미리 정의된 UI/UX 프리셋 10종 — Modern Minimal / Corporate Clean / Dark Tech / Soft Friendly / Kuma Status(Uptime Kuma 스타일) / DevOps Purple(GitLab 스타일) / Linear Sleek(Linear 스타일) / 파스텔 3종 Lavender Calm · Peach Cream · Mint Breeze — 중 하나를 선택하고, 토큰을 변경 없이 적용합니다. 모든 색상 조합은 WCAG 대비 게이트(
npm run check:contrast)로 자동 검증됩니다. 각 프리셋은 라이트/다크 토큰 두 벌을 제공하며,get_design_preset_sample로 컴포넌트 샘플 HTML(버튼/폼/테이블/카드/모달 + 다크·라이트 토글 + 애니메이션 쇼케이스: 스피너/스켈레톤/프로그레스/펄스/토글 스위치/모달·토스트 전환/아코디언)을 생성해 사용자가 실물을 보고 선택합니다. 프리셋마다 모션 토큰(전환 시간·이징·모션 성격)이 정의되어 있고prefers-reduced-motion을 존중합니다. 미리 생성된 샘플은 docs/design-samples/index.html에서 바로 열어볼 수 있습니다. 테마는 theme layer로 격리되어 비즈니스 로직 수정 없이 프리셋 교체가 가능해야 하며, 다크/라이트 모드(시스템 추종 + 수동 토글, 두 모드 모두 대비 검증)는 고정 표준입니다. - 기능은 전부 선택형(경량화): 알림+webhook, 로컬 계정+사용자 관리(+LDAP 옵션), 자체 MCP 서버 제공, 외부 API+Swagger 문서는 기본 미포함입니다. 설계 착수 시 각 기능의 질문을 사용자에게 물어 필요한 것만 포함합니다.
- 모바일은 방식 선택 후 표준 확정: mobile-app 유형은 Flutter(크로스플랫폼)와 네이티브(Kotlin+Swift) 중 개발 방식을 먼저 선택하며, 선택된 변형의 단계별 표준(OWASP MASVS 기준선, 보안 저장소, 난독화, 스토어 릴리스 파이프라인)이 적용됩니다.
- 컨테이너는 경량·무취약점: alpine / distroless / chainguard(wolfi) 승인 베이스 이미지, multi-stage, non-root, rootless podman 호환.
설치 및 등록
npx (권장)
{
"mcpServers": {
"service-standards": {
"command": "npx",
"args": ["-y", "@itapi-core/service-standards-mcp"]
}
}
}Claude Code:
claude mcp add service-standards -- npx -y @itapi-core/service-standards-mcp컨테이너 (Docker / Podman)
# 빌드
podman build -t service-standards-mcp:0.1.0 .
# 취약점 스캔 (게이트: HIGH/CRITICAL 0건)
trivy image --severity HIGH,CRITICAL --exit-code 1 service-standards-mcp:0.1.0MCP 클라이언트 등록 (stdio이므로 -i 필수):
{
"mcpServers": {
"service-standards": {
"command": "podman",
"args": [
"run", "-i", "--rm",
"--cap-drop=ALL", "--security-opt=no-new-privileges",
"service-standards-mcp:0.1.0"
]
}
}
}podman을 docker로 바꿔도 동일하게 동작합니다.
제공 도구 (Tools)
| 도구 | 설명 |
|---|---|
| list_service_types | 표준이 정의된 서비스 유형 목록 (web-app, rest-api, batch, realtime, static-site, mobile-app, mcp-server) |
| get_workflow | 서비스 유형별 8단계 설계 워크플로우 (순서·산출물·완료 조건) |
| get_phase_guide | 특정 단계의 상세 표준 (TA/AA/DA 템플릿, 보안 기준선, 컨테이너 규칙 등). mobile-app은 mobileVariant 필수 |
| get_mobile_standards | 모바일 개발 방식(flutter/native) 비교 및 변형별 표준 (MASVS, 보안 저장소, 릴리스 파이프라인) |
| list_capabilities | 선택형 기능 목록 + 사용자에게 물어볼 질문 (알림+webhook, 계정+LDAP, 자체 MCP, 외부 API+Swagger) |
| get_capability_standard | 선택한 기능의 단계별 표준 상세 (LDAP 등 세부 옵션 포함) |
| validate_deliverable | 설계 문서(마크다운)를 표준 기준으로 구조 검증 — fail 항목은 보완 hint 제공, 판정 불가 항목은 manualReview로 반환 |
| get_security_standards | 고정 보안 기준선 (분류별 필터 가능) |
| list_design_presets | 선택 가능한 UI/UX 디자인 프리셋 10종 목록 (라이트/다크 대표색 포함) |
| get_design_preset | 프리셋의 전체 디자인 토큰(라이트 color + 다크 colorDark) + 컴포넌트 규칙 |
| get_design_preset_sample | 프리셋 컴포넌트 샘플 HTML 생성 (다크/라이트 토글 포함). presetId 생략 시 전체 비교 갤러리 인덱스 |
| get_container_standards | 승인 베이스 이미지, Dockerfile 템플릿, podman rootless 규칙, 태깅 규칙 |
| get_checklist | 단계별 최종 검증 체크리스트 |
| generate_standards_document | 서비스명 + 유형 + 프리셋으로 통합 표준 문서(마크다운) 생성 |
리소스: standards://workflow, standards://security-baseline, standards://architecture
프롬프트: design-service — 신규 서비스 설계를 표준 순서대로 진행하도록 안내
사용 흐름
list_service_types→ 만들 서비스의 유형 선택 (불명확하면 사용자에게 먼저 확인)- mobile-app이면
get_mobile_standards→ 사용자가 flutter/native 선택 list_capabilities→ 각 기능의 질문을 사용자에게 물어 포함 여부를 전부 확정 (기본은 미포함)get_workflow(serviceType)→ 진행할 단계 확인- 단계마다
get_phase_guide(serviceType, phase[, mobileVariant, capabilities])→ 표준에 맞춰 산출물 작성 - UI/UX 단계에서
get_design_preset_sample로 샘플 HTML을docs/design-samples/에 저장해 브라우저로 열고 → 사용자가 실물을 보고 프리셋 선택 →get_design_preset generate_standards_document(...)→ 선택 기능 결정표가 포함된 문서를docs/standards.md로 저장validate_deliverable(document, ...)→ 문서 구조 검증, fail이면 hint 따라 보완 후 재검증get_checklist(serviceType, capabilities)→ 릴리스 전 최종 검증 (required 실패 시 릴리스 불가)
개발
npm ci
npm run build # tsc → dist/
npm run smoke # 실제 MCP 클라이언트로 stdio 왕복 테스트
npm run audit:strict # npm audit --audit-level=low (취약점 0건 게이트)prepublishOnly가 build + smoke + audit를 모두 통과해야 npm publish가 진행됩니다.
보안 원칙 (이 서버 자체)
- 런타임 의존성은
@modelcontextprotocol/sdk,zod2개뿐 — 공급망 표면 최소화 - 모든 도구 입력은 zod 스키마로 검증
- stdio 서버: 네트워크 포트를 열지 않으며, 로그는 stderr로만 출력
- 컨테이너: alpine 베이스, multi-stage, non-root(uid 1001), rootless podman 호환
License
MIT
