Quote Collection MCP-Server
# MCP Project
## Quote Collection MCP-Server
In diesem Projekt entwickelst du einen MCP-Server für eine persönliche Zitate-Sammlung. Der Server soll es ermöglichen, inspirierende Zitate zu sammeln, zu kategorisieren und gezielt oder zufällig wiederzufinden.
Rahmenbedingungen:
- AI-First: Nutze den AI-First Ansatz und verwende AI-Tools aktiv zur Unterstützung in allen Phasen der Entwicklung.
- Persistierung: Die Daten müssen in einer JSON-Datei gespeichert werden.
- Sprachwahl: Die Implementierungssprache ist frei wählbar.
- Technische Robustheit: Die Suche muss case-insensitive funktionieren und der Server muss Fehler robust behandeln.
**Steps:**
1. Planung und Konzeption: Beginne mit der Auswahl einer geeigneten Implementierungssprache und entscheide dich für die Architektur des MCP-Servers.
- Datenstruktur: Definiere die JSON-Datenstruktur für die Persistierung der Zitate.
2. Datenmodell und Grundfunktionen: Erstelle das Datenmodell und implementiere die Basisfunktionen für die Speicherverwaltung.
- Datenmodell: Ein Zitat muss folgende Felder enthalten:
* Eindeutige ID
* Text des Zitats
* Erstellungsdatum
* Tags: Autoren-Tag (wer hat es gesagt), Themen-Tag (z. B. "Motivation", "Liebe") und Sprachen-Tag (z. B. "deutsch", "englisch").
- Speicherung: Implementiere die Funktion, um einzelne Zitate zu speichern.
- Batch-Import: Ermögliche den Import mehrerer Zitate auf einmal.
Beispiel für das Datenformat:
{
"text": "Be yourself; everyone else is already taken.",
"autor_tag": "Oscar Wilde",
"themen_tag": "Authentizität",
"sprachen_tag": "englisch"
}
3. Suchfunktionen und Logik: Entwickle die Logik für das Wiederfinden und Verwalten der Zitate.
- Suche: Implementiere eine Suchfunktion, die Zitate anhand aller drei Tag-Typen oder dem Text selbst findet (case-insensitive).
- Zufalls-Zitat: Erstelle eine Funktion, die ein zufälliges Zitat zurückgibt. Diese soll optional nach bestimmten Tags gefiltert werden können.
- Löschen: Implementiere die Möglichkeit, Zitate wieder zu entfernen.
4. MCP-Server Integration: Integriere deine Logik in das MCP-Framework, um den Server nutzbar zu machen.
- Integration: Verbinde die implementierten Funktionen (Tools) mit der MCP-Schnittstelle.
- Test: Teste die Funktionalität und die Robustheit des Servers mit Claude oder einem entsprechenden MCP-Client.
## Abgabe
Pushe deine Lösung in dieses Repository und warte auf Feedback im Feedback PR.
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: adding, importing, searching, random selection, deletion, and listing. No two tools overlap in functionality; search and random both filter but serve different intents (finding specific vs. retrieving a random quote).
All tool names follow a consistent verb_noun pattern using snake_caseadd_quote, import_quotes, search_quotes, random_quote, delete_quote, list_quotes). The pattern is uniform and predictable.
Six tools is well within the ideal 3-15 range for a focused domain like a quote collection. Each tool serves a necessary function without redundancy or bloat.
The set covers create (add, import), read (list, search, random), and delete, but lacks an update operation for editing existing quotes. This is a minor gap since quotes are typically static, but an update tool would complete the CRUD lifecycle.