mcp-jordy
MCP server for managing the complete workflow of bank meeting minutes, from capture to approval and Word document generation.
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(elmcp_tool_triggerno 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.jsonestá en.gitignore. No subas credenciales al repositorio.- El estado (sesiones, borradores) se guarda en
.data/*.jsonjunto 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, reemplazartools/storage.pypor Azure Table Storage, Cosmos DB o Blob Storage. host.jsontienesystem.webhookAuthorizationLevel: "Anonymous"para facilitar las pruebas locales. Antes de desplegar a Azure, cambiarlo a"Function"o"System"para requerir la keymcp_extension.UpdateDraftinterpreta 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
ActaWizarddevuelvesessionId,status,nextFieldyquestion.ValidateActadevuelvecompleteymissingFields.GenerateDraftcrea el borrador condraftIdydraftMarkdown.UpdateDraftno puede editar un borrador aprobado.GenerateDocxsolo funciona si el borrador está aprobado, y devuelve el archivo comofileBase64(decodificar para obtener el.docx).
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.