Skip to main content
Glama

MCP 서버 — 회의록

Empresa S.A. | 내부 및 기밀

Azure Functions Python 기반으로 구축된 MCP 서버입니다. 회의록 캡처, 검증, 초안 생성, 편집, 승인 및 최종 Word 변환의 전체 흐름을 관리하는 MCP 도구를 제공합니다.


사용 가능한 도구

도구

설명

ActaWizard

세션 생성, 데이터 캡처, 응답 저장 및 다음 질문 관리를 처리합니다.

ValidateActa

회의록의 필수 필드가 모두 입력되었는지 검증합니다.

GenerateDraft

캡처된 데이터를 사용하여 Markdown 형식의 회의록 초안을 생성합니다.

UpdateDraft

승인 전 초안을 수정할 수 있습니다.

ApproveDraft

초안의 공식 승인을 등록합니다.

GenerateDocx

승인된 초안을 Word 문서로 변환합니다 (base64로 반환).

업무 흐름

ActaWizard → ValidateActa → GenerateDraft → 초안 표시 → UpdateDraft (0회 이상) → ApproveDraft → GenerateDocx


Related MCP server: office-mcp-server

사전 요구 사항

  • Python 3.10+ (3.12 권장)

  • Azure Functions Core Tools v4

  • Azurite (Storage 에뮬레이터 — 로컬에서도 필요하며, MCP 확장이 SSE 전송에 사용합니다)

  • azure-functions>=1.24.0 (이전 버전에서는 mcp_tool_trigger가 작동하지 않습니다)


1. 종속성 설치

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

2. 테스트 실행 (서버 실행 불필요)

tests/test_tools.py의 테스트는 Azure Functions 런타임이나 Azurite를 거치지 않고 각 도구의 로직을 직접 호출합니다. 비즈니스 로직이 올바르게 작동하는지 확인하는 가장 빠른 방법입니다:

pytest -v

세션 생성, DOCX 생성까지의 전체 흐름, 필드 누락 시 검증, 승인된 초안 편집 불가 등을 다루는 5개의 테스트가 통과해야 합니다.

3. 실제 MCP 서버 실행

# 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

MCP 서버는 다음 주소에서 웹훅을 노출합니다:

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

4. 엔드투엔드 도구 테스트

두 가지 방법이 있습니다:

a) MCP Inspector (권장, 실제 프로토콜 사용):

npx @modelcontextprotocol/inspector

http://localhost:7071/runtime/webhooks/mcp/sse에 연결하여 도구를 나열하고 하나씩 호출하며 JSON 응답을 확인합니다.

b) Postman: tests/Actas_MCP_Postman.json을 가져와 요청을 순서대로 실행합니다(01~07). 처음 두 요청은 session_id와 draft_id를 컬렉션 변수로 자동 저장하여 이후 요청에서 사용합니다.


중요 참고 사항

  • local.settings.json은 .gitignore에 있습니다. 자격 증명을 리포지토리에 업로드하지 마십시오.

  • 상태(세션, 초안)는 프로젝트와 함께 .data/*.json에 저장됩니다. 로컬 개발에는 충분하지만 프로덕션에는 적합하지 않습니다: Azure Functions에서 로컬 파일 시스템은 영구적이지 않으며 인스턴스 간에 공유되지 않습니다. 둘 이상의 인스턴스로 배포하기 전에 tools/storage.py를 Azure Table Storage, Cosmos DB 또는 Blob Storage로 교체하십시오.

  • host.json은 로컬 테스트를 용이하게 하기 위해 system.webhookAuthorizationLevel: "Anonymous"로 설정되어 있습니다. Azure에 배포하기 전에 "Function" 또는 "System"으로 변경하여 mcp_extension 키를 요구하십시오.

  • UpdateDraft는 간단한 규칙(교체/삭제/추가)으로 스페인어 지침을 해석합니다. 모호한 지침은 정확하게 적용되지 않고 초안 끝에 추가됩니다. 알려진 제한 사항이며 버그가 아닙니다.


빠른 팁

  • ActaWizard는 sessionId, status, nextField 및 question을 반환합니다.

  • ValidateActa는 complete와 missingFields를 반환합니다.

  • GenerateDraft는 draftId와 draftMarkdown으로 초안을 생성합니다.

  • UpdateDraft는 승인된 초안을 편집할 수 없습니다.

  • GenerateDocx는 초안이 승인된 경우에만 작동하며, 파일을 fileBase64로 반환합니다 (디코딩하여 .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
    -