personal-meeting
Mein eigenes MCP auf Basis eines Meetingprotokoll-Projekts
Ein pädagogisches lokales MCP-Paket, das unstrukturierte Meeting-Notizen abruft, einen Prompt zur Erstellung von Meetingprotokollen erstellt, den Entwurf validiert und nach Benutzerfreigabe speichert.
Firmenname, Personennamen, Termine, Störungen, Zahlen und Aussagen in diesem Paket sind ausschließlich zu Bildungszwecken erstellte synthetische Daten.
Bildungsziele
Nach Abschluss der Übung können die Teilnehmer Folgendes:
Die Rollen von Host, Server und Tool in MCP erläutern.
Einen lokalen STDIO-MCP-Server mit Python ausführen.
Tools zum Lesen unstrukturierter Daten implementieren und modifizieren.
Schreib-Tools mit Validierungs- und Genehmigungsgrenzen entwerfen.
MCP an das eigene Meetingprotokoll-Format anpassen.
Den Server mit Codex oder Claude Desktop verbinden und die Funktionsweise nachweisen.
Aus Sicht des Harness-Engineerings Tool-Beschreibungen, Schemata, Antworten und Fehler entwerfen.
Related MCP server: Guarded MCP Agent
Enthaltene Inhalte
3 synthetische unstrukturierte Meeting-Notizen mit unterschiedlichen Schwierigkeitsgraden
Funktionierender
FastMCP-Server: 11 Tools, 3 Ressourcen, 1 PromptStandard-Meetingprotokoll-Vorlage
Speicherung auf Basis von Genehmigungstoken und Erkennung von Überschreibungen
Grounding-Prüfer für den Abgleich mit dem Originaltext
5 Übungshefte für Teilnehmer
1 Musterlösung für den Dozenten
Unit-Tests für Domänen-, Grounding- und Harness-Konventionen sowie STDIO-Smoke-Tests
Schnellstart
Erforderliche Umgebung: Python 3.11 oder höher, uv
uv sync --extra dev
uv run pytest -q
uv run python scripts/smoke_stdio.pyUm den MCP Inspector zu verwenden, führen Sie Folgendes aus:
uv run mcp dev src/meeting_mcp/server.pyBereitgestellte Tools
Der empfohlene Ablauf folgt der untenstehenden Reihenfolge, und das Feld next_actions jeder Antwort gibt den nächsten Schritt an.
DISCOVER → READ → GROUND → DRAFT → CHECK → PREVIEW → [사용자 승인] → SAVEDSchritt | Tool | Lesen/Schreiben | Rolle |
DISCOVER |
| Lesen | 3 synthetische Notizen abrufen |
READ |
| Lesen | Originaltext abrufen. Unterstützt Zeilenbereichsangabe und |
GROUND |
| Lesen | Entscheidungskandidaten, Daten und nicht bestätigte Ausdrücke mit Zeilennummern extrahieren |
DRAFT |
| Lesen | Vorlage und Originaltext kombinieren |
CHECK |
| Lesen | Strukturvalidierung. Liefert |
CHECK |
| Lesen | Prüft, ob Personen, Daten und Zahlen im Originaltext vorhanden sind (Beratung, blockiert das Speichern nicht) |
PREVIEW |
| Lesen | Unterschiede zur vorhandenen gespeicherten Version prüfen |
PREVIEW |
| Lesen | Validierung, Grounding und Diff gebündelt anzeigen und Genehmigungstoken ausstellen |
SAVED |
| Schreiben | Speichert nur bei Übereinstimmung des Genehmigungstokens (einziges Schreib-Tool) |
OBSERVE |
| Lesen | Liste der gespeicherten Meetingprotokolle |
OBSERVE |
| Lesen | Speicher-Auditprotokoll abrufen |
Ressourcen und Prompts
Typ | URI oder Name | Rolle |
Resource |
| Originaltext der Meeting-Notiz |
Resource |
| Standard-Meetingprotokoll-Vorlage |
Resource |
| Gespeichertes Meetingprotokoll |
Prompt |
| Meetingprotokoll-Workflow einschließlich Genehmigungsgrenze |
Harness-Design
Dieser Server behandelt nicht nur die Funktionalität, sondern auch die Art und Weise, wie das Modell die Tools verwendet, als Designgegenstand. Weitere Details finden Sie in Übung 5.
Alle Antworten enthalten
stageundnext_actions, sodass das Modell allein anhand der Antwort das nächste Tool auswählt.Fehler werden zusammen mit Ursachencode, Wiederherstellungsmethode und auswählbaren Werten zurückgegeben.
Die Argumentschemata bleiben flach (
{"note_id": "..."}). Wenn Pydantic-Modelle als Argumenttyp verwendet werden, werden sie als{"params": {...}}verschachtelt, wodurch sich die Aufrufstruktur ändert.Da die Rückgabewerte Pydantic-Modelle sind, wird
outputSchemaautomatisch generiert.Nur sichere Prüfungen (Struktur) blockieren das Speichern; heuristische Prüfungen (Grounding) werden nur als Warnung gemeldet.
Alle Tools tragen
readOnlyHint/destructiveHint, um Schreib-Tools zu unterscheiden.
Codex-Verbindung
Führen Sie im Paketstammverzeichnis den folgenden Befehl aus:
codex mcp add personal-meeting -- uv --directory "$PWD" run python src/meeting_mcp/server.py
codex mcp listIn der Codex-App können Sie es auch unter Settings → MCP servers → Add server als STDIO-Server hinzufügen. Gemäß der offiziellen OpenAI-Dokumentation teilen sich die Codex-App, die CLI und die IDE-Erweiterung die MCP-Konfiguration desselben Hosts.
Claude-Desktop-Verbindung
Ersetzen Sie ABSOLUTE_PROJECT_PATH in config/claude_desktop_config.example.json durch den absoluten Pfad dieses Ordners und übernehmen Sie ihn dann in die Claude-Desktop-Einstellungen. Die App muss vollständig beendet und dann neu gestartet werden.
Empfohlene Übungs-Prompts
personal-meeting MCP에서 사용 가능한 더미 회의 메모를 보여주세요.training_design 메모를 읽고, 제공된 회의록 템플릿에 맞춰 초안을 작성하세요.
원문에 없는 담당자와 기한은 추정하지 마세요.incident_review 메모에서 extract_note_facts로 ambiguity_flags를 먼저 확인하고,
확정되지 않은 항목은 전부 '미정'으로 남긴 회의록을 작성하세요.작성한 회의록을 validate_minutes_draft와 check_minutes_grounding으로 검증하고,
통과하면 preview_save_minutes까지만 실행하세요. 저장은 아직 하지 마세요.Reihenfolge der Schulung
Validierungsbefehle
uv run pytest -q
uv run python scripts/smoke_stdio.py
uv run python scripts/validate_package.pyDesignprinzipien
MCP ruft keine separate LLM-API auf.
Codex oder Claude fasst zusammen; MCP übernimmt Daten, Validierung und Speicherung.
Es werden keine Informationen generiert, die nicht im Originaltext bestätigt sind; der Grounding-Prüfer gleicht dies maschinell ab.
Für die endgültige Speicherung sind sowohl das in der Vorschau ausgestellte Genehmigungstoken als auch die ausdrückliche Freigabe des Benutzers erforderlich.
Das Genehmigungstoken ist ein Hash aus (note_id, Text), sodass der genehmigte Inhalt und der gespeicherte Inhalt nicht voneinander abweichen können.
Domänenlogik (
core,grounding) und Tool-Konventionen (server,harness) werden getrennt.In der tatsächlichen Schulung werden keine kunden-, mitarbeiter- oder vertragsbezogenen Daten verwendet.
Referenzen
Referenz-Repository: https://github.com/kyopark2014/mcp
Offizielle Codex-MCP-Dokumentation: https://developers.openai.com/codex/mcp
MCP-Python-SDK: https://github.com/modelcontextprotocol/python-sdk
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables efficient analysis of recorded meetings by transcribing audio, extracting only non-people frames (e.g., slides), and associating them with timestamps for compact LLM input.MIT
- FlicenseNot gradedqualityCmaintenanceEnables note management (create, read, update, delete) with a policy engine for blocking tools, human approval, and prompt injection detection.
- FlicenseDqualityCmaintenanceEnables extracting action items from meeting transcripts and managing them in Notion, with duplicate detection and human review.3
- FlicenseAqualityBmaintenanceTranscribes meeting recordings with speaker diarization and automatic speaker identification, leveraging project context to generate minutes. Supports various ASR engines and offers privacy-preserving local processing.14
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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