Skip to main content
Glama
edkeric

Quote Collection MCP-Server

by edkeric
README.md
# 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

A3.9/5.0

Scored across 6 tools

Disambiguation5/5

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).

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues