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 de aprendizaje

Al finalizar la práctica, el alumno será capaz de:

  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: Local Knowledge Desk

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 cuadernos de prácticas para el alumno

  • 1 ejemplo de solución para el instructor

  • Pruebas unitarias de dominio, grounding y protocolo de arneses, además de una prueba 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 de las 3 notas sintéticas

READ

read_meeting_note

Lectura

Consulta del texto original. Admite rango de líneas y anclas 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 están en el texto original (consultivo, 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 del 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}

Actas guardadas

Prompt

write_minutes

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

Diseño del arnés

Este servidor no solo considera la funcionalidad, sino también la forma en que el modelo utiliza las herramientas como objeto de diseño. 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 concluyentes (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

Desde la raíz del paquete, ejecute el siguiente comando:

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

Sustituya 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 del 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 ninguna API LLM independiente.

  • 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) del protocolo 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

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.

  • MCP-native collaborative markdown editor with real-time AI document editing

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/minsik102/fileanalyzer_mcp_testmode'

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