
Openapi Mcp
com.goldpopcon由 goldpopcon.com 发布v0.3.1更新于 Oct 24, 2026
금방 Open API MCP 서버 — 스펙 조회·JWT 서명 코드 생성·로컬 서명/검증
概览
本地 MCP 服务器,帮助编码助手为 Goldpopcon(金방)金银交易 Open API 编写正确的对接代码。
- 可以做什么
- 浏览接口规范:列出端点及其权限范围、幂等性和限流桶,查看单个端点的参数、请求体结构和示例,并查询错误码及按状态码的重试建议和常见陷阱。了解请求签名:提供按方法区分 query_hash、时间声明、nonce 和幂等性的签名指南。生成代码:按指定操作生成 python、javascript、go 或 curl 的完整签名请求代码。本地签名与校验:用真实密钥计算 JWT 以便调试,或按服务器相同顺序校验已有令牌以诊断 401。启用后可选用只读方式调用线上接口,返回结构化数据和限流信息。
- 适用场景
- 适用于开发或调试 Goldpopcon Open API 客户端时,尤其是请求签名和 query_hash 处理导致 401 的情况,或希望助手直接掌握端点、错误码和签名细节而不必照搬其他示例。
- 运行要求
- 以 stdio 本地运行,通常通过 npx 使用 npm 包,需要 Node.js。API 密钥(gpk_ 访问密钥和 sk_ 密钥)只能在 Goldpopcon 手机应用中签发。密钥可作为工具参数传入,只读调用工具也可通过 GOLDPOPCON_ACCESS_KEY 和 GOLDPOPCON_SECRET_KEY 环境变量提供。仅当 GOLDPOPCON_MCP_ALLOW_LIVE 为 true 时才注册线上调用工具。线上调用需要网络访问。
安装
在 SourceWeft 中
- 打开 控制台中的 Openapi Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@keumbang/goldpopcon-openapi-mcp
[npm] [CI] [node] [license] [goldpopcon-openapi-mcp MCP server]
골드팝콘(금방) Open API 코딩 어시스턴트 MCP 서버. Claude Code · Claude Desktop · Codex CLI · Gemini CLI · Cursor 등 MCP 클라이언트에 붙여, 금·은 거래 API 연동 코드를 정확히 짜도록 돕는다.
📘 골드팝콘 Open API 문서 → https://keumbang.github.io/goldpopcon-openapi-mcp/
엔드포인트 표 · 빠른 시작 · JWT 서명 규격 · 권한/한도 · 멱등성 · 에러 코드. 스펙에서 생성되는 공식 문서다. 요청·응답 스키마는 Redoc 에서 본다. MCP 없이 직접 연동할 사람도 여기부터 읽으면 된다. (repo 안에서 바로 보려면 docs/index.md)
API 키 발급
Open API 키(gpk_ 액세스 키 + sk_ 시크릿 키)는 골드팝콘 앱에서만 발급된다. 웹 발급 경로는 없다.
- 골드팝콘 앱 설치 — App Store · Google Play
- 회원가입 후 앱 내 Open API 메뉴에서 키 발급
sk_시크릿 키는 발급 화면에서만 노출된다 — 그 자리에서 안전한 곳에 보관
이 API에서 개발자가 막히는 지점은 필드명이 아니라 요청 서명이다 — query_hash 입력이 메서드에 따라 갈리고(POST=raw body, GET=정규화 querystring) 업비트 예제를 그대로 옮기면 전부 401이 난다. 이 MCP는 그 절차를 코드로 생성하고 로컬에서 서명/검증까지 해준다.
도구
리소스: goldpopcon://openapi.yaml(전체 스펙), goldpopcon://overview(서명·한도·에러 산문).
보안:
sign_request/verify_signature/call_api에 넘긴secret_key는 로컬 서명에만 쓰이고 서명 결과(JWT)만 전송된다 — secret 자체는 네트워크를 타지 않는다.
call_api — 조회 전용 라이브 호출
기본 비활성. GOLDPOPCON_MCP_ALLOW_LIVE=true 일 때만 등록된다. 4중 안전장치로 자금 이동을 원천 차단:
- env 게이트 — 변수 없으면 도구 자체가 없다
- 화이트리스트 —
getPrices/getBalances/getPriceHistory/getOrderPreview/getTradeHistory만.buy·sell·payout·virtual-accounts는 라이브 불가(코드 생성만) - production 고정 — 인자로 서버를 바꿀 수 없다. 조회 전용이라 production 을 읽어도 자금은 움직이지 않는다
- GET 강제 — 쓰기 메서드 차단
자금 이동 엔드포인트를 실제로 호출하려면 generate_signed_request 로 코드를 받아 개발자 본인 환경에서 실행한다.
읽기 자동화 — 키는 env 로
LLM 이 시세·잔고를 반복 조회하는 자동화라면 accessKey/secretKey 인자를 생략하고 env 로 준다. 인자로 넘긴 sk_ 는 호출마다 모델 컨텍스트·트랜스크립트·클라이언트 로그에 평문으로 남는다.
env fallback 은 call_api(조회 전용)에만 있다. sign_request 는 buyAsset 서명까지 만들 수 있어 열지 않았다 — 열면 에이전트가 사람 개입 없이 유효한 자금 이동 서명을 찍어낸다.
call_api 는 structuredContent 로도 응답한다 — 마크다운 파싱 없이 값을 바로 쓴다.
data형태는 엔드포인트마다 다르다 —get_endpoint의 성공 응답 예제가 스펙이다.- 4xx/5xx 도 도구 에러가 아니라
status/ok로 온다. 루프가 분기해서 처리한다. - JSON 이 아닌 본문(게이트웨이 HTML 오류 등)은
data대신raw로 온다. - 429 면
rateLimit.retryAfter에 대기 초. quote 600/분, trade 60/분.
설치 · 빌드
MCP 클라이언트 등록
CLI 한 줄로 붙는 클라이언트:
설정 파일 직접 편집(Claude Desktop claude_desktop_config.json, Cursor ~/.cursor/mcp.json, Gemini CLI ~/.gemini/settings.json):
Gemini CLI 는 PATH 해석이 불안정하다 — 서버가 안 뜨면 command 를 which npx 로 얻은 절대경로로 바꾼다.
로컬 클론 실행:
개발 중엔 command: "npx", args: ["tsx", "/절대경로/.../src/index.ts"].
환경변수
예시 대화
- "sellAsset 을 파이썬으로 호출하는 코드 줘, 금 0.5g" →
generate_signed_request(operationId=sellAsset, language=python, pathParams={asset:gold}, body={quantity:0.5}) - "보유한 금 전부 팔려면?" →
generate_signed_request(operationId=sellAsset, language=python, pathParams={asset:gold}, body={quantity:0.001, sell_all:true})—sell_all이 요청 수량을 무시하고 가용 잔량 전량을 체결한다 - "이 JWT 가 왜 401 나?" →
verify_signature(token=..., secretKey=..., method=POST, rawBody=...) - "가격 이력 엔드포인트 파라미터 뭐야?" →
get_endpoint(operationId=getPriceHistory) - "잔액 부족이면 몇 번 에러야?" →
list_error_codes—400 P0001(500 아님). 상태 코드별 재시도 판단표도 같이 나온다
스펙 동기화
스펙 원본은 백엔드 repo 의 docs/openapi.yaml(이 repo 밖)이고, 이 repo 는 spec/openapi.yaml 사본을 번들한다. 원본이 바뀌면 SPEC_SRC 로 경로를 지정해 갱신한다:
SPEC_SRC 는 필수다. 생략하면 원본을 못 찾고 실패한다 — 백엔드 repo 명을 이 repo 에 남기지 않기 위해 기본 경로를 두지 않았다.
dist/ 가 있으면 sync-spec 이 문서 사이트(docs/index.md · docs/openapi.yaml)도 같이 다시 만든다. 스펙만 따로 갱신했다면 npm run docs 로 맞춘다 — 둘 다 생성물이라 직접 고치지 않는다. 문서 내용을 바꾸려면 백엔드 스펙의 info.description 을 고친다. 손으로 쓰는 파일은 docs/_config.yml 과 docs/redoc.html 둘뿐이다.
갱신 후 spec/openapi.yaml 과 docs/ 를 커밋한다. main 에 푸시되면 GitHub Pages 가 사이트를 다시 배포한다. 서명 규칙이 서버와 어긋나면 npm test(서버 검증 규칙 미러)가 잡는다.
来源:README.md,提交 ccc59ed
工具
0版本历史
1- v0.3.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分