그때 그때 끄적 2025. 5. 29. 21:36

📅 Sense Stock 개발 일지 (2025-05-29)

n8n 기반 뉴스 요약 자동화 시스템 Sense Stock 구축 중 진행한 작업들을 정리합니다.

🔧 사용 도구

도구 역할
🔷 n8n 전체 워크플로우 자동화 도구
🔷 Firecrawl.dev 사이트 內 기사 검색 + URL 수집 API (Firecrawl MCP Sever)
🔷 ChatGPT 키워드 정제 및 후속 분석
  • 오늘의 목표
    사용자가 입력한 키워드를 기반으로 Firecrawl을 통해 관련 기사 URL을 수집
  • 진행 내용
    • Firecrawl  API 연동 성공, Firecrawl MCP Sever 사용
      • Apify => SNS 검색 특화(Instagrma, Facebook, Shopify ..)
    • 키워드 → 기사 URL 추출 완료(신뢰 언론 3개 사이트 설정)
      • Reuters / CNBC / Yahoo Finance
        1. Reuters - 중립적이고 속보 빠름, 기업 이슈에 강함
        2. CNBC - 미국 주식시장 중심, 속도 빠름
        3. Yahoo Finance - 편리한 API, 실적 발표·뉴스 필터
    • 기사 본문 요약은 차후 GPT 활용 예정
      • Test용으로 출력 결과 확인 => 프롬프트 고도화 필요
    • Slack 트리거 및 Supabase 저장은 계획 중

 

Step 1. 키워드 입력

n8n에서 키워드를 수동 입력하거나 Slack에서 받을 수 있도록 준비합니다.
예: "원전", "VRT", "AI 반도체"

 

Step 2. AI Agent 지침 부여, 프롬프트 설계 및 Output값 JSON형식으로 출력

  • 요청 키워드 관련 확장 키워드 작성
  • Best_keyword 작성(=> 해당 Keyword로 뉴스 기사 검색 및 Scraping)
  • Issue 작성
  • policyIssue 작성
  • summary 작성 등등 ...

 

Step 3. JSON Parsing

  • AI Agent Output 값은 Text 형태
  • AI Agent 노드의 응답을 키-값 형태로 분리(parsing)
더보기

JSON 형식

{
  "request": "",
  "best_keyword": "",
  "summary": "",
  "keywords": ["", "", "", "", ""],
  "issue": "",
  "policyIssue": ""
}

 

Step 4. Firecrawl MCP Sever

📌 오늘의 주요 진행 내역

항목 내용
✅ Firecrawl MCP 선택 이유 크롤링 자동화 + 요약 가능 + 구조적 출력 + 무료
✅ MCP 노드 활용 firecrawl_search MCP로 기사 검색 테스트
✅ 검색 조건 "키워드 site:reuters.com" 형식으로 신뢰 언론 지정
✅ 결과 처리 기사 URL과 제목 목록을 추출하여 JSON 정리
✅ 현재 요약 처리 별도 GPT로 진행하기로 결정
Firecrawl Dev. 에서 요약해줌 => GPT Token 줄일 수 있음
=> 요약본 취합후 AI Agent 해석순으로 Process 변경
🔄 키워드 이슈 사용자가 입력한 키워드가 여러 개인 경우, 검색 범위 및 우선순위 정리 필요

https://cord-ai.tistory.com/216

 

🔍 왜 직접 접근(크롤링)이 아닌 API/서비스를 쓰는가?

✅ 1. 법적 리스크 회피대부분의 뉴스 사이트는 이용약관에서 크롤링을 금지하고 있어요.robots.txt에서 허용되더라도, 약관 위반 시 법적 책임을 물을 수 있습니다.반면, Firecrawl, NewsData.io, Serper.dev

cord-ai.tistory.com

 

Firecrawl API → n8n 연동

1. 🔁 과거 방식 vs MCP 방식

기존 방식 MCP 방식
API 직접 호출 필요 자연어 프롬프트만 입력
JSON, endpoint, 토큰 등 수동 설정 AI가 알아서 도구 선택(AI Agent연결시), 요청 자동화
복잡한 설정 필요 "블로그 5개 요약해줘"처럼 지시 가능 (AI Agent연결시)

📦 구성

  1. MCP Client 1 (List tools) - MCP Client 생성후 Tool Name에 사용
    • MCP 서버 연결 후 사용 가능한 도구 목록 조회
    • ex) firecrawl_scrape, firecrawl_extract, firecrawl_search 등 
    • firecrawl_scrape: 한 페이지에서 콘텐츠 추출
    • firecrawl_map: 여러 페이지 목록에서 추출
    • firecrawl_extract: 구조화된 정보 추출
    • firecrawl_deep_research: 검색 + 크롤링 + 요약 통합
  2. MCP Client 2 (Execute tool)
    • 첫 노드 결과에서 적절한 도구 선택 후 실행
    • 사용자 프롬프트를 전달해 크롤링 수행

https://cord-ai.tistory.com/218

 

🔥 Firecrawl 완전정복: 웹 자동화 & AI 추출 도구 정리

웹페이지 크롤링, 콘텐츠 추출, 구조화 데이터 분석까지Firecrawl 하나로 끝내는 웹 자동화 도구 가이드🔧 Firecrawl란?Firecrawl은 웹 데이터를 효율적으로 수집하고 가공하는 데 특화된 AI 기반 도구

cord-ai.tistory.com

 

* MCP Client 노드 생성후 Connection
(https://github.com/mendableai/firecrawl-mcp-server)

 

GitHub - mendableai/firecrawl-mcp-server: Official Firecrawl MCP Server - Adds powerful web scraping to Cursor, Claude and any o

Official Firecrawl MCP Server - Adds powerful web scraping to Cursor, Claude and any other LLM clients. - mendableai/firecrawl-mcp-server

github.com

{
  "mcpServers": {
    "firecrawl-mcp": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "YOUR-API-KEY"
      }
    }
  }
}

MCP Client 노드, Tool Name: List tools

✅ 4. 오늘의 결과 정리

구현 항목 결과
사용자 키워드 입력 "원전" 테스트
Firecrawl 검색 API 사용 성공
관련 기사 URL 추출 성공(총 3개의 뉴스 기사 사이트에서 URL 추출)
기사 요약 ✖️ (다음 단계에서 진행 예정)
Slack 트리거 연동 ✖️ (다음 단계에서 진행 예정)

📝 다음 목표

  • Slack에서 키워드 직접 입력 받기
  • GPT로 기사 해석 + 관련 정보 Slack으로 보내기
  • Supabase에 사용자 입력 및 결과 저장