Skip to main content
Glama
lemenkov
by lemenkov

list_projects

Retrieve and filter projects from Pagure git forges with namespace selection, search patterns, and pagination controls.

Instructions

List Pagure projects/packages.

Args: namespace: Project namespace (rpms, container, modules, etc.) pattern: Search pattern for project name page: Page number (default: 1) per_page: Results per page (default: 20)

Returns: JSON string with project list and pagination info

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namespaceNorpms
patternNo
pageNo
per_pageNo

Implementation Reference

  • MCP tool handler registration and wrapper for listing Pagure projects.
    @mcp.tool()
    async def list_projects(
        namespace: str = "rpms",
        pattern: Optional[str] = None,
        page: int = 1,
        per_page: int = 20,
    ) -> str:
        """List Pagure projects/packages.
    
        Args:
            namespace: Project namespace (rpms, container, modules, etc.)
            pattern: Search pattern for project name
            page: Page number (default: 1)
            per_page: Results per page (default: 20)
    
        Returns:
            JSON string with project list and pagination info
        """
        client = get_client()
        result = await client.list_projects(namespace, pattern, page, per_page)
    
        import json
        return json.dumps(result, indent=2)
  • Actual API implementation for listing Pagure projects.
    async def list_projects(
        self,
        namespace: Optional[str] = "rpms",
        pattern: Optional[str] = None,
        page: int = 1,
        per_page: int = 20,
    ) -> Dict[str, Any]:
        """List projects/packages.
    
        Args:
            namespace: Project namespace (rpms, container, modules, etc.)
            pattern: Search pattern for project name
            page: Page number
            per_page: Results per page
    
        Returns:
            Dict with projects list and pagination info
        """
        params = {
            "namespace": namespace,
            "page": page,
            "per_page": per_page,
        }
        if pattern:
            params["pattern"] = pattern
    
        response = await self.client.get(
            f"{self.api_base}/projects",
            params=params,
            headers=self._get_headers(),
        )
        response.raise_for_status()
        return response.json()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lemenkov/mcp-pagure'

If you have feedback or need assistance with the MCP directory API, please join our Discord server