from mcp.server.fastmcp import FastMCP
from tools import validar_metadatos, obtener_metadatos
import json
mcp = FastMCP("SyV Project Tools")
@mcp.tool()
def validar_metadatos_markdown(ruta_archivo: str) -> str:
"""
Validates metadata from markdown `*.md` files against '0_proyecto/guias-para-colaboradores/guia-de-metadatos.md'.
Returns JSON:
- status (bool): If False, validation FAILED; trust 'message' for the exact error. If True, PASSED.
- message (str): Error description (use only if status is False to fix the problem).
"""
resultado = validar_metadatos(ruta_archivo)
return resultado.model_dump_json()
@mcp.tool()
def obtener_metadatos_markdown(ruta_archivo: str) -> str:
"""Retrieves metadata from markdown `*.md` files. Returns JSON with fields or error."""
try:
resultado = obtener_metadatos(ruta_archivo)
return json.dumps(resultado, ensure_ascii=False)
except Exception as e:
return json.dumps({"error": str(e)}, ensure_ascii=False)
if __name__ == "__main__":
mcp.run(transport="sse")