[
{
"name": "search_codebase",
"description": "Search for code patterns across the codebase using ripgrep",
"inputSchema": {
"type": "object",
"properties": {
"pattern": { "type": "string", "description": "Regex pattern to search for" },
"path": { "type": "string", "description": "Directory to search in" },
"fileType": { "type": "string", "description": "File extension filter (e.g. ts, tsx, json)" }
},
"required": ["pattern"]
}
},
{
"name": "read_file",
"description": "Read the contents of a file at the given path",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Absolute path to the file" },
"startLine": { "type": "number", "description": "Line number to start reading from" },
"endLine": { "type": "number", "description": "Line number to stop reading at" }
},
"required": ["path"]
}
},
{
"name": "write_file",
"description": "Write content to a file, creating it if it doesn't exist",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Absolute path to the file" },
"content": { "type": "string", "description": "Content to write to the file" }
},
"required": ["path", "content"]
}
},
{
"name": "edit_file",
"description": "Apply targeted edits to a file using search and replace",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Absolute path to the file" },
"oldText": { "type": "string", "description": "Text to search for" },
"newText": { "type": "string", "description": "Text to replace with" }
},
"required": ["path", "oldText", "newText"]
}
},
{
"name": "list_directory",
"description": "List files and directories at the given path",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Directory path to list" },
"recursive": { "type": "boolean", "description": "Whether to list recursively" },
"maxDepth": { "type": "number", "description": "Maximum depth for recursive listing" }
},
"required": ["path"]
}
},
{
"name": "run_command",
"description": "Execute a shell command in the project directory",
"inputSchema": {
"type": "object",
"properties": {
"command": { "type": "string", "description": "Shell command to execute" },
"cwd": { "type": "string", "description": "Working directory" },
"timeout": { "type": "number", "description": "Timeout in milliseconds" }
},
"required": ["command"]
}
},
{
"name": "run_tests",
"description": "Run the test suite with optional filters",
"inputSchema": {
"type": "object",
"properties": {
"testPath": { "type": "string", "description": "Specific test file or directory" },
"filter": { "type": "string", "description": "Test name filter pattern" },
"watch": { "type": "boolean", "description": "Run in watch mode" },
"coverage": { "type": "boolean", "description": "Collect coverage information" }
}
}
},
{
"name": "git_status",
"description": "Show the working tree status",
"inputSchema": {
"type": "object",
"properties": {
"short": { "type": "boolean", "description": "Show short format output" }
}
}
},
{
"name": "git_diff",
"description": "Show changes between commits, working tree, etc.",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Specific file to diff" },
"staged": { "type": "boolean", "description": "Show only staged changes" },
"base": { "type": "string", "description": "Base commit or branch to diff against" }
}
}
},
{
"name": "git_log",
"description": "Show commit logs",
"inputSchema": {
"type": "object",
"properties": {
"maxCount": { "type": "number", "description": "Maximum number of commits to show" },
"oneline": { "type": "boolean", "description": "Show each commit on a single line" },
"author": { "type": "string", "description": "Filter by author" },
"since": { "type": "string", "description": "Show commits after date" }
}
}
},
{
"name": "git_commit",
"description": "Create a new commit with staged changes",
"inputSchema": {
"type": "object",
"properties": {
"message": { "type": "string", "description": "Commit message" },
"files": { "type": "array", "items": { "type": "string" }, "description": "Files to stage before committing" }
},
"required": ["message"]
}
},
{
"name": "git_branch",
"description": "List, create, or delete branches",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Branch name" },
"action": { "type": "string", "enum": ["list", "create", "delete", "checkout"], "description": "Branch operation" }
}
}
},
{
"name": "lint",
"description": "Run ESLint on the codebase",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "File or directory to lint" },
"fix": { "type": "boolean", "description": "Automatically fix problems" },
"quiet": { "type": "boolean", "description": "Only report errors, not warnings" }
}
}
},
{
"name": "format_code",
"description": "Format code using Prettier",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "File or directory to format" },
"check": { "type": "boolean", "description": "Only check if files are formatted" }
},
"required": ["path"]
}
},
{
"name": "typecheck",
"description": "Run TypeScript compiler to check for type errors",
"inputSchema": {
"type": "object",
"properties": {
"project": { "type": "string", "description": "Path to tsconfig.json" },
"noEmit": { "type": "boolean", "description": "Do not emit output files" }
}
}
},
{
"name": "deploy",
"description": "Deploy the application to the specified environment",
"inputSchema": {
"type": "object",
"properties": {
"environment": { "type": "string", "enum": ["staging", "production"], "description": "Target environment" },
"dryRun": { "type": "boolean", "description": "Preview the deployment without executing" }
},
"required": ["environment"]
}
},
{
"name": "database_migrate",
"description": "Run database migrations",
"inputSchema": {
"type": "object",
"properties": {
"action": { "type": "string", "enum": ["up", "down", "status", "reset"], "description": "Migration action" },
"name": { "type": "string", "description": "Migration name for creating new migrations" }
},
"required": ["action"]
}
},
{
"name": "database_seed",
"description": "Seed the database with initial or test data",
"inputSchema": {
"type": "object",
"properties": {
"environment": { "type": "string", "enum": ["development", "test"], "description": "Target environment" },
"truncate": { "type": "boolean", "description": "Clear existing data before seeding" }
}
}
},
{
"name": "create_file",
"description": "Create a new file from a template",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Path for the new file" },
"template": { "type": "string", "enum": ["component", "hook", "api-route", "test", "service"], "description": "Template to use" },
"name": { "type": "string", "description": "Name for the generated entity" }
},
"required": ["path", "template", "name"]
}
},
{
"name": "find_references",
"description": "Find all references to a symbol in the codebase",
"inputSchema": {
"type": "object",
"properties": {
"symbol": { "type": "string", "description": "Symbol name to find references for" },
"path": { "type": "string", "description": "Scope the search to a directory" },
"includeDeclaration": { "type": "boolean", "description": "Include the declaration itself" }
},
"required": ["symbol"]
}
},
{
"name": "find_definition",
"description": "Find the definition of a symbol",
"inputSchema": {
"type": "object",
"properties": {
"symbol": { "type": "string", "description": "Symbol name to find" },
"file": { "type": "string", "description": "File context to search from" },
"line": { "type": "number", "description": "Line number for context" }
},
"required": ["symbol"]
}
},
{
"name": "get_diagnostics",
"description": "Get diagnostics (errors, warnings) for a file or the entire project",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "File path to get diagnostics for" },
"severity": { "type": "string", "enum": ["error", "warning", "info"], "description": "Minimum severity level" }
}
}
},
{
"name": "install_package",
"description": "Install npm packages",
"inputSchema": {
"type": "object",
"properties": {
"packages": { "type": "array", "items": { "type": "string" }, "description": "Package names to install" },
"dev": { "type": "boolean", "description": "Install as dev dependency" }
},
"required": ["packages"]
}
},
{
"name": "uninstall_package",
"description": "Remove npm packages",
"inputSchema": {
"type": "object",
"properties": {
"packages": { "type": "array", "items": { "type": "string" }, "description": "Package names to remove" }
},
"required": ["packages"]
}
},
{
"name": "view_logs",
"description": "View application or server logs",
"inputSchema": {
"type": "object",
"properties": {
"source": { "type": "string", "enum": ["app", "server", "database", "worker"], "description": "Log source" },
"lines": { "type": "number", "description": "Number of lines to show" },
"level": { "type": "string", "enum": ["debug", "info", "warn", "error"], "description": "Minimum log level" },
"since": { "type": "string", "description": "Show logs since timestamp" }
}
}
},
{
"name": "open_browser",
"description": "Open a URL in the browser for testing",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "URL to open" },
"incognito": { "type": "boolean", "description": "Open in incognito mode" }
},
"required": ["url"]
}
},
{
"name": "take_screenshot",
"description": "Take a screenshot of a web page",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "URL to screenshot" },
"selector": { "type": "string", "description": "CSS selector to screenshot" },
"fullPage": { "type": "boolean", "description": "Capture the full scrollable page" }
},
"required": ["url"]
}
},
{
"name": "check_api",
"description": "Make an HTTP request to test an API endpoint",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "API endpoint URL" },
"method": { "type": "string", "enum": ["GET", "POST", "PUT", "PATCH", "DELETE"], "description": "HTTP method" },
"headers": { "type": "object", "description": "Request headers" },
"body": { "type": "string", "description": "Request body as JSON string" }
},
"required": ["url"]
}
},
{
"name": "generate_types",
"description": "Generate TypeScript types from various sources",
"inputSchema": {
"type": "object",
"properties": {
"source": { "type": "string", "enum": ["prisma", "openapi", "graphql", "json-schema"], "description": "Source to generate types from" },
"input": { "type": "string", "description": "Input file or URL" },
"output": { "type": "string", "description": "Output file path" }
},
"required": ["source"]
}
},
{
"name": "analyze_bundle",
"description": "Analyze the production bundle size",
"inputSchema": {
"type": "object",
"properties": {
"format": { "type": "string", "enum": ["tree", "json", "html"], "description": "Output format" },
"limit": { "type": "string", "description": "Size limit (e.g. '500kb')" }
}
}
},
{
"name": "check_dependencies",
"description": "Check for outdated, unused, or vulnerable dependencies",
"inputSchema": {
"type": "object",
"properties": {
"check": { "type": "string", "enum": ["outdated", "unused", "vulnerabilities", "licenses"], "description": "Type of check" }
},
"required": ["check"]
}
},
{
"name": "create_migration",
"description": "Create a new database migration",
"inputSchema": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Migration name" },
"sql": { "type": "string", "description": "Raw SQL for the migration" }
},
"required": ["name"]
}
},
{
"name": "run_benchmark",
"description": "Run performance benchmarks",
"inputSchema": {
"type": "object",
"properties": {
"path": { "type": "string", "description": "Benchmark file or directory" },
"iterations": { "type": "number", "description": "Number of iterations" },
"warmup": { "type": "number", "description": "Number of warmup iterations" }
}
}
},
{
"name": "search_docs",
"description": "Search project documentation",
"inputSchema": {
"type": "object",
"properties": {
"query": { "type": "string", "description": "Search query" },
"scope": { "type": "string", "enum": ["api", "guides", "changelog", "all"], "description": "Documentation scope" }
},
"required": ["query"]
}
},
{
"name": "manage_env",
"description": "Manage environment variables",
"inputSchema": {
"type": "object",
"properties": {
"action": { "type": "string", "enum": ["list", "get", "set", "delete"], "description": "Action to perform" },
"key": { "type": "string", "description": "Environment variable key" },
"value": { "type": "string", "description": "Environment variable value" },
"environment": { "type": "string", "enum": ["development", "staging", "production"], "description": "Target environment" }
},
"required": ["action"]
}
},
{
"name": "start_dev_server",
"description": "Start the development server",
"inputSchema": {
"type": "object",
"properties": {
"port": { "type": "number", "description": "Port to run on" },
"turbo": { "type": "boolean", "description": "Enable Turbopack" },
"https": { "type": "boolean", "description": "Enable HTTPS" }
}
}
},
{
"name": "stop_dev_server",
"description": "Stop the running development server",
"inputSchema": {
"type": "object",
"properties": {
"port": { "type": "number", "description": "Port of the server to stop" }
}
}
},
{
"name": "docker_compose",
"description": "Manage Docker Compose services",
"inputSchema": {
"type": "object",
"properties": {
"action": { "type": "string", "enum": ["up", "down", "restart", "logs", "ps"], "description": "Docker Compose action" },
"service": { "type": "string", "description": "Specific service to target" },
"detach": { "type": "boolean", "description": "Run in detached mode" }
},
"required": ["action"]
}
},
{
"name": "generate_api_docs",
"description": "Generate API documentation from source code",
"inputSchema": {
"type": "object",
"properties": {
"format": { "type": "string", "enum": ["openapi", "markdown", "html"], "description": "Output format" },
"output": { "type": "string", "description": "Output file path" },
"title": { "type": "string", "description": "API documentation title" }
}
}
},
{
"name": "rename_symbol",
"description": "Rename a symbol across the entire codebase",
"inputSchema": {
"type": "object",
"properties": {
"oldName": { "type": "string", "description": "Current symbol name" },
"newName": { "type": "string", "description": "New symbol name" },
"path": { "type": "string", "description": "Scope the rename to a directory" },
"dryRun": { "type": "boolean", "description": "Preview changes without applying" }
},
"required": ["oldName", "newName"]
}
}
]