Skip to content

MarcoYou/open-proxy-mcp

Repository files navigation

OpenProxy MCP

License: CC BY-NC 4.0 Python 3.10+ MCP Tools

English README

Why OpenProxy?

코리아 디스카운트의 핵심에는 거버넌스 리스크가 있어요. 패시브 투자가 늘면서 주식 오너십의 의미가 희미해지는 지금, 이 리스크는 오히려 더 선명해지고 있죠. 거버넌스 정보에 쉽게 접근하고, 빠르게 분석할 수 있어야 하지만 -- 수백 페이지의 공시 원문을 직접 읽고 판단하기엔 시간도 전문성도 부족해요.

OpenProxy는 AI로 이 장벽을 허물어요. DART 공시를 구조화된 데이터로 바꿔서, 지분 구조부터 배당 이력, 주총 안건, 경영권 분쟁까지 -- 거버넌스 분석 전반을 누구나 몇 초 만에 할 수 있게 만들었어요.

OpenProxy MCP 비교


빠른 시작

0단계: Claude 구독 확인 (필수)

MCP 커넥터는 Claude Pro, Max, Teams 구독자만 사용할 수 있어요. claude.ai에서 구독 상태를 확인해주세요.

1단계: DART API 키 발급 (필수)

OpenProxy의 모든 데이터는 DART OpenAPI에서 가져와요. 본인의 API 키가 있어야 사용할 수 있어요.

  1. DART OpenAPI 접속 -> 회원가입
  2. 인증키 신청 -> 발급 (무료, 바로 발급돼요)

2단계: 연결

API 키를 발급받았다면, 아래 두 가지 방법 중 하나를 선택하세요.

방법 A: 원격 서버 (설치 없이 30초면 돼요)

URL 끝에 발급받은 DART API 키를 붙여서 연결해요. 키는 서버에서만 사용되고, AI에게는 노출되지 않아요.

claude.ai 웹:

  1. claude.ai 접속 -> 설정 -> 커넥터
  2. "커스텀 커넥터 추가" 선택
  3. 이름: open-proxy-mcp, URL 입력:
https://open-proxy-mcp.fly.dev/mcp?opendart=발급받은_키
  1. "추가" 클릭 -> 17개 tool이 자동으로 인식돼요
  2. 추가된 커넥터의 구성 -> 권한에서 "항상 허용" 선택 (매번 승인 없이 tool이 자동 실행돼요)

참고: tool이 추가되거나 변경된 경우 커넥터 MCP 서버 업데이트에 시간이 걸릴 수 있어요. 커넥터를 삭제한 뒤 다시 연결하면 바로 최신 tool이 반영돼요. 재연결한 후 새 채팅을 열어서 다시 시도해주세요.

사용 예시

연결이 끝났다면, 자연어로 질문하면 돼요:

"삼성전자 주주총회 안건 분석해줘"
"KB금융 사외이사 후보 독립성 검토해줘"
"현대차 보수한도 적정성 판단해줘"
"삼성전자 지분 구조 보여줘"
"SK하이닉스 배당 추이 알려줘"
"고려아연 경영권 분쟁 분석해줘"
"최근 30일 자사주 소각 결정한 KOSPI 기업 찾아줘"
"최근 60일 임시주총 소집한 기업 리스트업해줘"
"이마트 최근 주식교환·이전 결정 분석해줘"
"감성코퍼레이션 분할결정 상대방·일정 보여줘"
"하이퍼코퍼레이션 전환사채 잠재 희석률 계산해줘"
"EDGC 최근 2년 유상증자·감자 이력 보여줘"
"POSCO홀딩스 자회사 타법인주식 거래 내역"
"현대건설 최근 단일공급계약 체결 패턴"
"KT&G 기업지배구조보고서 준수율 보여줘"
"현대자동차 15개 지배구조 핵심지표 상세"
"삼성전자 지배구조 연도별 준수율 추이 (timeline)"
"KT&G 의결권 메모 만들어줘 (행동주의 운용사 스타일로)"
"8개 자산운용사 이사 보수한도 의결권 정책 비교해줘"
"S레거시(대형 운용사) 의결권 행사 정책 vs 실제 갭 분석해줘"
"M레거시(대형 운용사) 2025년 삼성전자 의결권 행사 내역 보여줘"
"Open Proxy Guideline 12 카테고리 정책 보여줘"
"롯데케미칼 2024 연결 재무 yoy + 회계 risk alert 보여줘"
"SK하이닉스 2024 turnaround 검증 (적자→흑자, 듀퐁 분해)"
"오스템임플란트 5년 감사의견 추이"
"삼성전자 듀퐁 3단 분해 — ROE 13.07%의 구성 요인"

* 재무지표 분석은 financial_metrics tool에서 가능해요 (Phase 1: DART 4 endpoint 통합 — 51 핵심 지표 + 22 alert + 감사의견 추이)


Tool 구조 (17개)

17개 tool은 발견 → 데이터 탭 → 정책/매트릭스 → 결과물 생성 네 단계로 나뉘어요.

company                            # 기업 진입점 — 1개 기업 식별 + 최근 공시 인덱스
│
├─ Discovery Tool (1)
│  └─ screen_events                # 이벤트로 기업 찾기 (21종 event_type, KOSPI+KOSDAQ)
│
├─ Data Tools (12)
│  ├─ shareholder_meeting          # 주총 (안건 / 이사후보 / 보수한도 / 결과)
│  ├─ ownership_structure          # 지분 구조 (최대주주 / 5% 블록 / 자사주 / 변동신고서)
│  ├─ dividend                     # 배당 사실 (DPS / 배당성향 / 추이 / 총주주환원율 / 선배당-후결의 + 감액배당 메타)
│  ├─ financial_metrics            # ★ NEW — DART 재무 4 endpoint 통합 (51 지표 + 듀퐁 + FCF + NWC + 회계 risk + 감사의견 3년)
│  ├─ treasury_share               # 자사주 이벤트 (취득 / 처분 / 소각 [본문 파싱: 주식수·금액(KRW)] / 신탁)
│  ├─ proxy_contest                # 경영권 분쟁 (위임장 / 소송 / 5% 시그널)
│  ├─ value_up                     # 밸류업 계획 (약속 / 이행현황)
│  ├─ corporate_restructuring      # 지배구조 재편 (합병 / 분할 / 분할합병 / 주식교환·이전)
│  ├─ dilutive_issuance            # 희석성 증권 발행 (유상증자 / CB / BW / 감자)
│  ├─ related_party_transaction    # 내부거래 (타법인주식 거래 + 단일공급계약)
│  ├─ corp_gov_report              # 기업지배구조보고서 (15 핵심지표 + 연도별 추이)
│  └─ evidence                     # 공시 원문 링크 (rcept_no → viewer_url)
│
├─ Policy & Matrix Tool (1)        ★ NEW
│  └─ proxy_guideline              # 7 운용사 정책 + Open Proxy Guideline + 12 의사결정 매트릭스 + 국민연금 행사내역
│                                   #   scopes: policy / record / predict / compare / consensus / audit / nps_record
│                                   #   외부 API 호출 0회 (정적 데이터, <100ms 응답)
│                                   #   nps_record는 fund.nps.or.kr 직접 크롤링 + 정적 캐시 (하이브리드)
│
└─ Action Tools (2) — 시점 분리 재편 (2026-05-02)
   ├─ advise_vote_before_meeting    # 주총 **전** 의결권 행사 메모 (안건별 FOR/AGAINST + 결정 사유)
   │                                #   6 upstream + 후보 평가 3축 (독립성/충실성/결격사유) + Marco 시나리오 옵션
   │                                #   vote_style: open_proxy / mirae_asset / samsung / truston / align_partners / nps 등
   └─ recap_vote_after_meeting      # 주총 **후** 결과 보고 (가결/부결/찬반율 + 후속 공시 30일 + 위임장 결과)

🆕 proxy_guideline tool 상세

8 운용사 정책 데이터 (parsed JSON 정적 보존, 14MB+ — 익명화):

  • M레거시 / S레거시 / SA액티브 / K레거시 (대형 레거시 4)
  • T행동주의 / A행동주의 / C행동주의 (행동주의 3)
  • B외국계 (외국계 — ISS Korea 2026 참조 사례, OPM은 ISS를 벤치마크로 사용 X)

Open Proxy Guideline v1.2 (OPM 자체 모범 정책):

  • 12 카테고리 116 룰 + 11 novel topics + 2026 신법 7개 즉시 반영 (5 운용사 미반영)
  • 4 기준: 소수주주 보호 우선 / 거버넌스 투명성 / 장기 가치 관점 / 추적 가능성
  • §382의3 (2025) 충실의무 모든 카테고리 cross-cutting

12 카테고리 의사결정 매트릭스 (운용사·자문사 단독 차별화):

  • 카테고리별 8 dim (사외이사 독립성 / 이해상충 / 보수 적정성 / 정보 공개 / 보고서 준수율 / 일관성 / 절차 적법성 / ESG)
  • 총 100 dim + 76 빙고 패턴 (특정 조합 자동 결정)
  • 자동 채점 (v1.3, 2026-04-29): scope=predict의 auto_score=True (기본) 시 ~71 dim OPM data tool에서 자동 추출 + 빙고 평가 + for/against/review 자동 결정. ~29 dim은 manual input (adverse_news, peer 비교, 시너지 등 정성 영역). prepare_vote_brief의 auto_score_matrix=True로도 활성화 가능.

모든 data tool 응답에 data.usage 블록: DART API 호출 수와 MCP tool 호출 수를 투명하게 노출해요 (분당 한도 1,000회 대비 여유 확인 가능).

두 가지 사용 패턴이 있어요:

패턴 A (기업 → 분석):     company로 시작 → 데이터 탭으로 사실 확인 → action tool로 결과물 생성
패턴 B (이벤트 → 기업):   screen_events로 최근 이벤트 낸 기업 찾기 → 각 기업 drill-down

screen_events가 지원하는 이벤트 (21종)

카테고리 event_type
주총 shareholder_meeting_notice 1
지분 major_shareholder_change, ownership_change_filing, executive_ownership 3
자사주 treasury_acquire, treasury_dispose, treasury_retire 3
분쟁 proxy_solicit, litigation, management_dispute 3
밸류업 value_up_plan 1
배당 cash_dividend, stock_dividend 2
희석성 증권 rights_offering, convertible_bond, warrant_bond, capital_reduction 4
내부거래 equity_deal_acquire, equity_deal_dispose, supply_contract_conclude, supply_contract_terminate 4

기본 조회 구간은 최근 30일, market은 KOSPI+KOSDAQ. 결과 각 행마다 DART 원문 뷰어 링크가 포함돼요.

도메인별 요약

도메인 설명 tool 수
발견 이벤트 → 기업 역조회 1
회사 기업 식별 + 최근 공시 인덱스 1
주총 안건, 이사후보, 보수한도, 정관변경, 결과 1
지분 최대주주, 대량보유, 자사주, control map, 변동신고서 1
배당 실지급 배당 사실, DPS, 배당성향, 추이 1
자사주 취득·처분·소각·신탁 이벤트 1
분쟁 위임장 경쟁, 소송, 5% 시그널 1
밸류업 기업가치 제고 계획, 이행현황 1
재편 합병·분할·분할합병·주식교환·이전 결정 1
희석 유상증자·CB·BW·감자 발행 결정 1
내부거래 타법인주식 거래 + 단일공급계약 1
거버넌스 기업지배구조보고서 (15 핵심지표, 2026년부터 KOSPI 전체 의무) 1
재무 DART 재무 4 endpoint 통합 — 51 지표 + 듀퐁 + FCF + NWC + 회계 risk + 감사의견 3년 추이 (★ NEW) 1
근거 공시 원문 링크 제공 1
정책·매트릭스 8 운용사 정책 (익명화) + Open Proxy Guideline + 12 의사결정 매트릭스 + 국민연금(NPS) 행사내역 1
액션 advise_vote_before_meeting (사전 안건별 추천) + recap_vote_after_meeting (사후 결과 보고) — 시점 분리 (2026-05-02) 2
합계 17

의결권 행사 판단

주주총회 안건에 대한 의결권 행사 판단을 요청하면, 아래의 기준에 따라 찬성/반대/검토 의견을 제시해요.

안건 유형 FOR AGAINST REVIEW
재무제표 감사의견 적정 한정/부적정 배당성향 극단적
이사 선임 사외이사 독립성 충족 독립성 미달 겸직 3개+, 부정 뉴스
보수한도 소진율 적정 소진율 < 30%인데 인상 50%+ 대폭 인상
정관변경 법령 반영 (형식적) 집중투표 배제 이사 정원 축소
자기주식 소각 목적 경영권 방어 목적 재단 출연
배당 업종 평균 이상 이익 증가인데 DPS 감소 감액배당

데이터 소스

소스 용도 비고
DART OpenAPI 소집공고, 사업보고서, 대량보유 공시 필수 (무료 API 키)
KRX KIND 주총 의결권 행사 결과 웹 크롤링
네이버 뉴스 API 후보자 부정 뉴스 검색 선택 (무료 API 키)
네이버 금융 주가, 업종명, 배당 시세 웹 크롤링
자산운용사 의결권 행사 공시 8 운용사 정책 + 행사내역 (총 17,900+ votes, 익명화) parsed JSON 정적 보존 (proxy_guideline tool)

프로젝트 구조

wiki/
  open_proxy_mcp/
    server.py              # FastMCP 서버 (stdio + HTTP)
    tools_v2/              # 17개 tool
    services/              # 도메인별 분석 로직 (tool과 분리)
    dart/client.py         # DART API + KIND 크롤링 + 네이버 + rate limiter
    data/asset_managers/   # 8 운용사 정책 (익명화) + 행사내역 + Open Proxy Guideline + 12 매트릭스
  Dockerfile               # Fly.io 배포용 컨테이너
  fly.toml                 # Fly.io 설정 (nrt 리전, auto-suspend)
  wiki/          # 도메인 지식 위키 (구 wiki/)

Disclaimer

OpenProxy는 DART 공시 데이터를 구조화하여 AI에게 제공하는 도구예요. AI는 할루시네이션(hallucination)을 일으킬 수 있고, 부정확한 분석을 제공할 수도 있어요. AI가 제시하는 의견은 개발자 또는 개발자의 소속 단체의 의견이 아니에요. 분석 결과는 참고 목적으로만 사용하시고, 투자 결정이나 의결권 행사의 최종 판단은 반드시 원문 공시와 전문가 검토를 거쳐주세요.


라이선스

CC BY-NC 4.0 -- 비상업적 사용만 허용

이 프로젝트의 코드와 데이터를 사용할 때는 출처를 밝혀주세요. 상업적 목적으로는 사용할 수 없어요.

About

AI-powered MCP (Model Context Protocol) server that structures Korean AGM (Annual General Meeting) filings from DART into actionable, AI-ready data.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages