UNPKG

@withpica/mcp-server

Version:

MCP Server for withPICA — enables AI assistants to interact with your withPICA music catalog

39 lines • 2.31 kB
/** * Work Themes Tools: the topics a song is about, from its owner (founder * decisions 2026-10-07, docs/follow-ups/2026-10-07-directory-lyric-theme- * search-scope.md and its amendment). * * PICA runs no AI on lyrics. The owner's own assistant reads the owner's * lyrics and audio facts, PROPOSES up to five topics from a fixed list (and * moods for the song's recordings), and the owner approves. Nothing is public * until approved; approved topics show in the public directory only on songs * that are listed and have topics switched on. * * - pica_topics_untagged: listed songs with lyrics but no topic yet * - pica_topics_inspect: one song's topics, proposals and settings * - pica_topics_propose: propose topics/moods (private until review) * - pica_topics_review: approve, reject, set directly, switch off * * All four call the routes the song page uses (/api/admin/works/[id]/themes, * /themes/proposals, /api/admin/directory/themes/untagged), so the same * owner-only and vocabulary rules apply. */ import { PicaClient } from "@withpica/mcp-sdk"; import { ToolDefinition, ToolExecutor } from "./index.js"; /** Mirrors lib/services/directory/themes.ts THEME_VOCABULARY (parity test). */ export declare const THEME_VOCABULARY: readonly ["love", "heartbreak", "longing", "desire", "friendship", "family", "home", "nostalgia", "loss", "loneliness", "hope", "faith", "worship", "gratitude", "joy", "celebration", "freedom", "empowerment", "resilience", "struggle", "rebellion", "identity", "ambition", "money", "peace", "nature", "night", "city", "travel", "summer"]; /** Mirrors lib/services/mood-derivation.ts MOOD_VOCABULARY (parity test). */ export declare const MOOD_VOCABULARY: readonly ["aggressive", "ambient", "calm", "contemplative", "dark", "dramatic", "dreamy", "energetic", "epic", "ethereal", "hopeful", "intense", "melancholic", "nostalgic", "passionate", "playful", "romantic", "sad", "tender", "tense", "triumphant", "uplifting", "warm"]; export declare class WorkThemesTools { private pica; constructor(pica: PicaClient); getTools(): Array<{ definition: ToolDefinition; executor: ToolExecutor; }>; private untagged; private inspect; private propose; private review; } //# sourceMappingURL=work-themes.d.ts.map