Skip to main content
Glama
michaelneale

Goose App Maker MCP

by michaelneale

app_list

View available web applications created with Goose App Maker MCP to manage and serve apps from configurable directories.

Instructions

List all available web applications.

Returns:
    A dictionary containing the list of available apps and their details

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • main.py:117-162 (handler)
    Handler function for the 'app_list' tool. Lists directories in APP_DIR (~/.config/goose/app-maker-apps), collects file lists and manifest info for each app.
    @mcp.tool()
    def app_list() -> Dict[str, Any]:
        """
        List all available web applications.
        
        Returns:
            A dictionary containing the list of available apps and their details
        """
        try:
            apps = []
            for app_dir in Path(APP_DIR).iterdir():
                if app_dir.is_dir():
                    app_info = {
                        "name": app_dir.name,
                        "path": str(app_dir),
                        "files": []
                    }
                    
                    # Get the list of files
                    for file_path in app_dir.glob("**/*"):
                        if file_path.is_file():
                            rel_path = str(file_path.relative_to(app_dir))
                            app_info["files"].append(rel_path)
                    
                    # Check if there's a goose-app-manifest.json file
                    manifest_path = app_dir / "goose-app-manifest.json"
                    if manifest_path.exists():
                        try:
                            with open(manifest_path, 'r') as f:
                                manifest = json.load(f)
                                app_info["manifest"] = manifest
                        except json.JSONDecodeError:
                            app_info["manifest_error"] = "Invalid goose-app-manifest.json file"
                    
                    apps.append(app_info)
            
            return {
                "success": True,
                "apps": apps,
                "count": len(apps),
                "app_dir": APP_DIR
            }
        except Exception as e:
            logger.error(f"Error listing apps: {e}")
            return {"success": False, "error": f"Failed to list apps: {str(e)}"}
  • main.py:117-117 (registration)
    Registration of the app_list tool using the @mcp.tool() decorator.
    @mcp.tool()

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/michaelneale/goose-app-maker-mcp'

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