Skip to main content
Glama

MCP Server — Meeting Minutes

Company S.A. | Internal and Confidential Use

MCP server built on Azure Functions Python. Exposes MCP tools to manage the complete flow of minutes capture, validation, draft generation, editing, approval, and final conversion to Word.


Available Tools

Tool

Description

ActaWizard

Manages session creation, data capture, answer saving, and follow-up questions.

ValidateActa

Validates that all required fields in the minutes are complete.

GenerateDraft

Generates a draft of the minutes in Markdown using the captured data.

UpdateDraft

Allows modifying the draft before its approval.

ApproveDraft

Records the formal approval of the draft.

GenerateDocx

Converts the approved draft into a Word document (returned in base64).

Business Flow

ActaWizard → ValidateActa → GenerateDraft → Show draft → UpdateDraft (0 or more times) → ApproveDraft → GenerateDocx


Related MCP server: office-mcp-server

Prerequisites

  • Python 3.10+ (recommended 3.12)

  • Azure Functions Core Tools v4

  • Azurite (Storage emulator — required even locally, the MCP extension uses it for SSE transport)

  • azure-functions>=1.24.0 (the mcp_tool_trigger does not work with older versions)


1. Install Dependencies

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

2. Run Tests (without needing to start the server)

The tests in tests/test_tools.py directly call the logic of each tool, without going through the Azure Functions runtime or Azurite. They are the fastest way to verify that the business logic works:

pytest -v

5 tests should pass covering: session creation, complete flow up to generating the DOCX, validation with missing fields, and that an approved draft cannot be edited.

3. Start the Real MCP Server

# 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

The MCP server exposes the webhook at:

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

4. Test the Tools End-to-End

Two ways:

a) MCP Inspector (recommended, speaks the real protocol):

npx @modelcontextprotocol/inspector

Connect to http://localhost:7071/runtime/webhooks/mcp/sse, list tools and invoke them one by one, viewing the JSON response.

b) Postman: import tests/Actas_MCP_Postman.json and run the requests in order (01 to 07). The first two requests automatically save session_id and draft_id as collection variables for the subsequent ones.


Important Notes

  • local.settings.json is in .gitignore. Do not upload credentials to the repository.

  • State (sessions, drafts) is saved in .data/*.json alongside the project. This is sufficient for local development, but not suitable for production: in Azure Functions, the local filesystem is neither persistent nor shared between instances. Before deploying with more than one instance, replace tools/storage.py with Azure Table Storage, Cosmos DB, or Blob Storage.

  • host.json has system.webhookAuthorizationLevel: "Anonymous" to facilitate local testing. Before deploying to Azure, change it to "Function" or "System" to require the mcp_extension key.

  • UpdateDraft interprets instructions in Spanish with simple rules (replace/delete/add); ambiguous instructions are appended to the end of the draft instead of being applied surgically. This is a known limitation, not a bug.


Quick Tips

  • ActaWizard returns sessionId, status, nextField, and question.

  • ValidateActa returns complete and missingFields.

  • GenerateDraft creates the draft with draftId and draftMarkdown.

  • UpdateDraft cannot edit an approved draft.

  • GenerateDocx only works if the draft is approved, and returns the file as fileBase64 (decode to obtain the .docx).

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that automates extraction of structured financial data from investment memorandums and generates standardized PowerPoint presentations through a RESTful API.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that converts videos, audio, and meeting recordings into structured transcripts and summaries with multi-backend ASR and automatic fallback.
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    MCP server providing governed access to board meeting data, with tools to query meetings, motions, and documents, automatically applying anonymity policies before returning answers.
    6
    -