mcp-jordy

mcp-jordy

MCP server for managing the complete workflow of bank meeting minutes, from capture to approval and Word document generation.

Category
Visit Server

README

Servidor MCP — Actas Bancarias

Empresa S.A. | Uso Interno y Confidencial

Servidor MCP construido sobre Azure Functions Python. Expone herramientas MCP para administrar el flujo completo de captura de actas, validación, generación de borrador, edición, aprobación y conversión final a Word.


Tools disponibles

Tool Descripción
ActaWizard Gestiona la creación de sesiones, captura de datos, guardado de respuestas y preguntas siguientes.
ValidateActa Valida que los campos obligatorios del acta estén completos.
GenerateDraft Genera un borrador de acta en Markdown usando los datos capturados.
UpdateDraft Permite modificar el borrador antes de su aprobación.
ApproveDraft Registra la aprobación formal del borrador.
GenerateDocx Convierte el borrador aprobado en un documento Word (devuelto en base64).

Flujo de negocio

ActaWizard → ValidateActa → GenerateDraft → Mostrar borrador → UpdateDraft (0 o más veces) → ApproveDraft → GenerateDocx


Requisitos previos

  • Python 3.10+ (recomendado 3.12)
  • Azure Functions Core Tools v4
  • Azurite (emulador de Storage — requerido incluso en local, el extension MCP lo usa para el transporte SSE)
  • azure-functions>=1.24.0 (el mcp_tool_trigger no funciona con versiones anteriores)

1. Instalar dependencias

python3 -m venv .venv
. .venv/bin/activate       # en Windows: .venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt

2. Correr los tests (sin necesidad de levantar el servidor)

Los tests en tests/test_tools.py llaman directamente a la lógica de cada tool, sin pasar por el runtime de Azure Functions ni por Azurite. Son la forma más rápida de verificar que la lógica de negocio funciona:

pytest -v

Deberían pasar 5 tests que cubren: creación de sesión, flujo completo hasta generar el DOCX, validación con campos faltantes, y que un borrador aprobado no se puede editar.

3. Levantar el servidor MCP real

# En otra terminal, arrancar el emulador de storage:
azurite --silent --location .azurite --debug .azurite/debug.log
# o, en VS Code: Ctrl+Shift+P -> "Azurite: Start"

func start

El servidor MCP expone el webhook en:

http://localhost:7071/runtime/webhooks/mcp

4. Probar los tools end-to-end

Dos formas:

a) MCP Inspector (recomendado, habla el protocolo real):

npx @modelcontextprotocol/inspector

Conectar a http://localhost:7071/runtime/webhooks/mcp/sse, listar tools e invocarlas una por una viendo el JSON de respuesta.

b) Postman: importar tests/Actas_MCP_Postman.json y correr los requests en orden (01 a 07). Los primeros dos requests guardan automáticamente session_id y draft_id como variables de colección para los siguientes.


Notas importantes

  • local.settings.json está en .gitignore. No subas credenciales al repositorio.
  • El estado (sesiones, borradores) se guarda en .data/*.json junto al proyecto. Esto es suficiente para desarrollo local, pero no es apto para producción: en Azure Functions el filesystem local no es persistente ni se comparte entre instancias. Antes de desplegar con más de una instancia, reemplazar tools/storage.py por Azure Table Storage, Cosmos DB o Blob Storage.
  • host.json tiene system.webhookAuthorizationLevel: "Anonymous" para facilitar las pruebas locales. Antes de desplegar a Azure, cambiarlo a "Function" o "System" para requerir la key mcp_extension.
  • UpdateDraft interpreta instrucciones en español con reglas simples (reemplazar/eliminar/agregar); instrucciones ambiguas se agregan al final del borrador en vez de aplicarse quirúrgicamente. Es una limitación conocida, no un bug.

Tips rápidos

  • ActaWizard devuelve sessionId, status, nextField y question.
  • ValidateActa devuelve complete y missingFields.
  • GenerateDraft crea el borrador con draftId y draftMarkdown.
  • UpdateDraft no puede editar un borrador aprobado.
  • GenerateDocx solo funciona si el borrador está aprobado, y devuelve el archivo como fileBase64 (decodificar para obtener el .docx).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured