cli / mcp for bitbucket
at main 31 lines 1.3 kB view raw
1import { getCommit, listCommits } from '@bitbucket-tool/core'; 2import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; 3import { getCommitSchema, listCommitsSchema } from '../schemas/commit.schemas'; 4import { resolveWorkspace, resultToResponse } from './helpers'; 5 6export const registerCommitTools = (server: McpServer): void => { 7 // @ts-expect-error TS2589: MCP SDK overload resolution + transitive generated types exceed TypeScript recursion limit 8 server.tool( 9 'list_commits', 10 'List recent commits in a repository. Returns commit hashes, messages, authors, and dates.', 11 listCommitsSchema, 12 { readOnlyHint: true }, 13 async ({ workspace, repo_slug, page, pagelen }) => { 14 const w = resolveWorkspace(workspace); 15 return resultToResponse( 16 await listCommits({ workspace: w, repoSlug: repo_slug, page, pagelen }) 17 ); 18 } 19 ); 20 21 server.tool( 22 'get_commit', 23 'Get details of a specific commit including message, author, date, and parent hashes.', 24 getCommitSchema, 25 { readOnlyHint: true }, 26 async ({ workspace, repo_slug, commit }) => { 27 const w = resolveWorkspace(workspace); 28 return resultToResponse(await getCommit({ workspace: w, repoSlug: repo_slug, commit })); 29 } 30 ); 31};