Steuert den AIMP Music Player über das Model Context Protocol (MCP). Basiert auf pyaimp (Windows Remote API via Win32 Messages).
AIMP server has 19 tools with basic naming and descriptions, but significant gaps in schema completeness and parameter documentation. All tools have descriptions (good), but most lack detailed parameter constraints, enums, and output schema documentation. No error handling guidance, no tool annotations (readOnlyHint/destructiveHint), and no pagination support for search results. Naming is mostly verb-noun (get_, set_, play_, etc.) but some tools like 'search_music' lack parameter type constraints and validation rules. Output schemas are not documented, LLMs cannot predict response structure. This is typical community-server quality: functional but not production-ready.
Fügt eine Audiodatei zur aktuellen Playlist hinzu.
Löscht alle Tracks aus der aktuellen Playlist.
Gibt Informationen zum aktuell spielenden Track zurück (Titel, Künstler, Album, Genre, Jahr, Dateiname, Dauer, Position).
Gibt den aktuellen Wiedergabe-Status zurück: 'playing', 'paused' oder 'stopped'.
Gibt die aktuelle Playlist mit allen Tracks zurück.
Gibt die aktuelle Lautstärke in Prozent zurück.
Springt zu einem bestimmten Track in der Playlist nach Index.
Lädt eine M3U-Playlist-Datei.
Output schemas not documented. Tools like get_current_track, get_playback_state, get_playlist, get_volume return structured data but LLMs cannot predict field names, types, or presence. This forces agents to guess response structure and wastes tokens on error recovery.
search_music lacks pagination (limit, offset, next_cursor) and result count. MAX_SEARCH_RESULTS=50 is hardcoded but not exposed to LLM. Large result sets will blow context window without pagination support.
No error handling guidance. Tools like play_file, load_playlist, search_music can fail (file not found, invalid path, no results) but descriptions do not explain what to do next. LLMs receive raw exceptions with no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Springt zum nächsten Track.
Pausiert die Wiedergabe.
Startet die Wiedergabe.
Spielt eine Audiodatei ab (Pfad muss absolut sein).
Springt zum vorherigen Track.
Entfernt einen Track aus der aktuellen Playlist nach Index.
Speichert die aktuelle Playlist als M3U-Datei.
Durchsucht die konfigurierten Musikordner nach Audiodateien. Nutzt ID3-Tags (via mutagen) wenn verfügbar, sonst Dateiname/Ordnerstruktur. Jahr und Genre werden nur aus Tags gelesen (mutagen erforderlich).
Springt zu einer bestimmten Position im aktuellen Track (in Millisekunden).
Setzt die Lautstärke auf einen Wert zwischen 0 und 100 Prozent.
Stoppt die Wiedergabe.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Destructive tools like clear_playlist lack explicit marking. LLMs cannot distinguish safe reads from dangerous writes without annotations.
Parameter constraints missing. set_volume accepts 0-100 but no min/max in schema. search_music parameters (title, artist, album, year, genre, query) are all optional strings with no format, length, or enum constraints. LLMs can pass invalid values.