githubSearchRepositories
Search GitHub repositories in bulk with parallel queries, filters by language, stars, forks, topics, and more. Automatically retries with fallback parameters if no results found, optimizing research workflows. Execute up to 5 searches simultaneously.
Instructions
Search GitHub repositories using GitHub CLI.
BULK QUERY MODE:
- queries: array of up to 5 different search queries for parallel execution
- Each query can have fallbackParams for automatic retry with modified parameters
- Optimizes research workflow by executing multiple searches simultaneously
- Fallback logic automatically broadens search if no results found
Use for comprehensive research - query different repos, languages, or approaches in one call.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
queries | Yes | Array of up to 5 different search queries for parallel execution |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"queries": {
"description": "Array of up to 5 different search queries for parallel execution",
"items": {
"additionalProperties": false,
"properties": {
"archived": {
"description": "Archive status filter. false (active repos only), true (archived repos only).",
"type": [
"boolean",
"null"
]
},
"created": {
"anyOf": [
{
"pattern": "^(>=?\\d{4}-\\d{2}-\\d{2}|<=?\\d{4}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}\\.\\.\\d{4}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Repository creation date filter. Format: \">2020-01-01\" (after), \">=2020-01-01\" (on or after), \"<2023-12-31\" (before), \"<=2023-12-31\" (on or before), \"2020-01-01..2023-12-31\" (range), \"2023-01-01\" (exact)."
},
"exactQuery": {
"description": "Single exact phrase/word search",
"type": "string"
},
"fallbackParams": {
"additionalProperties": {},
"description": "Fallback parameters if original query returns no results, overrides the original query and try again",
"type": "object"
},
"followers": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Repository owner followers count. Format: \">1000\" (popular developers), \">=500\" (established developers), \"<100\" (smaller developers), \"100..1000\" (range)."
},
"forks": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Fork count filter. Format: \">N\" (more than), \"<N\" (less than), \"N..M\" (range)."
},
"good-first-issues": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Good first issues count. Format: \">5\" (many beginner issues), \"1..10\" (some beginner issues)."
},
"help-wanted-issues": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Help wanted issues count. Format: \">10\" (many help wanted), \"1..5\" (some help wanted)."
},
"id": {
"description": "Optional identifier for the query",
"type": "string"
},
"include-forks": {
"anyOf": [
{
"enum": [
"false",
"true",
"only"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Fork inclusion. \"false\" (exclude forks), \"true\" (include forks), \"only\" (forks only)."
},
"language": {
"description": "Programming language filter. Filters repositories by primary language.",
"type": [
"string",
"null"
]
},
"license": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "License filter. Filter repositories by license type."
},
"limit": {
"anyOf": [
{
"maximum": 100,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"description": "Maximum number of repositories to return (1-100)."
},
"match": {
"anyOf": [
{
"enum": [
"name",
"description",
"readme"
],
"type": "string"
},
{
"items": {
"enum": [
"name",
"description",
"readme"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Search scope. Where to search: name, description, or readme content."
},
"number-topics": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Number of topics filter. Format: \">5\" (many topics), \">=3\" (at least 3), \"<10\" (few topics), \"1..3\" (range), \"5\" (exact)."
},
"order": {
"anyOf": [
{
"enum": [
"asc",
"desc"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Sort order direction."
},
"owner": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Repository owner/organization name(s). Search within specific organizations or users."
},
"queryTerms": {
"description": "Multiple search terms for broader coverage",
"items": {
"type": "string"
},
"type": "array"
},
"size": {
"anyOf": [
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Repository size filter in KB. Format: \">1000\" (large projects), \">=500\" (medium-large), \"<100\" (small projects), \"<=50\" (tiny), \"100..1000\" (medium range), \"500\" (exact)."
},
"sort": {
"anyOf": [
{
"enum": [
"forks",
"help-wanted-issues",
"stars",
"updated",
"best-match"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Sort criteria."
},
"stars": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"pattern": "^(>=?\\d+|<=?\\d+|\\d+\\.\\.\\d+|\\d+)$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Star count filter. Format: \">N\" (more than), \"<N\" (less than), \"N..M\" (range)."
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Find repositories by technology/subject"
},
"updated": {
"anyOf": [
{
"pattern": "^(>=?\\d{4}-\\d{2}-\\d{2}|<=?\\d{4}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}\\.\\.\\d{4}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2})$",
"type": "string"
},
{
"type": "null"
}
],
"description": "Last updated date filter. Format: \">2024-01-01\" (recently updated), \">=2024-01-01\" (on or after), \"<2022-01-01\" (not recently updated), \"2023-01-01..2024-12-31\" (range)."
},
"visibility": {
"anyOf": [
{
"enum": [
"public",
"private",
"internal"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Repository visibility."
}
},
"type": "object"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
}
},
"required": [
"queries"
],
"type": "object"
}