rewind-mcp-server 0.9.0 → 0.11.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.
Files changed (94) hide show
  1. package/dist/__tests__/helpers/build-client.d.ts +2 -0
  2. package/dist/__tests__/helpers/build-client.js +24 -0
  3. package/dist/__tests__/helpers/build-client.js.map +1 -0
  4. package/dist/__tests__/helpers.test.js +11 -0
  5. package/dist/__tests__/helpers.test.js.map +1 -1
  6. package/dist/__tests__/image-block.live.js +1 -1
  7. package/dist/__tests__/image-block.live.js.map +1 -1
  8. package/dist/__tests__/manifest-snapshot.test.js +1 -0
  9. package/dist/__tests__/manifest-snapshot.test.js.map +1 -1
  10. package/dist/__tests__/output-schema-attending.test.d.ts +1 -0
  11. package/dist/__tests__/output-schema-attending.test.js +353 -0
  12. package/dist/__tests__/output-schema-attending.test.js.map +1 -0
  13. package/dist/__tests__/output-schema-collecting.test.d.ts +1 -0
  14. package/dist/__tests__/output-schema-collecting.test.js +155 -0
  15. package/dist/__tests__/output-schema-collecting.test.js.map +1 -0
  16. package/dist/__tests__/output-schema-cross-domain.test.d.ts +1 -0
  17. package/dist/__tests__/output-schema-cross-domain.test.js +142 -0
  18. package/dist/__tests__/output-schema-cross-domain.test.js.map +1 -0
  19. package/dist/__tests__/output-schema-listening.test.d.ts +1 -0
  20. package/dist/__tests__/output-schema-listening.test.js +235 -0
  21. package/dist/__tests__/output-schema-listening.test.js.map +1 -0
  22. package/dist/__tests__/output-schema-reading.test.d.ts +1 -0
  23. package/dist/__tests__/output-schema-reading.test.js +181 -0
  24. package/dist/__tests__/output-schema-reading.test.js.map +1 -0
  25. package/dist/__tests__/output-schema-running.test.d.ts +1 -0
  26. package/dist/__tests__/output-schema-running.test.js +185 -0
  27. package/dist/__tests__/output-schema-running.test.js.map +1 -0
  28. package/dist/__tests__/output-schema-watching.test.d.ts +1 -0
  29. package/dist/__tests__/output-schema-watching.test.js +190 -0
  30. package/dist/__tests__/output-schema-watching.test.js.map +1 -0
  31. package/dist/__tests__/output-schema.live.d.ts +1 -0
  32. package/dist/__tests__/output-schema.live.js +180 -0
  33. package/dist/__tests__/output-schema.live.js.map +1 -0
  34. package/dist/__tests__/output-schema.test.d.ts +1 -0
  35. package/dist/__tests__/output-schema.test.js +38 -0
  36. package/dist/__tests__/output-schema.test.js.map +1 -0
  37. package/dist/__tests__/server.test.js +1 -1
  38. package/dist/prompts.js +60 -32
  39. package/dist/prompts.js.map +1 -1
  40. package/dist/resources.js +26 -13
  41. package/dist/resources.js.map +1 -1
  42. package/dist/server.js +16 -13
  43. package/dist/server.js.map +1 -1
  44. package/dist/tools/attending.js +124 -90
  45. package/dist/tools/attending.js.map +1 -1
  46. package/dist/tools/collecting.js +85 -49
  47. package/dist/tools/collecting.js.map +1 -1
  48. package/dist/tools/cross-domain.js +103 -66
  49. package/dist/tools/cross-domain.js.map +1 -1
  50. package/dist/tools/helpers.d.ts +6 -2
  51. package/dist/tools/helpers.js +20 -11
  52. package/dist/tools/helpers.js.map +1 -1
  53. package/dist/tools/listening.js +94 -42
  54. package/dist/tools/listening.js.map +1 -1
  55. package/dist/tools/reading.js +53 -26
  56. package/dist/tools/reading.js.map +1 -1
  57. package/dist/tools/running.js +71 -28
  58. package/dist/tools/running.js.map +1 -1
  59. package/dist/tools/schemas/attending.d.ts +8225 -0
  60. package/dist/tools/schemas/attending.js +404 -0
  61. package/dist/tools/schemas/attending.js.map +1 -0
  62. package/dist/tools/schemas/collecting.d.ts +1011 -0
  63. package/dist/tools/schemas/collecting.js +108 -0
  64. package/dist/tools/schemas/collecting.js.map +1 -0
  65. package/dist/tools/schemas/cross-domain.d.ts +1001 -0
  66. package/dist/tools/schemas/cross-domain.js +107 -0
  67. package/dist/tools/schemas/cross-domain.js.map +1 -0
  68. package/dist/tools/schemas/listening.d.ts +4298 -0
  69. package/dist/tools/schemas/listening.js +255 -0
  70. package/dist/tools/schemas/listening.js.map +1 -0
  71. package/dist/tools/schemas/reading.d.ts +1421 -0
  72. package/dist/tools/schemas/reading.js +151 -0
  73. package/dist/tools/schemas/reading.js.map +1 -0
  74. package/dist/tools/schemas/running.d.ts +680 -0
  75. package/dist/tools/schemas/running.js +154 -0
  76. package/dist/tools/schemas/running.js.map +1 -0
  77. package/dist/tools/schemas/shared.d.ts +98 -0
  78. package/dist/tools/schemas/shared.js +74 -0
  79. package/dist/tools/schemas/shared.js.map +1 -0
  80. package/dist/tools/schemas/system.d.ts +57 -0
  81. package/dist/tools/schemas/system.js +22 -0
  82. package/dist/tools/schemas/system.js.map +1 -0
  83. package/dist/tools/schemas/watching.d.ts +1821 -0
  84. package/dist/tools/schemas/watching.js +167 -0
  85. package/dist/tools/schemas/watching.js.map +1 -0
  86. package/dist/tools/watching.js +87 -46
  87. package/dist/tools/watching.js.map +1 -1
  88. package/dist/ui-bundles.d.ts +10 -11
  89. package/dist/ui-bundles.js +20 -22
  90. package/dist/ui-bundles.js.map +1 -1
  91. package/package.json +1 -1
  92. package/dist/tools/debug.d.ts +0 -6
  93. package/dist/tools/debug.js +0 -26
  94. package/dist/tools/debug.js.map +0 -1
package/dist/server.js CHANGED
@@ -11,7 +11,7 @@ import { registerCollectingTools } from './tools/collecting.js';
11
11
  import { registerReadingTools } from './tools/reading.js';
12
12
  import { registerCrossDomainTools } from './tools/cross-domain.js';
13
13
  import { registerAttendingTools } from './tools/attending.js';
14
- import { registerDebugTools } from './tools/debug.js';
14
+ import { healthOutputSchema } from './tools/schemas/system.js';
15
15
  import { registerResources } from './resources.js';
16
16
  import { registerUiResource } from './resources/ui.js';
17
17
  import { registerPrompts } from './prompts.js';
@@ -83,7 +83,13 @@ export function createServer(client) {
83
83
  },
84
84
  });
85
85
  // System tool
86
- server.tool('get_health', 'Check the health and sync status of the Rewind API. Returns API status and last sync times for each data domain.', {}, READ_ONLY_ANNOTATIONS, async () => {
86
+ server.registerTool('get_health', {
87
+ title: 'API health',
88
+ description: 'Check the health and sync status of the Rewind API. Returns API status and last sync times for each data domain.',
89
+ inputSchema: {},
90
+ annotations: READ_ONLY_ANNOTATIONS,
91
+ outputSchema: healthOutputSchema,
92
+ }, async () => {
87
93
  try {
88
94
  const health = await client.get('/health');
89
95
  const syncHealth = await client.get('/health/sync');
@@ -95,7 +101,14 @@ export function createServer(client) {
95
101
  const items = info.items_synced !== null ? ` (${info.items_synced} items)` : '';
96
102
  lines.push(`${domain}: ${info.status} -- last sync: ${lastSync}${items}`);
97
103
  }
98
- return { content: [{ type: 'text', text: lines.join('\n') }] };
104
+ return {
105
+ content: [{ type: 'text', text: lines.join('\n') }],
106
+ structuredContent: {
107
+ api_status: health.status,
108
+ timestamp: health.timestamp,
109
+ domains: syncHealth.domains,
110
+ },
111
+ };
99
112
  }
100
113
  catch (error) {
101
114
  return {
@@ -219,16 +232,6 @@ export function createServer(client) {
219
232
  resourceDomains: ['https://cdn.rewind.rest', 'https://www.mlbstatic.com'],
220
233
  },
221
234
  });
222
- // Debug-only: reinstated alongside Phase 2 to A/B test whether Claude
223
- // Desktop's "Failed to set up MCP app" is specific to the new resource
224
- // or symptomatic of the whole rewind MCP server's sandbox state.
225
- registerUiResource(server, {
226
- name: 'Rewind -- Hello (debug)',
227
- uri: 'ui://rewind/hello.html',
228
- html: UI_BUNDLES['hello.html'],
229
- description: 'Minimal diagnostic UI. Mirror of the Phase-1 app that rendered cleanly earlier today.',
230
- });
231
- registerDebugTools(server);
232
235
  return server;
233
236
  }
234
237
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,59 @@
1
1
  import { z } from 'zod';
2
2
  import { withRichResponse, text, imageBlock, formatDate, fmt, READ_ONLY_ANNOTATIONS, includeImagesParam, LIST_IMAGE_PX, } from './helpers.js';
3
+ import { attendedEventsOutputSchema, attendedPlayersOutputSchema, attendedSeasonOutputSchema, attendedEventDetailOutputSchema, attendingStatsOutputSchema, attendingYearInReviewOutputSchema, attendedPlayerStatsOutputSchema, attendedPlayerOutputSchema, } from './schemas/attending.js';
3
4
  // ─── Tool registration ───────────────────────────────────────────────
4
5
  export function registerAttendingTools(server, client) {
5
6
  // get_attended_events ─────────────────────────────────────────────
6
- server.tool('get_attended_events', 'List events you bought tickets for: sports games, concerts, theater. Filterable by category (sports/music/arts), event_type (mlb_game, concert, etc.), season, year, venue, and team. Includes events you bought tickets for but did not attend (attended=false). Use `team` (substring match like "mariners" or "huskies") for natural-language queries; `team_id` for stable integer-keyed lookups. When the user asks about a SINGLE specific event ("last Mariners game I went to", "the Springsteen show I attended"), call this with the appropriate filter + `limit: 1` to find the id, then follow up with `get_attended_event(id)` to render the rich inline card — do not stop at the list-tool text response.', {
7
- page: z.number().min(1).default(1).describe('Page number, 1-indexed.'),
8
- limit: z
9
- .number()
10
- .min(1)
11
- .max(100)
12
- .default(20)
13
- .describe('Items per page (max 100).'),
14
- category: z
15
- .enum(['sports', 'music', 'arts'])
16
- .optional()
17
- .describe('Top-level category filter.'),
18
- event_type: z
19
- .string()
20
- .optional()
21
- .describe('Specific type, e.g. "mlb_game", "concert", "ncaaf_game".'),
22
- season: z
23
- .number()
24
- .int()
25
- .optional()
26
- .describe('Sports season year (e.g. 2024).'),
27
- year: z
28
- .number()
29
- .int()
30
- .optional()
31
- .describe('Calendar year filter on event_date.'),
32
- venue_id: z.number().int().optional().describe('Filter by venue id.'),
33
- attended: z
34
- .number()
35
- .int()
36
- .min(0)
37
- .max(1)
38
- .optional()
39
- .describe('1 = only attended, 0 = only unattended (purchased but missed). Omit to return both.'),
40
- team: z
41
- .string()
42
- .optional()
43
- .describe('Case-insensitive substring match against either team name in event_data. e.g. "mariners", "huskies", "storm". Returns games where this team was either home or away.'),
44
- team_id: z
45
- .number()
46
- .int()
47
- .optional()
48
- .describe('Exact match on the league-native team id. e.g. 136 = Seattle Mariners (MLB), 264 = Washington Huskies (ESPN). Use when the natural-language `team` substring is ambiguous.'),
49
- }, READ_ONLY_ANNOTATIONS, async ({ page, limit, category, event_type, season, year, venue_id, attended, team, team_id, }) => withRichResponse(async () => {
7
+ server.registerTool('get_attended_events', {
8
+ title: 'Attended events',
9
+ description: 'List events you bought tickets for: sports games, concerts, theater. Filterable by category (sports/music/arts), event_type (mlb_game, concert, etc.), season, year, venue, and team. Includes events you bought tickets for but did not attend (attended=false). Use `team` (substring match like "mariners" or "huskies") for natural-language queries; `team_id` for stable integer-keyed lookups. When the user asks about a SINGLE specific event ("last Mariners game I went to", "the Springsteen show I attended"), call this with the appropriate filter + `limit: 1` to find the id, then follow up with `get_attended_event(id)` to render the rich inline card — do not stop at the list-tool text response.',
10
+ inputSchema: {
11
+ page: z.number().min(1).default(1).describe('Page number, 1-indexed.'),
12
+ limit: z
13
+ .number()
14
+ .min(1)
15
+ .max(100)
16
+ .default(20)
17
+ .describe('Items per page (max 100).'),
18
+ category: z
19
+ .enum(['sports', 'music', 'arts'])
20
+ .optional()
21
+ .describe('Top-level category filter.'),
22
+ event_type: z
23
+ .string()
24
+ .optional()
25
+ .describe('Specific type, e.g. "mlb_game", "concert", "ncaaf_game".'),
26
+ season: z
27
+ .number()
28
+ .int()
29
+ .optional()
30
+ .describe('Sports season year (e.g. 2024).'),
31
+ year: z
32
+ .number()
33
+ .int()
34
+ .optional()
35
+ .describe('Calendar year filter on event_date.'),
36
+ venue_id: z.number().int().optional().describe('Filter by venue id.'),
37
+ attended: z
38
+ .number()
39
+ .int()
40
+ .min(0)
41
+ .max(1)
42
+ .optional()
43
+ .describe('1 = only attended, 0 = only unattended (purchased but missed). Omit to return both.'),
44
+ team: z
45
+ .string()
46
+ .optional()
47
+ .describe('Case-insensitive substring match against either team name in event_data. e.g. "mariners", "huskies", "storm". Returns games where this team was either home or away.'),
48
+ team_id: z
49
+ .number()
50
+ .int()
51
+ .optional()
52
+ .describe('Exact match on the league-native team id. e.g. 136 = Seattle Mariners (MLB), 264 = Washington Huskies (ESPN). Use when the natural-language `team` substring is ambiguous.'),
53
+ },
54
+ annotations: READ_ONLY_ANNOTATIONS,
55
+ outputSchema: attendedEventsOutputSchema,
56
+ }, async ({ page, limit, category, event_type, season, year, venue_id, attended, team, team_id, }) => withRichResponse(async () => {
50
57
  const data = await client.get('/attending/events', {
51
58
  page,
52
59
  limit,
@@ -86,7 +93,7 @@ export function registerAttendingTools(server, client) {
86
93
  // get_attended_season ─────────────────────────────────────────────
87
94
  // Drives the season-grid card UI in MCP Apps hosts.
88
95
  server.registerTool('get_attended_season', {
89
- title: 'Attended sports season',
96
+ title: 'Sports season',
90
97
  description: 'Get every game you attended (or hold tickets for) in a given league + season, with W/L record. league is a slug like "mlb", "nfl", "ncaaf", "nba", "wnba". In MCP Apps hosts, renders an interactive season grid with score, attendance, and notable performers.',
91
98
  inputSchema: {
92
99
  league: z
@@ -98,6 +105,7 @@ export function registerAttendingTools(server, client) {
98
105
  .describe('Season year (e.g. 2024 for the 2024 MLB season).'),
99
106
  },
100
107
  annotations: READ_ONLY_ANNOTATIONS,
108
+ outputSchema: attendedSeasonOutputSchema,
101
109
  _meta: {
102
110
  ui: { resourceUri: 'ui://rewind/attended-season.html' },
103
111
  'ui/resourceUri': 'ui://rewind/attended-season.html',
@@ -135,34 +143,40 @@ export function registerAttendingTools(server, client) {
135
143
  // Search across the players-you-have-watched-play list. Supports name
136
144
  // substring lookup so the model can resolve "Julio" -> player id without
137
145
  // the user having to know the integer id.
138
- server.tool('get_attended_players', 'Search the list of players (MLB, NFL, NCAAF, NBA, etc.) you have watched play in person. Use `name` (substring, case-insensitive) to resolve a player by name. Use `league` and/or `team_id` to filter further. Common names like "Will Smith" return multiple matches — disambiguate via `primary_team.abbreviation` and `primary_position` on each result without a follow-up turn. When the user asks about a SPECIFIC player ("how\'s JP Crawford playing this year", "what are Cal Raleigh\'s stats", "tell me about Kirby"), call this to resolve the name to an id, then follow up with `get_attended_player(id)` to render the rich inline athlete card with current-season stats — do not stop at the search-result text response.', {
139
- page: z
140
- .number()
141
- .int()
142
- .min(1)
143
- .default(1)
144
- .describe('Page number, 1-indexed.'),
145
- limit: z
146
- .number()
147
- .int()
148
- .min(1)
149
- .max(50)
150
- .default(10)
151
- .describe('Items per page (max 50).'),
152
- name: z
153
- .string()
154
- .optional()
155
- .describe('Case-insensitive substring match on full name. e.g. "julio", "kirby", "will smith".'),
156
- league: z
157
- .string()
158
- .optional()
159
- .describe('Filter by league slug, e.g. "mlb", "nfl", "ncaaf".'),
160
- team_id: z
161
- .number()
162
- .int()
163
- .optional()
164
- .describe('Filter by primary team id (league-native, e.g. 136 = Mariners in MLB).'),
165
- }, READ_ONLY_ANNOTATIONS, async ({ page, limit, name, league, team_id }) => withRichResponse(async () => {
146
+ server.registerTool('get_attended_players', {
147
+ title: 'Attended players',
148
+ description: 'Search the list of players (MLB, NFL, NCAAF, NBA, etc.) you have watched play in person. Use `name` (substring, case-insensitive) to resolve a player by name. Use `league` and/or `team_id` to filter further. Common names like "Will Smith" return multiple matches — disambiguate via `primary_team.abbreviation` and `primary_position` on each result without a follow-up turn. When the user asks about a SPECIFIC player ("how\'s JP Crawford playing this year", "what are Cal Raleigh\'s stats", "tell me about Kirby"), call this to resolve the name to an id, then follow up with `get_attended_player(id)` to render the rich inline athlete card with current-season stats — do not stop at the search-result text response.',
149
+ inputSchema: {
150
+ page: z
151
+ .number()
152
+ .int()
153
+ .min(1)
154
+ .default(1)
155
+ .describe('Page number, 1-indexed.'),
156
+ limit: z
157
+ .number()
158
+ .int()
159
+ .min(1)
160
+ .max(50)
161
+ .default(10)
162
+ .describe('Items per page (max 50).'),
163
+ name: z
164
+ .string()
165
+ .optional()
166
+ .describe('Case-insensitive substring match on full name. e.g. "julio", "kirby", "will smith".'),
167
+ league: z
168
+ .string()
169
+ .optional()
170
+ .describe('Filter by league slug, e.g. "mlb", "nfl", "ncaaf".'),
171
+ team_id: z
172
+ .number()
173
+ .int()
174
+ .optional()
175
+ .describe('Filter by primary team id (league-native, e.g. 136 = Mariners in MLB).'),
176
+ },
177
+ annotations: READ_ONLY_ANNOTATIONS,
178
+ outputSchema: attendedPlayersOutputSchema,
179
+ }, async ({ page, limit, name, league, team_id }) => withRichResponse(async () => {
166
180
  const data = await client.get('/attending/players', {
167
181
  page,
168
182
  limit,
@@ -200,13 +214,14 @@ export function registerAttendingTools(server, client) {
200
214
  // Appearances are capped at 10 most recent to keep the response within the
201
215
  // 8 KB token budget.
202
216
  server.registerTool('get_attended_player', {
203
- title: 'Athlete — detail',
217
+ title: 'Player',
204
218
  description: 'Detailed athlete card for an MLB / NFL / NCAAF / NBA player you\'ve watched play in person. **Use this whenever the user asks how a specific player is performing this season, what their batting average / ERA / current stats are, how their career has gone, or how they\'ve played in the games you attended** — e.g. "how\'s JP Crawford playing this year", "what are Cal Raleigh\'s numbers", "show me Kirby\'s stats", "tell me about Julio Rodriguez". Returns bio (position, jersey, debut, height/weight, college, awards), team logo, current-season stats (live MLB Stats API for MLB players, KV-cached 1h), career-by-season table, home/away/L-R splits, the **season_attended_summary** (this player\'s line in only the games you attended this season — use this to answer "how has he done in the games I\'ve been to this year"), the **attended_summary** (career line across every game you\'ve ever seen this player in), and the 10 most recent attended appearances. Trust season_attended_summary.games_attended as the count of games you\'ve attended this season — do NOT derive it by filtering attended_appearances yourself; that array is capped at 10 most-recent and will undercount for players you see often. MLB-only for the live-stats panel — non-MLB players surface as supported:false. In MCP Apps hosts, renders the rich inline athlete card. If you do not have the player id, first call `get_attended_players` with `name` to resolve the id, then call this to render the card.',
205
219
  inputSchema: {
206
220
  id: z.number().int().describe('Player id.'),
207
221
  ...includeImagesParam,
208
222
  },
209
223
  annotations: READ_ONLY_ANNOTATIONS,
224
+ outputSchema: attendedPlayerOutputSchema,
210
225
  _meta: {
211
226
  ui: { resourceUri: 'ui://rewind/attended-player.html' },
212
227
  'ui/resourceUri': 'ui://rewind/attended-player.html',
@@ -342,17 +357,23 @@ export function registerAttendingTools(server, client) {
342
357
  structuredContent,
343
358
  };
344
359
  }));
345
- server.tool('get_attended_player_stats', 'Aggregate stats for one player across the games you attended. MLB players get a hitter slash line + counting stats, or a pitcher line + ERA / WHIP / decisions, depending on which stat lines exist on their appearances. Non-MLB players (NFL, NCAAF, NBA, etc.) return supported=false with appearance summaries (final scores, opponents) — full stat-line parsing for those leagues is on the roadmap. \n\n**Use career (omit `season`) by default.** Single-season slices are tiny — max 50 PAs across the entire dataset; career is where meaningful samples live (Cal Raleigh ~130 PAs / 32 attended games; Kirby ~238 BFs / 10 attended starts). Always cite `pa` (hitter) or `bf` (pitcher) and `games` when phrasing the answer so the user can judge confidence.', {
346
- id: z
347
- .number()
348
- .int()
349
- .describe('Player id (from get_attended_players or get_attended_player).'),
350
- season: z
351
- .number()
352
- .int()
353
- .optional()
354
- .describe('Optional. Single-season slice. Omit for career across all attended games (recommended — see tool description).'),
355
- }, READ_ONLY_ANNOTATIONS, async ({ id, season }) => withRichResponse(async () => {
360
+ server.registerTool('get_attended_player_stats', {
361
+ title: 'Player stats',
362
+ description: 'Aggregate stats for one player across the games you attended. MLB players get a hitter slash line + counting stats, or a pitcher line + ERA / WHIP / decisions, depending on which stat lines exist on their appearances. Non-MLB players (NFL, NCAAF, NBA, etc.) return supported=false with appearance summaries (final scores, opponents) — full stat-line parsing for those leagues is on the roadmap. \n\n**Use career (omit `season`) by default.** Single-season slices are tiny — max 50 PAs across the entire dataset; career is where meaningful samples live (Cal Raleigh ~130 PAs / 32 attended games; Kirby ~238 BFs / 10 attended starts). Always cite `pa` (hitter) or `bf` (pitcher) and `games` when phrasing the answer so the user can judge confidence.',
363
+ inputSchema: {
364
+ id: z
365
+ .number()
366
+ .int()
367
+ .describe('Player id (from get_attended_players or get_attended_player).'),
368
+ season: z
369
+ .number()
370
+ .int()
371
+ .optional()
372
+ .describe('Optional. Single-season slice. Omit for career across all attended games (recommended — see tool description).'),
373
+ },
374
+ annotations: READ_ONLY_ANNOTATIONS,
375
+ outputSchema: attendedPlayerStatsOutputSchema,
376
+ }, async ({ id, season }) => withRichResponse(async () => {
356
377
  const data = await client.get(`/attending/players/${id}/stats`, season !== undefined ? { season } : {});
357
378
  const scopeLabel = data.scope === 'career'
358
379
  ? 'across all attended games'
@@ -424,7 +445,13 @@ export function registerAttendingTools(server, client) {
424
445
  };
425
446
  }));
426
447
  // get_attending_stats ─────────────────────────────────────────────
427
- server.tool('get_attending_stats', 'Aggregate counts of attended events broken down by category, event_type, and year.', {}, READ_ONLY_ANNOTATIONS, async () => withRichResponse(async () => {
448
+ server.registerTool('get_attending_stats', {
449
+ title: 'Attendance stats',
450
+ description: 'Aggregate counts of attended events broken down by category, event_type, and year.',
451
+ inputSchema: {},
452
+ annotations: READ_ONLY_ANNOTATIONS,
453
+ outputSchema: attendingStatsOutputSchema,
454
+ }, async () => withRichResponse(async () => {
428
455
  const data = await client.get('/attending/stats');
429
456
  const lines = [
430
457
  `Total events: ${fmt(data.total_events)} (${fmt(data.attended_events)} attended)`,
@@ -451,12 +478,13 @@ export function registerAttendingTools(server, client) {
451
478
  // game card inline via ui://rewind/attended-event.html; non-MCP-Apps
452
479
  // clients fall back to the text + structuredContent response.
453
480
  server.registerTool('get_attended_event', {
454
- title: 'Attended event',
481
+ title: 'Event',
455
482
  description: 'Get a single attended event (sports game, concert, theater show) in full detail, including venue, tickets, and per-player stat lines for sports games. Renders the rich inline event card — linescore, top performers with photos, ticket info — in MCP Apps hosts. Use this when the user asks about ONE specific event: "tell me about my last Mariners game," "who pitched in that Phillies game," "the Springsteen show I went to," "what happened at that game." If you do not have the event id, first call `get_attended_events` with a `team` / `event_type` filter (and `limit: 1` if the user asked for the most recent) to find the id, then call this to render the card.',
456
483
  inputSchema: {
457
484
  id: z.number().int().describe('Event id.'),
458
485
  },
459
486
  annotations: READ_ONLY_ANNOTATIONS,
487
+ outputSchema: attendedEventDetailOutputSchema,
460
488
  _meta: {
461
489
  ui: { resourceUri: 'ui://rewind/attended-event.html' },
462
490
  'ui/resourceUri': 'ui://rewind/attended-event.html',
@@ -499,9 +527,15 @@ export function registerAttendingTools(server, client) {
499
527
  };
500
528
  }));
501
529
  // get_attending_year_in_review ────────────────────────────────────
502
- server.tool('get_attending_year_in_review', 'Year-in-review summary for attended events: totals, monthly breakdown, top venues, top concert performers, and the full event list. Use this when the user asks "what shows did I see in 2024" or "best year for games".', {
503
- year: z.number().int().describe('Calendar year, e.g. 2024.'),
504
- }, READ_ONLY_ANNOTATIONS, async ({ year }) => withRichResponse(async () => {
530
+ server.registerTool('get_attending_year_in_review', {
531
+ title: 'Attendance — year in review',
532
+ description: 'Year-in-review summary for attended events: totals, monthly breakdown, top venues, top concert performers, and the full event list. Use this when the user asks "what shows did I see in 2024" or "best year for games".',
533
+ inputSchema: {
534
+ year: z.number().int().describe('Calendar year, e.g. 2024.'),
535
+ },
536
+ annotations: READ_ONLY_ANNOTATIONS,
537
+ outputSchema: attendingYearInReviewOutputSchema,
538
+ }, async ({ year }) => withRichResponse(async () => {
505
539
  const data = await client.get(`/attending/year/${year}`);
506
540
  const lines = [
507
541
  `${data.year}: ${fmt(data.total_events)} attended events`,
@@ -1 +1 @@
1
- {"version":3,"file":"attending.js","sourceRoot":"","sources":["../../src/tools/attending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attending.js","sourceRoot":"","sources":["../../src/tools/attending.ts"],"names":[],"mappings":"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"}