Skip to main content
Glama

Mi propio MCP basado en un proyecto de generación de actas de reunión

Paquete MCP local educativo que consulta notas de reunión no estructuradas, crea un prompt para redactar actas, valida el borrador y lo guarda tras la aprobación del usuario.

Los nombres de empresas, personas, fechas, incidencias, cifras y declaraciones de este paquete son datos sintéticos creados con fines educativos.

Objetivos educativos

Al finalizar la práctica, el alumno podrá:

  1. Explicar los roles de Host, Server y Tool en MCP.

  2. Ejecutar un servidor MCP STDIO local con Python.

  3. Implementar y modificar una Tool que lea datos no estructurados.

  4. Diseñar una Tool de escritura con límites de validación y aprobación.

  5. Personalizar el MCP con su propio formato de actas de reunión.

  6. Conectar el servidor a Codex o Claude Desktop y demostrar su funcionamiento.

  7. Diseñar descripciones de herramientas, esquemas, respuestas y errores desde la perspectiva de la ingeniería de arneses (harness engineering).

Related MCP server: Guarded MCP Agent

Contenido incluido

  • 3 notas de reunión sintéticas no estructuradas por nivel de dificultad

  • Servidor FastMCP funcional: 11 herramientas, 3 recursos, 1 prompt

  • Plantilla estándar de actas de reunión

  • Guardado basado en token de aprobación y detección de sobrescritura

  • Verificador de contraste con el texto original (grounding)

  • 5 guías de práctica para el alumno

  • 1 ejemplo de solución para el instructor

  • Pruebas unitarias de dominio, grounding y convenciones de arnés, además de pruebas de humo STDIO

Inicio rápido

Entorno requerido: Python 3.11 o superior, uv

uv sync --extra dev
uv run pytest -q
uv run python scripts/smoke_stdio.py

Para usar MCP Inspector, ejecute lo siguiente:

uv run mcp dev src/meeting_mcp/server.py

Herramientas proporcionadas

El flujo recomendado sigue el orden siguiente, y el campo next_actions de cada respuesta indica el siguiente paso.

DISCOVER → READ → GROUND → DRAFT → CHECK → PREVIEW → [사용자 승인] → SAVED

Etapa

Tool

Lectura/escritura

Función

DISCOVER

list_dummy_notes

lectura

Consulta las 3 notas sintéticas

READ

read_meeting_note

lectura

Consulta el texto original. Admite rango de líneas y ancla de cita L14

GROUND

extract_note_facts

lectura

Extrae candidatos a decisión, fechas y expresiones no confirmadas con número de línea

DRAFT

build_minutes_prompt

lectura

Combina la plantilla y el texto original

CHECK

validate_minutes_draft

lectura

Validación estructural. Proporciona rule_id·severity·line·fix (puerta de guardado)

CHECK

check_minutes_grounding

lectura

Contrasta si personas, fechas y cifras existen en el texto original (asesoramiento, no bloquea el guardado)

PREVIEW

diff_minutes_against_saved

lectura

Comprueba la diferencia con la versión guardada existente

PREVIEW

preview_save_minutes

lectura

Muestra validación, grounding y diff juntos y emite el token de aprobación

SAVED

save_approved_minutes

escritura

Guarda solo si el token de aprobación coincide (única herramienta de escritura)

OBSERVE

list_saved_minutes

lectura

Lista de actas guardadas

OBSERVE

read_minutes_audit_log

lectura

Consulta el registro de auditoría de guardado

Recursos y prompts

Tipo

URI o nombre

Función

Resource

note://{note_id}

Texto original de la nota de reunión

Resource

template://minutes

Plantilla estándar de actas

Resource

minutes://{note_id}

Acta guardada

Prompt

write_minutes

Flujo de redacción de actas que incluye el límite de aprobación

Diseño del arnés

Este servidor considera como objeto de diseño no solo la funcionalidad, sino también la forma en que el modelo utiliza las herramientas. Los detalles se encuentran en la Práctica 5.

  • Todas las respuestas incluyen stage y next_actions, de modo que el modelo elige la siguiente herramienta con solo ver la respuesta.

  • Los errores devuelven el código de causa, el método de recuperación y los valores seleccionables.

  • El esquema de argumentos se mantiene plano ({"note_id": "..."}). Si se usa un modelo Pydantic como tipo de argumento, se anida como {"params": {...}} y cambia la forma de la llamada.

  • El valor de retorno es un modelo Pydantic, por lo que outputSchema se genera automáticamente.

  • Solo las comprobaciones definitivas (estructurales) bloquean el guardado; las comprobaciones heurísticas (grounding) solo se notifican como advertencia.

  • Todas las herramientas llevan readOnlyHint / destructiveHint para distinguir las herramientas de escritura.

Conexión con Codex

Ejecute el siguiente comando en la raíz del paquete.

codex mcp add personal-meeting -- uv --directory "$PWD" run python src/meeting_mcp/server.py
codex mcp list

En la aplicación Codex también se puede añadir como servidor STDIO en Settings → MCP servers → Add server. Según la documentación oficial de OpenAI, la aplicación Codex, la CLI y la extensión del IDE comparten la configuración MCP del mismo host.

Conexión con Claude Desktop

Reemplace ABSOLUTE_PROJECT_PATH en config/claude_desktop_config.example.json por la ruta absoluta de esta carpeta y aplíquelo en la configuración de Claude Desktop. Debe cerrar la aplicación por completo y volver a abrirla.

Prompts recomendados para la práctica

personal-meeting MCP에서 사용 가능한 더미 회의 메모를 보여주세요.
training_design 메모를 읽고, 제공된 회의록 템플릿에 맞춰 초안을 작성하세요.
원문에 없는 담당자와 기한은 추정하지 마세요.
incident_review 메모에서 extract_note_facts로 ambiguity_flags를 먼저 확인하고,
확정되지 않은 항목은 전부 '미정'으로 남긴 회의록을 작성하세요.
작성한 회의록을 validate_minutes_draft와 check_minutes_grounding으로 검증하고,
통과하면 preview_save_minutes까지만 실행하세요. 저장은 아직 하지 마세요.

Orden de la formación

  1. START_HERE.md

  2. Práctica 1: Datos y herramientas

  3. Práctica 2: Prompt de actas

  4. Práctica 3: Validación y aprobación

  5. Práctica 4: Conexión de cliente

  6. Práctica 5: Ingeniería de arneses

Comandos de verificación

uv run pytest -q
uv run python scripts/smoke_stdio.py
uv run python scripts/validate_package.py

Principios de diseño

  • MCP no realiza llamadas a APIs de LLM independientes.

  • Codex o Claude se encargan de resumir; MCP se encarga de los datos, la validación y el guardado.

  • No se genera información no confirmada en el texto original; el verificador de grounding la contrasta mecánicamente.

  • El guardado final requiere tanto el token de aprobación emitido en la vista previa como la aprobación explícita del usuario.

  • El token de aprobación es un hash de (note_id, contenido), por lo que el contenido aprobado y el guardado no pueden diferir.

  • Se separa la lógica de dominio (core, grounding) de las convenciones de herramientas (server, harness).

  • En la formación real no se utilizan datos de clientes, empleados ni contratos.

Referencias

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Certified SEC EDGAR fact memory for AI agents with zero hallucination and filing provenance.

  • Shared, permission-aware company context for AI agents, with provenance, approvals and audit.

  • Search recordings, summarize meetings, create clips, and automate workflows from your AI assistant.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saewookkangboy/personal-meeting-mcp-training'

If you have feedback or need assistance with the MCP directory API, please join our Discord server