
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 分