@thelord/mcp-arr 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Bazarr MCP Tool Handlers
3
+ *
4
+ * Handles execution of Bazarr MCP tools.
5
+ */
6
+ export async function handleBazarrTool(client, toolName, args) {
7
+ switch (toolName) {
8
+ // Status & System
9
+ case "bazarr_get_status": {
10
+ const status = await client.getStatus();
11
+ return JSON.stringify({
12
+ bazarr_version: status.bazarr_version,
13
+ sonarr_version: status.sonarr_version || "Not connected",
14
+ radarr_version: status.radarr_version || "Not connected",
15
+ operating_system: status.operating_system,
16
+ python_version: status.python_version,
17
+ timezone: status.timezone,
18
+ uptime_since: new Date(status.start_time * 1000).toISOString(),
19
+ }, null, 2);
20
+ }
21
+ case "bazarr_get_badges": {
22
+ const badges = await client.getBadges();
23
+ return JSON.stringify({
24
+ missing_episode_subtitles: badges.episodes,
25
+ missing_movie_subtitles: badges.movies,
26
+ provider_issues: badges.providers,
27
+ health_issues: badges.status,
28
+ sonarr_connection: badges.sonarr_signalr || "Disconnected",
29
+ radarr_connection: badges.radarr_signalr || "Disconnected",
30
+ announcements: badges.announcements,
31
+ }, null, 2);
32
+ }
33
+ case "bazarr_get_health": {
34
+ const health = await client.getHealth();
35
+ if (health.length === 0) {
36
+ return JSON.stringify({ status: "healthy", issues: [] }, null, 2);
37
+ }
38
+ return JSON.stringify({ status: "issues_found", issues: health }, null, 2);
39
+ }
40
+ case "bazarr_get_languages": {
41
+ const enabledOnly = args.enabledOnly !== false;
42
+ const languages = enabledOnly
43
+ ? await client.getEnabledLanguages()
44
+ : await client.getLanguages();
45
+ return JSON.stringify({
46
+ count: languages.length,
47
+ languages: languages.map(lang => ({
48
+ name: lang.name,
49
+ code2: lang.code2,
50
+ code3: lang.code3,
51
+ enabled: lang.enabled,
52
+ })),
53
+ }, null, 2);
54
+ }
55
+ case "bazarr_get_tasks": {
56
+ const tasks = await client.getTasks();
57
+ return JSON.stringify({
58
+ tasks: tasks.map(task => ({
59
+ id: task.job_id,
60
+ name: task.name,
61
+ interval: task.interval,
62
+ next_run: task.next_run_in,
63
+ running: task.job_running,
64
+ })),
65
+ }, null, 2);
66
+ }
67
+ case "bazarr_run_task": {
68
+ const taskId = args.taskId;
69
+ await client.runTask(taskId);
70
+ return JSON.stringify({ success: true, message: `Task '${taskId}' has been triggered` }, null, 2);
71
+ }
72
+ // Series (TV Shows)
73
+ case "bazarr_get_series": {
74
+ const series = await client.getSeries();
75
+ return JSON.stringify({
76
+ count: series.length,
77
+ series: series.map(s => ({
78
+ id: s.sonarrSeriesId,
79
+ title: s.title,
80
+ year: s.year,
81
+ type: s.seriesType,
82
+ monitored: s.monitored,
83
+ ended: s.ended,
84
+ episode_count: s.episodeFileCount,
85
+ missing_subtitles: s.episodeMissingCount,
86
+ path: s.path,
87
+ })),
88
+ }, null, 2);
89
+ }
90
+ case "bazarr_get_series_details": {
91
+ const seriesId = args.seriesId;
92
+ const series = await client.getSeriesById(seriesId);
93
+ const episodes = await client.getEpisodes(seriesId);
94
+ const missingEpisodes = episodes.filter(e => e.missing_subtitles.length > 0);
95
+ return JSON.stringify({
96
+ id: series.sonarrSeriesId,
97
+ title: series.title,
98
+ year: series.year,
99
+ type: series.seriesType,
100
+ overview: series.overview,
101
+ monitored: series.monitored,
102
+ ended: series.ended,
103
+ path: series.path,
104
+ imdb: series.imdbId,
105
+ tvdb: series.tvdbId,
106
+ episode_count: series.episodeFileCount,
107
+ missing_subtitle_count: series.episodeMissingCount,
108
+ episodes_with_missing_subtitles: missingEpisodes.map(e => ({
109
+ season: e.season,
110
+ episode: e.episode,
111
+ title: e.title,
112
+ missing_languages: e.missing_subtitles.map(s => s.name),
113
+ })),
114
+ }, null, 2);
115
+ }
116
+ case "bazarr_get_episodes": {
117
+ const seriesId = args.seriesId;
118
+ const episodes = await client.getEpisodes(seriesId);
119
+ return JSON.stringify({
120
+ count: episodes.length,
121
+ episodes: episodes.map(e => ({
122
+ id: e.sonarrEpisodeId,
123
+ season: e.season,
124
+ episode: e.episode,
125
+ title: e.title,
126
+ monitored: e.monitored,
127
+ subtitles: e.subtitles.map(s => ({
128
+ language: s.name,
129
+ forced: s.forced,
130
+ hi: s.hi,
131
+ })),
132
+ missing_subtitles: e.missing_subtitles.map(s => ({
133
+ language: s.name,
134
+ forced: s.forced,
135
+ hi: s.hi,
136
+ })),
137
+ audio_languages: e.audio_language.map(a => a.name),
138
+ })),
139
+ }, null, 2);
140
+ }
141
+ case "bazarr_get_wanted_episodes": {
142
+ const page = args.page || 1;
143
+ const pageSize = args.pageSize || 50;
144
+ const result = await client.getWantedEpisodes(page, pageSize);
145
+ return JSON.stringify({
146
+ total: result.total,
147
+ page,
148
+ pageSize,
149
+ episodes: result.data.map(e => ({
150
+ series_id: e.sonarrSeriesId,
151
+ episode_id: e.sonarrEpisodeId,
152
+ series_title: e.seriesTitle,
153
+ episode_number: e.episode_number,
154
+ episode_title: e.episodeTitle,
155
+ type: e.seriesType,
156
+ missing_languages: e.missing_subtitles.map(s => s.name),
157
+ })),
158
+ }, null, 2);
159
+ }
160
+ case "bazarr_search_episode_subtitles": {
161
+ const episodeId = args.episodeId;
162
+ const language = args.language;
163
+ const results = await client.searchEpisodeSubtitles(episodeId, language);
164
+ return JSON.stringify({
165
+ count: results.length,
166
+ results: results.map(r => ({
167
+ provider: r.provider,
168
+ language: r.language.name,
169
+ release: r.release_info,
170
+ score: r.score,
171
+ uploader: r.uploader,
172
+ hearing_impaired: r.hearing_impaired,
173
+ forced: r.forced,
174
+ subtitle_id: r.subtitle,
175
+ })),
176
+ }, null, 2);
177
+ }
178
+ case "bazarr_download_episode_subtitle": {
179
+ const episodeId = args.episodeId;
180
+ const provider = args.provider;
181
+ const subtitle = args.subtitle;
182
+ const language = args.language;
183
+ const forced = args.forced || false;
184
+ const hi = args.hi || false;
185
+ await client.downloadEpisodeSubtitle(episodeId, provider, subtitle, language, forced, hi);
186
+ return JSON.stringify({
187
+ success: true,
188
+ message: `Subtitle download initiated for episode ${episodeId}`,
189
+ language,
190
+ provider,
191
+ }, null, 2);
192
+ }
193
+ case "bazarr_search_missing_episode_subtitles": {
194
+ const seriesId = args.seriesId;
195
+ await client.searchMissingEpisodeSubtitles(seriesId);
196
+ const message = seriesId
197
+ ? `Search triggered for missing subtitles in series ${seriesId}`
198
+ : "Search triggered for all missing episode subtitles";
199
+ return JSON.stringify({ success: true, message }, null, 2);
200
+ }
201
+ // Movies
202
+ case "bazarr_get_movies": {
203
+ const movies = await client.getMovies();
204
+ return JSON.stringify({
205
+ count: movies.length,
206
+ movies: movies.map(m => ({
207
+ id: m.radarrId,
208
+ title: m.title,
209
+ year: m.year,
210
+ monitored: m.monitored,
211
+ has_subtitles: m.subtitles.length > 0,
212
+ subtitle_languages: m.subtitles.map(s => s.name),
213
+ missing_languages: m.missing_subtitles.map(s => s.name),
214
+ path: m.path,
215
+ })),
216
+ }, null, 2);
217
+ }
218
+ case "bazarr_get_movie_details": {
219
+ const movieId = args.movieId;
220
+ const movie = await client.getMovieById(movieId);
221
+ return JSON.stringify({
222
+ id: movie.radarrId,
223
+ title: movie.title,
224
+ year: movie.year,
225
+ overview: movie.overview,
226
+ monitored: movie.monitored,
227
+ path: movie.path,
228
+ imdb: movie.imdbId,
229
+ tmdb: movie.tmdbId,
230
+ audio_languages: movie.audio_language,
231
+ subtitles: movie.subtitles.map(s => ({
232
+ language: s.name,
233
+ path: s.path,
234
+ forced: s.forced,
235
+ hi: s.hi,
236
+ size: s.file_size,
237
+ })),
238
+ missing_subtitles: movie.missing_subtitles.map(s => ({
239
+ language: s.name,
240
+ forced: s.forced,
241
+ hi: s.hi,
242
+ })),
243
+ }, null, 2);
244
+ }
245
+ case "bazarr_get_wanted_movies": {
246
+ const page = args.page || 1;
247
+ const pageSize = args.pageSize || 50;
248
+ const result = await client.getWantedMovies(page, pageSize);
249
+ return JSON.stringify({
250
+ total: result.total,
251
+ page,
252
+ pageSize,
253
+ movies: result.data.map(m => ({
254
+ id: m.radarrId,
255
+ title: m.title,
256
+ missing_languages: m.missing_subtitles.map(s => s.name),
257
+ })),
258
+ }, null, 2);
259
+ }
260
+ case "bazarr_search_movie_subtitles": {
261
+ const movieId = args.movieId;
262
+ const language = args.language;
263
+ const results = await client.searchMovieSubtitles(movieId, language);
264
+ return JSON.stringify({
265
+ count: results.length,
266
+ results: results.map(r => ({
267
+ provider: r.provider,
268
+ language: r.language.name,
269
+ release: r.release_info,
270
+ score: r.score,
271
+ uploader: r.uploader,
272
+ hearing_impaired: r.hearing_impaired,
273
+ forced: r.forced,
274
+ subtitle_id: r.subtitle,
275
+ })),
276
+ }, null, 2);
277
+ }
278
+ case "bazarr_download_movie_subtitle": {
279
+ const movieId = args.movieId;
280
+ const provider = args.provider;
281
+ const subtitle = args.subtitle;
282
+ const language = args.language;
283
+ const forced = args.forced || false;
284
+ const hi = args.hi || false;
285
+ await client.downloadMovieSubtitle(movieId, provider, subtitle, language, forced, hi);
286
+ return JSON.stringify({
287
+ success: true,
288
+ message: `Subtitle download initiated for movie ${movieId}`,
289
+ language,
290
+ provider,
291
+ }, null, 2);
292
+ }
293
+ case "bazarr_search_missing_movie_subtitles": {
294
+ const movieId = args.movieId;
295
+ await client.searchMissingMovieSubtitles(movieId);
296
+ const message = movieId
297
+ ? `Search triggered for missing subtitles in movie ${movieId}`
298
+ : "Search triggered for all missing movie subtitles";
299
+ return JSON.stringify({ success: true, message }, null, 2);
300
+ }
301
+ // History
302
+ case "bazarr_get_series_history": {
303
+ const page = args.page || 1;
304
+ const pageSize = args.pageSize || 50;
305
+ const result = await client.getSeriesHistory(page, pageSize);
306
+ return JSON.stringify({
307
+ total: result.total,
308
+ page,
309
+ pageSize,
310
+ history: result.data.map(h => ({
311
+ series: h.seriesTitle,
312
+ episode: h.episode_number,
313
+ episode_title: h.episodeTitle,
314
+ language: h.language?.name,
315
+ provider: h.provider,
316
+ action: h.action,
317
+ description: h.description,
318
+ timestamp: h.timestamp,
319
+ score: h.score,
320
+ })),
321
+ }, null, 2);
322
+ }
323
+ case "bazarr_get_movie_history": {
324
+ const page = args.page || 1;
325
+ const pageSize = args.pageSize || 50;
326
+ const result = await client.getMovieHistory(page, pageSize);
327
+ return JSON.stringify({
328
+ total: result.total,
329
+ page,
330
+ pageSize,
331
+ history: result.data.map(h => ({
332
+ movie: h.title,
333
+ language: h.language?.name,
334
+ provider: h.provider,
335
+ action: h.action,
336
+ description: h.description,
337
+ timestamp: h.timestamp,
338
+ score: h.score,
339
+ })),
340
+ }, null, 2);
341
+ }
342
+ // Sync
343
+ case "bazarr_sync_series": {
344
+ await client.syncSeries();
345
+ return JSON.stringify({ success: true, message: "Series sync with Sonarr triggered" }, null, 2);
346
+ }
347
+ case "bazarr_sync_movies": {
348
+ await client.syncMovies();
349
+ return JSON.stringify({ success: true, message: "Movies sync with Radarr triggered" }, null, 2);
350
+ }
351
+ default:
352
+ throw new Error(`Unknown Bazarr tool: ${toolName}`);
353
+ }
354
+ }
355
+ //# sourceMappingURL=bazarr-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bazarr-handlers.js","sourceRoot":"","sources":["../src/bazarr-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Bazarr MCP Tool Definitions
3
+ *
4
+ * Defines all the MCP tools available for Bazarr subtitle management.
5
+ */
6
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
7
+ export declare const bazarrTools: Tool[];
8
+ //# sourceMappingURL=bazarr-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bazarr-tools.d.ts","sourceRoot":"","sources":["../src/bazarr-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,IAAI,EAoW7B,CAAC"}