Skip to main content
Glama
kjpou1

ForexFactory MCP Server

by kjpou1

📅 Servidor MCP de ForexFactory

Python License MCP uv

Contributions welcome Status PRs Welcome Made with Love

Un servidor MCP (Model Context Protocol) que expone datos del calendario económico de ForexFactory como recursos y herramientas.

Diseñado para su uso en flujos de trabajo de agentes, LLMs y asistentes de trading.



🚀 Características

  • ✅ Recuperar eventos del calendario económico por período de tiempo (today, this_week, custom, etc.)

  • ✅ Acceso mediante recursos MCP (para acceso tipo suscripción)

  • ✅ Acceso mediante herramientas MCP (llamadas directas desde clientes/agentes)

  • ✅ Respuestas centradas en JSON para una fácil integración

  • ⚡ Se integra con LangChain, n8n o cualquier cliente compatible con MCP


📌 Estado del desarrollo

Este proyecto está en desarrollo activo. La funcionalidad principal es estable (recuperar eventos del calendario económico de ForexFactory mediante herramientas y recursos MCP), pero todavía estamos:

  • Ampliando funciones (prompts, opciones de despliegue)

  • Mejorando la documentación y los ejemplos

Agradecemos los comentarios y las contribuciones mientras continuamos construyendo el ecosistema.


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)

(Consulta el repositorio para obtener todos los detalles; este es un diseño de alto nivel para colaboradores.)


Related MCP server: Google-Calendar Universal MCP

🔧 Instalación

Requisitos

  • Python 3.12+

  • uv o pip

  • Un terminal moderno o un cliente compatible con MCP

Configuración

# 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

▶️ Uso

⚡ Inicio rápido

Inicia el servidor con la configuración predeterminada (transporte stdio):

uv run ffcal-server

Ejecuta con transporte HTTP:

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

Transporte SSE (⚠️ obsoleto)

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

Valores predeterminados de variables de entorno

MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8080

🏷️ Espacio de nombres

Espacio de nombres predeterminado:

ffcal

Anular mediante .env:

NAMESPACE=ffcal

📦 Recursos

Nombre

Ruta

Descripción

events_today

ffcal://events/today

Eventos de hoy

events_week

ffcal://events/week

Todos los eventos de esta semana

events_range

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

Rango de fechas personalizado


🛠️ Herramientas

Nombre

Tipo

Descripción

ffcal_get_calendar_events

Herramienta

Recuperar eventos para un período determinado

Valores admitidos:

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

📝 Prompts

Nombre

Descripción

ffcal_daily_prep

Nota de preparación del trader para hoy

ffcal_weekly_outlook

Resumen semanal de eventos macro

ffcal_volatility_grid

Mapa de calor de riesgo de eventos semanal

ffcal_trade_map_scenarios

Mapa de escenarios para eventos específicos


🧩 Estilos de prompt

Todos los prompts admiten un parámetro style para controlar el formato. Predeterminado:

style: str = "bullet points"

Consulta la Referencia de estilo de salida para ver los formatos disponibles.


💻 Ejemplos de cliente

Ejemplo: Usando la CLI de MCP

mcp call ffcal:get_calendar_events time_period=this_week

Ejemplo: Usando en 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)

Ejemplo: Integración con 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)

📘 Referencia de configuración del cliente

📖 docs/CLIENT_CONFIG_REFERENCE.md

Incluye:

  • ✅ Configuraciones de ejemplo para Claude Desktop (local + Docker)

  • 🐳 Construcción y configuración de Docker

  • 🧩 Integración de MCP en VS Code (futuro)

  • 🧪 Lista de verificación de pruebas y solución de problemas

  • 🔍 Configuración del inspector para depuración visual


⚙️ Configuración

Variable

Predeterminado

Descripción

NAMESPACE

ffcal

Prefijo del espacio de nombres

MCP_TRANSPORT

stdio

Tipo de transporte (stdio, http, sse)

MCP_HOST

127.0.0.1

Host para HTTP/SSE

MCP_PORT

8000

Puerto para HTTP/SSE

SCRAPER_TIMEOUT_MS

5000

Tiempo de espera de Playwright

LOCAL_TIMEZONE

Local del sistema

Anulación de zona horaria


Ejemplo .env

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

🐳 Integración con Docker

Admite tanto stdio (predeterminado) como HTTP/SSE.

docker compose build
docker compose up forexfactory_mcp

Ejecuta el servidor MCP y lo expone en el puerto 8000.


Objetivo

Descripción

make build

Construir imagen de Docker

make run-http

Ejecutar servidor en modo HTTP

make run-stdio

Ejecutar en modo stdio

make dev-http

Inspeccionar mediante MCP Inspector

make stop

Detener contenedores


🐍 1. Falla la instalación de uv o dependencias

Ejecuta:

docker compose build --no-cache forexfactory_mcp

⚡ 2. El servidor se cierra inmediatamente

Cambia a:

make run-http

🌐 3. Puerto en uso

Cambia el puerto:

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

🔐 4. Falla el navegador

Instala Chromium:

docker compose run forexfactory_mcp playwright install chromium

🧪 Pruebas

pytest -v

📊 Hoja de ruta

  • [ ] Filtros de eventos por moneda e impacto

  • [ ] Relleno de datos históricos

  • [ ] Expansiones de prompts de MCP

  • [ ] Despliegue listo para la nube


🤝 Contribuciones

  1. Haz un fork del repositorio

  2. Crea una rama de funciones

  3. Confirma con un mensaje claro

  4. Envía y abre un PR


📜 Licencia

Licencia MIT: consulta LICENSE para obtener más detalles.

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