rad_issue_list
Retrieve and list issues from a Radicle repository using the provided path, enabling efficient issue tracking and management within a peer-to-peer code collaboration environment.
Instructions
List issues in a Radicle repository.
Args:
repository_path: Path to the repository (default: current directory)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| repository_path | No | . |
Implementation Reference
- src/radicle_mcp/server.py:188-204 (handler)The core handler function for the 'rad_issue_list' tool. It executes the 'rad issue list' command using the shared run_rad_command helper and formats the output.@mcp.tool() async def rad_issue_list(repository_path: str = ".") -> str: """ List issues in a Radicle repository. Args: repository_path: Path to the repository (default: current directory) """ result = await run_rad_command(["rad", "issue", "list"], cwd=repository_path) if result["success"]: if result["stdout"]: return f"🐛 Issues in repository:\n{result['stdout']}" else: return "🐛 No issues found in repository" else: return f"❌ Failed to list issues: {result['stderr']}"
- src/radicle_mcp/server.py:37-84 (helper)Shared utility function that executes Radicle CLI commands asynchronously, capturing stdout, stderr, and exit code. Used by rad_issue_list and other tools.async def run_rad_command(command: List[str], cwd: Optional[str] = None) -> Dict[str, Any]: """ Run a rad command and return the result. Args: command: List of command arguments starting with 'rad' cwd: Working directory to run the command in Returns: Dictionary with stdout, stderr, and return_code """ try: # Ensure command starts with 'rad' if not command or command[0] != "rad": command = ["rad"] + command logger.info(f"Running command: {' '.join(command)}") process = await asyncio.create_subprocess_exec( *command, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, cwd=cwd ) stdout, stderr = await process.communicate() return { "stdout": stdout.decode("utf-8").strip(), "stderr": stderr.decode("utf-8").strip(), "return_code": process.returncode, "success": process.returncode == 0 } except FileNotFoundError: return { "stdout": "", "stderr": "rad command not found. Please ensure Radicle is installed.", "return_code": 127, "success": False } except Exception as e: return { "stdout": "", "stderr": f"Error running command: {str(e)}", "return_code": 1, "success": False }