Sense Stock, D+1
📅 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
- Reuters - 중립적이고 속보 빠름, 기업 이슈에 강함
- CNBC - 미국 주식시장 중심, 속도 빠름
- Yahoo Finance - 편리한 API, 실적 발표·뉴스 필터
- Reuters / CNBC / Yahoo Finance
- 기사 본문 요약은 차후 GPT 활용 예정
- Test용으로 출력 결과 확인 => 프롬프트 고도화 필요
- Slack 트리거 및 Supabase 저장은 계획 중
- Firecrawl API 연동 성공, Firecrawl MCP Sever 사용
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 정리 |
✅ 현재 요약 처리 | => 요약본 취합후 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연결시) |
📦 구성
- 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: 검색 + 크롤링 + 요약 통합
- 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"
}
}
}
}
✅ 4. 오늘의 결과 정리
구현 항목 | 결과 |
사용자 키워드 입력 | "원전" 테스트 |
Firecrawl 검색 API 사용 | 성공 |
관련 기사 URL 추출 | 성공(총 3개의 뉴스 기사 사이트에서 URL 추출) |
기사 요약 | ✖️ (다음 단계에서 진행 예정) |
Slack 트리거 연동 | ✖️ (다음 단계에서 진행 예정) |
📝 다음 목표
- Slack에서 키워드 직접 입력 받기
- GPT로 기사 해석 + 관련 정보 Slack으로 보내기
- Supabase에 사용자 입력 및 결과 저장