GenD Intel Platform MCP 빠른시작 — 외부 클라이언트 연동
GenD Intel Platform MCP 서버를 Claude Desktop·Cursor·리서치 에이전트에 연결하면, 자연어로 한국/미국 공시, 주가 시세, 거시지표, 뉴스 기사를 실시간 조회할 수 있습니다.
이 가이드에서는 직접 테스트한 실제 응답을 기반으로 연동 절차와 사용 예시를 설명합니다.
1. 개요
Intel Platform이란?
GenD Intel Platform은 금융·투자 리서치에 필요한 데이터를 자동 수집·정제하는 파이프라인입니다.
| 도메인 | 수집 원천 | 갱신 주기 |
|---|---|---|
| 공시 (filings) | DART 전자공시 (실시간 REST) | 30분 |
| 공시 (filings) | SEC EDGAR (10-K/10-Q/8-K, 한국계 ADR 200종목) | 2시간 |
| 시세 (OHLCV) | KRX 일봉 (pykrx), Polygon US | 일 1회 |
| 뉴스 (articles) | 연합뉴스·네이버 경제 RSS | 30분 |
| 거시지표 (macro) | FRED (미국, UNRATE 등) | 월 1회 |
| 분석가 추정치 | 수동/LLM 업로드 | 수시 |
| 트랜스크립트 | 수동/오디오 업로드 | 수시 |
어디서 쓸 수 있나?
- Claude Desktop — 채팅 중 DART 공시·시세를 직접 조회
- Cursor / VS Code Copilot — 코드 작업 중 금융 데이터 인라인 참조
- 리서치 에이전트 — 자동화 분석 파이프라인에서 MCP 도구 호출
2. 접속 정보
| 항목 | 값 |
|---|---|
| MCP 엔드포인트 | POST https://gend.genon.ai/mcp |
| 프로토콜 | JSON-RPC 2.0 (Streamable HTTP) |
| 인증 | Authorization: Bearer <JWT> |
| Intel 도구 수 | 12개 (10개 정상 조회 + patents·youtube 2개 데이터 보류) |
| 전체 도구 수 | 32개 (카탈로그·SQL·거버넌스·시세·Intel 통합) |
3. JWT 발급
옵션 A — Password Grant (빠른 테스트)
개인 계정으로 즉시 발급합니다. 토큰 유효시간은 **3600초(1시간)**입니다.
TOKEN=$(curl -sS -X POST \
"https://gend.genon.ai/auth/realms/gend/protocol/openid-connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password" \
-d "client_id=gend-ui" \
-d "username=<내_이메일>" \
-d "password=<비밀번호>" \
-d "scope=openid" \
| python3 -c "import json,sys; print(json.load(sys.stdin)['access_token'])")
echo "TOKEN 길이: ${#TOKEN}" # 약 1300~1500자
실제 응답 구조:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "openid email profile"
}
옵션 B — 브라우저 localStorage 추출 (1회성)
https://gend.genon.ai로그인- F12 → Application → Local Storage →
https://gend.genon.ai oidc.user:https://...키 →access_token값 복사
세션 만료(약 1시간) 시 자동으로 무효화됩니다. 장기 운영에는 옵션 C를 사용하세요.
옵션 C — M2M 서비스 계정 (장기 운영 권장)
GenD admin이 Keycloak 서비스 클라이언트를 발급한 뒤 client_credentials grant로 자동 갱신합니다.
TOKEN=$(curl -sS -X POST \
"https://gend.genon.ai/auth/realms/gend/protocol/openid-connect/token" \
-d "grant_type=client_credentials" \
-d "client_id=gend-svc-mcp-claude" \
-d "client_secret=<발급받은_시크릿>" \
| python3 -c "import json,sys; print(json.load(sys.stdin)['access_token'])")
4. Claude Desktop 연동
macOS 설정 파일
~/Library/Application Support/Claude/claude_desktop_config.json
Windows 설정 파일
%APPDATA%\Claude\claude_desktop_config.json
설정 JSON
{
"mcpServers": {
"gend": {
"url": "https://gend.genon.ai/mcp",
"headers": {
"Authorization": "Bearer <위에서_발급한_TOKEN>"
}
}
}
}
연결 확인
Claude Desktop을 완전히 재시작(Quit 후 재실행)한 뒤 채팅 입력창 옆에 MCP 도구 아이콘(망치 모양)이 표시되면 연동 완료입니다.
토큰 갱신 시 JSON에서 Bearer ... 값만 교체 후 Claude Desktop을 재시작하면 됩니다.
Cursor 연동
프로젝트 루트에 .cursor/mcp.json 파일을 생성합니다:
{
"mcpServers": {
"gend": {
"url": "https://gend.genon.ai/mcp",
"headers": {
"Authorization": "Bearer <TOKEN>"
}
}
}
}
5. 사용 가능한 도구
Intel Platform 도구 (12개)
아래는 tools/list 를 직접 호출해 확인한 실제 목록입니다 (2026-06-10 기준).
정상 동작 (10개)
| 도구명 | 설명 | 주요 파라미터 |
|---|---|---|
list_intel_sources | 등록된 수집기 목록 (DART/SEC/KRX/RSS 등) | limit, enabled_only |
query_intel_filings | 한국(DART) + 미국(SEC) 기업 공시 조회 | corp_name_like, source (dart/sec), limit |
query_intel_companies | 기업 마스터 (DART corp_code + SEC CIK 통합) | name_like, country (KR/US), limit |
query_intel_financials | 기업별 재무 지표 시계열 | company_id, period_like, limit |
query_intel_ohlcv | KRX/Polygon 일봉 시세 | symbol, exchange (KRX/US), limit |
query_intel_articles | 뉴스 기사 (연합뉴스·RSS) | title_like, source, lang (ko/en), limit |
query_intel_topics | AI 생성 토픽 클러스터 | label_like, limit |
query_intel_macro | 거시지표 (FRED + ECOS) | series_id_like, country (US/KR), limit |
query_intel_estimates | 분석가 추정치 (수동/LLM 업로드) | brokerage_like, metric_code, rating, limit |
query_intel_transcripts | 실적발표 콜 트랜스크립트 | ticker, fiscal_period, call_type, limit |
보류 (도구 2개 + 소스 1개) — TABLE_NOT_FOUND
아래 도구는 API에는 등록돼 있으나 Iceberg 테이블이 아직 생성되지 않아 호출 시 오류가 반환됩니다.
| 도구명 | 오류 | 사유 |
|---|---|---|
query_intel_patents | TABLE_NOT_FOUND: 'iceberg.bronze.intel_patents_raw' does not exist | KIPRIS API 키 미발급 |
query_intel_youtube | TABLE_NOT_FOUND: 'iceberg.bronze.intel_youtube_raw' does not exist | YouTube Data API 키 미발급 |
query_intel_articles (Naver source) | 0 rows — 테이블 존재하나 Naver 수집기 미구성 | Naver API 키 미발급 |
전체 도구 목록 (32개)
카탈로그 탐색, SQL 실행, 거버넌스 도구도 함께 제공됩니다.
| 카테고리 | 도구 |
|---|---|
| 카탈로그 | list_catalogs, list_schemas, list_tables, describe_table, sample_table |
| SQL 실행 | execute_query (SELECT 전용, DML/DDL 차단) |
| 거버넌스 | get_lineage, get_quality_score, get_quality_dashboard, list_pii_columns, search_glossary, get_schema_changes, get_cost_summary, get_compliance_dashboard |
| 운영 | list_connectors, list_pipelines, list_data_marts |
| 금융 스크리닝 | screening_run (팩터 기반 크로스섹션 스크리닝) |
| 시세(분봉·체결) | gend_ohlcv_minute, gend_trades |
| Intel | 위 12개 |
6. 실제 응답 샘플
DART 공시 조회 — query_intel_filings
도구: query_intel_filings
파라미터: {"corp_name_like": "삼성전자", "limit": 3}
실제 응답 (2026-06-10 기준):
| source | corp_name | report_nm | rcept_dt | external_id |
|---|---|---|---|---|
| dart | 삼성전자 | 임원ㆍ주요주주특정증권등소유상황보고서 | 20260608 | 20260608000002 |
| dart | 삼성전자 | 임원ㆍ주요주주특정증권등소유상황보고서 | 20260605 | 20260605000586 |
| dart | 삼성전자 | 임원ㆍ주요주주특정증권등소유상황보고서 | 20260601 | 20260601000001 |
DART 공시 전체 최신순 조회 (source: "dart", limit: 5):
| corp_name | report_nm | rcept_dt |
|---|---|---|
| 핀텔 | [기재정정]조회공시요구(현저한시황변동)에대한답변(미확정) | 20260609 |
| KG파이낸셜 | 조회공시요구(풍문또는보도) | 20260609 |
| KG에코솔루션 | 풍문또는보도에대한해명(미확정) | 20260609 |
| KG이니시스 | 풍문또는보도에대한해명(미확정) | 20260609 |
| 마이크로디지탈 | [기재정정]단일판매ㆍ공급계약체결 | 20260609 |
KRX 삼성전자 일봉 — query_intel_ohlcv
도구: query_intel_ohlcv
파라미터: {"symbol": "005930", "exchange": "KRX", "limit": 5}
| symbol | exchange | trade_date | open | high | low | close | volume |
|---|---|---|---|---|---|---|---|
| 005930 | KRX | 2026-06-08 | 293,000 | 315,500 | 292,500 | 295,500 | 38,467,019 |
반도체 뉴스 — query_intel_articles
도구: query_intel_articles
파라미터: {"title_like": "반도체", "limit": 3}
| source | title | published_at | publisher |
|---|---|---|---|
| rss | 호남·충청권에 삼성전자·SK하이닉스 반도체 신규투자안 검토 | 2026-06-09 13:06 | yonhap |
| rss | 삼전닉스 급락, 반도체 피크아웃?…전문가 "저가매수 기회"(종합) | 2026-06-08 06:55 | yonhap |
| rss | 민형배 "기대 넘는 광주전남 반도체 투자계획, 정부·기업 준비"(종합) | 2026-06-08 06:13 | yonhap |
미국 실업률 — query_intel_macro
도구: query_intel_macro
파라미터: {"series_id_like": "UNRATE", "limit": 5}
| external_id | series_id | date_str | value | country |
|---|---|---|---|---|
| UNRATE@1964-08-01 | UNRATE | 1964-08-01 | 5.0 | US |
| UNRATE@1964-07-01 | UNRATE | 1964-07-01 | 4.9 | US |
현재 FRED 초기 로드 데이터가 적재되어 있습니다. 최신 데이터는 다음 수집 주기(매월 초)에 갱신됩니다.
수집기 목록 — list_intel_sources
도구: list_intel_sources
파라미터: {"limit": 5}
| Name | Collector | Domain | Enabled | Last Status |
|---|---|---|---|---|
| sec-edgar-bulk-woori-financial | sec_edgar | filings | ✅ | idle |
| sec-edgar-bulk-lg-display | sec_edgar | filings | ✅ | idle |
| sec-edgar-bulk-sk-telecom | sec_edgar | filings | ✅ | idle |
| dart-filings-rest | dart | filings | ✅ | idle |
| rss-yonhap-economy | rss | articles | ✅ | idle |
총 200개 이상의 수집기가 등록되어 있으며 대부분 sec_edgar (한국계 ADR 200종목) 입니다.
7. 자연어 사용 예시
Claude Desktop에서 다음과 같이 질문합니다:
공시 조회
"삼성전자 최근 공시 5건 보여줘"
→ query_intel_filings(corp_name_like="삼성전자", limit=5) 호출
"오늘 DART 최신 공시 10건 보여줘"
→ query_intel_filings(source="dart", limit=10) 호출
"휴온스 관련 공시가 있나?"
→ query_intel_filings(corp_name_like="휴온스", limit=10) 호출
주가 시세
"삼성전자(005930) 최근 10일 주가 보여줘"
→ query_intel_ohlcv(symbol="005930", exchange="KRX", limit=10) 호출
"KOSPI 대형주 시세 데이터 있어?"
→ query_intel_ohlcv(exchange="KRX", limit=30) 호출
뉴스 기사
"반도체 관련 최신 뉴스 5건 보여줘"
→ query_intel_articles(title_like="반도체", limit=5) 호출
"배터리 뉴스 있어?"
→ query_intel_articles(title_like="배터리", lang="ko", limit=10) 호출
거시지표
"미국 실업률(UNRATE) 최근 12개월 데이터 보여줘"
→ query_intel_macro(series_id_like="UNRATE", country="US", limit=12) 호출
"미국 CPI 데이터 있나?"
→ query_intel_macro(series_id_like="CPIAUCSL", country="US", limit=24) 호출
종합 리서치
"삼성전자 최근 공시, 주가, 관련 뉴스를 종합해서 분석해줘"
→ 여러 Intel 도구를 연속 호출해 종합 리포트 생성
8. REST API 직접 호출 (선택)
MCP 대신 HTTP REST API로도 동일 데이터를 조회할 수 있습니다.
export TOKEN="<위에서 발급한 JWT>"
export BASE="https://gend.genon.ai/api/v1"
export WS="finance-invest" # 워크스페이스 슬러그
수집기 목록
curl -sS "$BASE/intel/sources?limit=10" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Workspace-Slug: $WS"
응답 예시:
[
{
"id": "0b7b308d-...",
"name": "dart-filings-rest",
"collector_type": "dart",
"domain": "filings",
"schedule_cron": "*/30 * * * *",
"enabled": true,
"checkpoint_json": {"last_rcept_no": "20260609900884", "last_rcept_dt": "20260609"}
}
]
공시 조회
# corp_name 필터 (URL 인코딩 필요)
curl -sS "$BASE/intel/query/filings?corp_name_like=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90&limit=5" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Workspace-Slug: $WS"
/api/v1/intel/filings (동적 silver 라우터)는 _SILVER_TABLE_REGISTRY 에 등록된 테이블만 지원합니다. 현재 공시·시세·뉴스 데이터는 MCP를 통해 조회하는 것이 권장됩니다.
9. 데이터 적재 현황 (2026-06-10 기준)
| 도메인 | 적재 상태 | 주요 데이터 |
|---|---|---|
| DART 공시 | ✅ 실시간 (30분 주기) | 전 상장사 공시 |
| SEC EDGAR 공시 | ✅ 등록 완료 (2시간 주기, idle) | 한국계 ADR 200종목 이상 |
| KRX 일봉 시세 | ✅ 적재 완료 | 005930 등 |
| 연합뉴스 RSS | ✅ 실시간 (30분 주기) | 경제·산업 뉴스 |
| FRED 거시지표 | ✅ 초기 데이터 적재 | UNRATE 등 |
| 분석가 추정치 | ⏳ 미적재 (테이블 존재) | 수동/LLM 업로드 필요 |
| 트랜스크립트 | ⏳ 미적재 (테이블 존재) | 수동/오디오 업로드 필요 |
| 특허 (KIPRIS) | ⛔ 테이블 없음 | API 키 미발급 |
| YouTube | ⛔ 테이블 없음 | API 키 미발급 |
| ECOS (한국 거시) | ⏳ 0 rows | 수집기 추가 구성 필요 |
10. 트러블슈팅
401 Unauthorized
JWT가 만료되었습니다. 3번 섹션의 명령으로 재발급하세요.
# 토큰 만료 시각 확인
echo $TOKEN | cut -d. -f2 | base64 -d 2>/dev/null | python3 -c "
import json,sys
d=json.load(sys.stdin)
import datetime
print('만료:', datetime.datetime.fromtimestamp(d['exp']))
"
405 Method Not Allowed (MCP 엔드포인트)
Ingress가 POST /mcp 를 차단하는 경우입니다. 운영팀에 문의하거나 PR #1783 패치 적용 여부를 확인하세요.
TABLE_NOT_FOUND (patents/youtube 도구)
해당 도메인은 API 키가 발급되지 않아 Iceberg 테이블이 없습니다. 9번 섹션 적재 현황을 참조하세요.
Query failed: TrinoUserError(type=USER_ERROR, name=TABLE_NOT_FOUND,
message="line 1:143: Table 'iceberg.bronze.intel_patents_raw' does not exist")
0 rows 반환 (tools/call 성공이지만 빈 결과)
query_intel_companies,query_intel_financials— 마스터 테이블 데이터 미적재 (배치 적재 예정)query_intel_topics— AI 토픽 클러스터링 미실행query_intel_macro (country=KR)— ECOS 수집기 미구성
MCP 도구 아이콘이 안 보임 (Claude Desktop)
- Claude Desktop 완전 종료 (Quit) 후 재시작
claude_desktop_config.jsonJSON 문법 검증 (jq . claude_desktop_config.json)- 토큰이 빈 문자열이 아닌지 확인
11. 보안 고려사항
- SqlGuard:
execute_query도구는SELECT전용 (DML/DDL 차단) - MCPGovernor: 모든 MCP 도구 호출이 감사 로그에 기록됩니다
- 토큰 보관:
claude_desktop_config.json에 토큰을 평문으로 저장하므로 파일 권한(chmod 600)을 설정하세요 - 만료: Password grant 토큰은 1시간, M2M client_credentials는 30분 후 만료
12. 문의 / 지원
| 채널 | 대상 |
|---|---|
Slack #data-platform | 일반 사용 문의 |
Slack #gend-ops | 장애·긴급 대응 |
| GitHub Issues | 데이터 추가 요청, 버그 리포트 |
데이터 추가 요청 절차
새로운 수집 도메인(특허·YouTube·ECOS 등)이 필요한 경우:
- GitHub Issue 발행 —
intel-data-request레이블 - API 키 발급 여부 확인 (운영팀)
IntelSource등록 → Dagster 수집 파이프라인 추가- Iceberg 브론즈 테이블 → MCP 도구 활성화