Skip to content

Commit de7fe5c

Browse files
committed
feat(tools): add get_release_notes_by_version
1 parent 24cd4b2 commit de7fe5c

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/services/documentation.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,5 +502,24 @@ export function createDocumentationService () {
502502
],
503503
}
504504
},
505+
getReleaseNotesByVersion: async ({ version }: { version: string }) => {
506+
const isLatest = version === 'latest'
507+
const method = isLatest ? 'getLatestRelease' : 'getReleaseByTag'
508+
509+
const { data } = await octokit.rest.repos[method]({
510+
owner: 'vuetifyjs',
511+
repo: 'vuetify',
512+
tag: isLatest ? '' : (version.startsWith('v') ? version : `v${version}`),
513+
})
514+
515+
return {
516+
content: [
517+
{
518+
type: 'text',
519+
text: `Release notes for version ${version}:\n\n${data.body} (published ${data.published_at})`,
520+
} as const,
521+
],
522+
}
523+
},
505524
}
506525
}

src/tools/documentation.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,13 @@ export async function registerDocumentationTools (server: McpServer) {
4646
'Get a list of frequently asked questions about Vuetify.',
4747
documentation.getFrequentlyAskedQuestions,
4848
)
49+
50+
server.tool(
51+
'get_release_notes_by_version',
52+
'Get release notes for one or more versions of Vuetify.',
53+
{
54+
version: z.string().describe('One or more Vuetify versions for which to get the release notes.').default('latest'),
55+
},
56+
documentation.getReleaseNotesByVersion,
57+
)
4958
}

0 commit comments

Comments
 (0)