금방(Keumbang) Open API 코딩 어시스턴트 MCP 서버 — 스펙 조회 · JWT 서명 코드 생성 · 로컬 서명/검증
Server has 7 well-named tools with clear descriptions (avg 180 chars, within baseline 194). All tools have input schemas with types and descriptions. However, output schemas are not formally documented, responses are text-based markdown rather than structured JSON. Error handling is present but inconsistent: some tools return errText() with guidance, others lack recovery hints. Tool composition is strong (each does one thing), but parameter descriptions could be more prescriptive about formats and constraints. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only operations.
언어별 완결형 서명 요청 코드 생성
단일 엔드포인트 상세 — 설명, 파라미터, 요청 본문 스키마와 예제, 응답 상태, 권한·멱등성.
금방 Open API 엔드포인트 목록. 각 항목의 권한 스코프·멱등성 필요 여부·rate limit 버킷을 함께 준다.
금방 Open API 에러 코드 표와 함정(잔액 부족은 400 P0001, 인증 실패는 error=null 401, 503 fail-closed 등). 상태 코드별 재시도 판단표 포함.
secret 로 실제 JWT 계산(로컬 전용) — 디버깅
요청 서명(JWT + query_hash) 절차. 개발자가 가장 많이 막히는 지점 — 업비트 예제를 그대로 옮기면 전부 401 이 나는 이유 포함.
토큰 로컬 검증 — 401 원인 진단
Output schemas not formally documented. All tools return text/markdown responses via text() helper, but LLMs cannot parse structure or extract fields for downstream chaining. No documented return types.
Tool annotations missing. All 7 tools are read-only (no state mutation), but none declare readOnlyHint=true. This prevents agents from understanding safety properties and optimizing retry/caching strategies.
Parameter descriptions lack format/constraint details. E.g., 'language' enum is declared but description does not explain what each language produces (code snippet vs curl command). 'ttlSeconds' has no min/max bounds stated in description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Error recovery guidance inconsistent. sign_request and verify_signature lack actionable error messages, they return errText() but do not guide LLM on next steps (e.g., 'Check your secret key format' or 'Verify the request body matches what was signed').
Resource URI (goldpopcon://openapi.yaml) is declared but no resource handler visible in source. If resource is not actually implemented, this is a false capability claim.