Skip to main content
Glama
kjpou1

ForexFactory MCP Server

by kjpou1

📅 ForexFactory MCP 서버

Python License MCP uv

Contributions welcome Status PRs Welcome Made with Love

ForexFactory 경제 캘린더 데이터를 리소스와 도구로 노출하는 MCP(Model Context Protocol) 서버입니다.

에이전트 워크플로우, LLM 및 트레이딩 어시스턴트에서 사용하도록 설계되었습니다.



🚀 기능

  • ✅ 기간별(today, this_week, custom 등) 경제 캘린더 이벤트 검색

  • MCP 리소스를 통한 액세스 (구독형 액세스)

  • MCP 도구를 통한 액세스 (클라이언트/에이전트에서 직접 호출)

  • ✅ 쉬운 통합을 위한 JSON 우선 응답

  • ⚡ LangChain, n8n 또는 모든 MCP 호환 클라이언트와 통합


📌 개발 상태

이 프로젝트는 활발히 개발 중입니다. 핵심 기능은 안정적이지만(MCP 도구 및 리소스를 통해 ForexFactory 경제 캘린더 이벤트 검색), 여전히 다음을 진행 중입니다:

  • 기능 확장 (프롬프트, 배포 옵션)

  • 문서 및 예제 개선

생태계를 구축하는 동안 피드백과 기여를 환영합니다.


forexfactory-mcp/
│── src/forexfactory_mcp/   # Main package
│   ├── models/             # Schemas & enums
│   ├── services/           # Scraper + data normalization
│   ├── tools/              # MCP tool definitions
│   ├── resources/          # MCP resource definitions
│   ├── prompts/            # Prompt templates (optional MCP prompts)
│   ├── utils/              # Shared helpers & config
│   └── server.py           # FastMCP server entrypoint
│
│── examples/               # Example clients
│── tests/                  # Unit tests
│── .env.example            # Copy to .env for config
│── pyproject.toml          # Dependencies & metadata
│── README.md               # Documentation
│── .python-version         # Python version pin (3.12)

(전체 세부 정보는 저장소를 참조하세요 — 기여자를 위한 상위 수준 레이아웃입니다.)


Related MCP server: Google-Calendar Universal MCP

🔧 설치

요구 사항

  • Python 3.12+

  • uv 또는 pip

  • 최신 터미널 또는 MCP 호환 클라이언트

설정

# Clone repo
git clone https://github.com/kjpou1/forexfactory-mcp.git
cd forexfactory-mcp

# Install dependencies
uv sync   # or: pip install -e .

# Install Playwright browser binaries
uv run playwright install chromium
# or, if using pip/venv:
playwright install chromium

# Copy example environment and adjust if needed
cp .env.example .env

▶️ 사용법

⚡ 퀵스타트

기본 설정(stdio 전송)으로 서버 시작:

uv run ffcal-server

HTTP 전송으로 실행:

uv run ffcal-server --transport http --host 0.0.0.0 --port 8080

SSE 전송 (⚠️ 지원 중단 예정)

uv run ffcal-server --transport sse --host 127.0.0.1 --port 8001

환경 변수 기본값

MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8080

🏷️ 네임스페이스

기본 네임스페이스:

ffcal

.env를 통해 재정의:

NAMESPACE=ffcal

📦 리소스

이름

경로

설명

events_today

ffcal://events/today

오늘의 이벤트

events_week

ffcal://events/week

이번 주 모든 이벤트

events_range

ffcal://events/range/{start}/{end}

사용자 지정 날짜 범위


🛠️ 도구

이름

유형

설명

ffcal_get_calendar_events

도구

특정 기간의 이벤트 검색

지원되는 값:

today, tomorrow, yesterday, this_week, next_week, last_week, this_month, next_month, last_month, custom

📝 프롬프트

이름

설명

ffcal_daily_prep

오늘의 트레이더 준비 노트

ffcal_weekly_outlook

주간 거시 경제 이벤트 요약

ffcal_volatility_grid

주간 이벤트 리스크 히트맵

ffcal_trade_map_scenarios

특정 이벤트에 대한 시나리오 맵


🧩 프롬프트 스타일

모든 프롬프트는 서식을 제어하기 위한 style 매개변수를 지원합니다. 기본값:

style: str = "bullet points"

사용 가능한 형식은 출력 스타일 참조를 확인하세요.


💻 클라이언트 예제

예제: MCP CLI 사용

mcp call ffcal:get_calendar_events time_period=this_week

예제: Python에서 사용

from mcp.client.session import Session
async with Session("ws://localhost:8000") as session:
    result = await session.call_tool("ffcal:get_calendar_events", {"time_period": "today"})
    print(result)

예제: LangChain 통합

from langchain.agents import initialize_agent
from langchain_mcp import MCPToolkit

toolkit = MCPToolkit.from_server_url("ws://localhost:8000", namespace="ffcal")
agent = initialize_agent(toolkit.tools)
response = agent.run("What are today's USD-related high impact events?")
print(response)

📘 클라이언트 구성 참조

📖 docs/CLIENT_CONFIG_REFERENCE.md

포함 내용:

  • **Claude Desktop (로컬 + Docker)**용 예제 구성

  • 🐳 Docker 빌드 및 설정

  • 🧩 VS Code MCP 통합 (향후)

  • 🧪 테스트 + 문제 해결 체크리스트

  • 🔍 시각적 디버깅을 위한 인스펙터 설정


⚙️ 구성

변수

기본값

설명

NAMESPACE

ffcal

네임스페이스 접두사

MCP_TRANSPORT

stdio

전송 유형 (stdio, http, sse)

MCP_HOST

127.0.0.1

HTTP/SSE용 호스트

MCP_PORT

8000

HTTP/SSE용 포트

SCRAPER_TIMEOUT_MS

5000

Playwright 타임아웃

LOCAL_TIMEZONE

시스템 로컬

시간대 재정의


예제 .env

MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8080
NAMESPACE=ffcal

🐳 Docker 통합

stdio(기본값) 및 HTTP/SSE를 모두 지원합니다.

docker compose build
docker compose up forexfactory_mcp

MCP 서버를 실행하고 포트 8000에서 노출합니다.


타겟

설명

make build

Docker 이미지 빌드

make run-http

HTTP 모드로 서버 실행

make run-stdio

stdio 모드로 실행

make dev-http

MCP 인스펙터를 통해 검사

make stop

컨테이너 중지


🐍 1. uv 또는 의존성 설치 실패

실행:

docker compose build --no-cache forexfactory_mcp

⚡ 2. 서버가 즉시 종료됨

다음으로 전환:

make run-http

🌐 3. 포트 사용 중

포트 변경:

docker compose run --rm -e MCP_PORT=8080 forexfactory_mcp

🔐 4. 브라우저 실패

Chromium 설치:

docker compose run forexfactory_mcp playwright install chromium

🧪 테스트

pytest -v

📊 로드맵

  • [ ] 통화영향도별 이벤트 필터

  • [ ] 과거 데이터 백필

  • [ ] MCP 프롬프트 확장

  • [ ] 클라우드 준비 배포


🤝 기여

  1. 저장소 포크

  2. 기능 브랜치 생성

  3. 명확한 메시지로 커밋

  4. 푸시 후 PR 열기


📜 라이선스

MIT 라이선스 – 자세한 내용은 LICENSE를 참조하세요.

A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
10dResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

  • The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.

  • Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kjpou1/forexfactory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server