bitbucket_search_code
Search code across repositories in a Bitbucket project by providing a project key and search query, with options to limit results and paginate.
Instructions
Search code across repositories in a project
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project key | |
| query | Yes | Search query | |
| limit | No | Max results | |
| start | No | Pagination start |
Implementation Reference
- src/tools/search-tools.ts:27-52 (handler)Main handler function for bitbucket_search_code. Parses args using searchCodeShape schema, requires 'search_code' permission, calls searchApi.searchCode(), and returns the result or an error.
bitbucket_search_code: async (args: unknown): Promise<McpToolResult> => { const start = Date.now(); try { const input = z.object(searchCodeShape).parse(args); requirePermission(config, 'search_code'); log('info', 'tool start', { operation: 'tool_execute', toolName: 'bitbucket_search_code' }); const result = await searchApi.searchCode( input.project, input.query, input.limit, input.start ); log('info', 'tool end', { toolName: 'bitbucket_search_code', durationMs: Date.now() - start, }); return textResult(result); } catch (err) { log('error', 'tool error', { toolName: 'bitbucket_search_code', error: String(err), durationMs: Date.now() - start, }); return errorResult('SEARCH_CODE_FAILED', err instanceof Error ? err.message : String(err)); } }, - src/tools/schemas.ts:87-92 (schema)Input schema (ZodRawShape) for search_code: project, query, optional limit and start.
export const searchCodeShape = { project, query: z.string().min(1).max(500).describe('Search query'), limit, start, } as const; - src/tools/registry.ts:162-168 (registration)Tool registration entry pairing name='bitbucket_search_code', description, shape=searchCodeShape, and handler reference h.search.bitbucket_search_code.
// --- Search tools --- { name: 'bitbucket_search_code', description: 'Search code across repositories in a project', shape: searchCodeShape, handler: h.search.bitbucket_search_code, }, - src/bitbucket/api/search.ts:11-20 (helper)Underlying API call: SearchApi.searchCode() that performs the HTTP GET to /projects/{project}/search/code with query, limit, start parameters.
async searchCode( project: string, query: string, limit = 25, start = 0 ): Promise<BitbucketSearchResult> { return this.client.requestJson<BitbucketSearchResult>(`/projects/${project}/search/code`, { queryParams: { query, limit, start }, }); }