← WebMCP Directory

Tool tree

angular.courses

Developer ToolsTools verified
Website
Ship Angular upgrades faster. Compatibility, release insights, and skimmable editions—one place. Avoid surprises and learn how Angular features evolved.
Explore capabilities
    caniuse_search_featuresAction

    Search Angular's Can I Use feature-compatibility catalog (APIs, CLI capabilities, and other Angular features). Returns each match's name, package, description and status per Angular major version. Use this to find the exact feature name/id before calling caniuse_get_feature.

    View tool JSON
    {
      "name": "caniuse_search_features",
      "kind": "act",
      "impl": "imperative",
      "description": "Search Angular's Can I Use feature-compatibility catalog (APIs, CLI capabilities, and other Angular features). Returns each match's name, package, description and status per Angular major version. Use this to find the exact feature name/id before calling caniuse_get_feature.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Case-insensitive substring to match against the feature name."
          },
          "package": {
            "type": "string",
            "description": "Exact npm package name to filter by, e.g. \"@angular/core\"."
          },
          "status": {
            "type": "string",
            "enum": [
              "experimental",
              "preview",
              "stable",
              "deprecated",
              "removed"
            ],
            "description": "Only return features whose latest known status equals this value."
          },
          "limit": {
            "type": "number",
            "description": "Max results to return (default 20, max 100)."
          }
        }
      },
      "page": "/caniuse"
    }
    caniuse_get_featureAction

    Get the full picture for one Angular feature: description, notes, version-by-version status history and links, plus everything needed to migrate off it. Cross-references the replacement feature (if deprecated/removed), the matching ng-update/ng-generate schematic, the matching Angular ESLint caniuse rule, and any matching manually-tracked migration - mixing four separate catalogs so an agent doesn't have to cross-reference tabs by hand.

    View tool JSON
    {
      "name": "caniuse_get_feature",
      "kind": "act",
      "impl": "imperative",
      "description": "Get the full picture for one Angular feature: description, notes, version-by-version status history and links, plus everything needed to migrate off it. Cross-references the replacement feature (if deprecated/removed), the matching ng-update/ng-generate schematic, the matching Angular ESLint caniuse rule, and any matching manually-tracked migration - mixing four separate catalogs so an agent doesn't have to cross-reference tabs by hand.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name or id, e.g. \"Standalone API\" or \"standalone-api\". Partial matches are allowed; if ambiguous, candidate names are returned instead of a guess."
          }
        },
        "required": [
          "name"
        ]
      },
      "page": "/caniuse"
    }
    caniuse_get_upgrade_planAction

    Build an upgrade briefing for moving an Angular app from one major version to another. Mixes five sources: Can I Use feature status changes (newly introduced/promoted/deprecated features), the ng-update migrations catalog (mandatory vs optional schematics), the Angular ESLint caniuse rules introduced in that range, the official Node/TypeScript/RxJS compatibility matrix for the target version, and the official release announcement (and video, when available) for each version crossed. Prefer this over separately calling caniuse_search_features, an eslint lookup and a migrations lookup when the user asks something like "what do I need to do to go from v18 to v22".

    View tool JSON
    {
      "name": "caniuse_get_upgrade_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Build an upgrade briefing for moving an Angular app from one major version to another. Mixes five sources: Can I Use feature status changes (newly introduced/promoted/deprecated features), the ng-update migrations catalog (mandatory vs optional schematics), the Angular ESLint caniuse rules introduced in that range, the official Node/TypeScript/RxJS compatibility matrix for the target version, and the official release announcement (and video, when available) for each version crossed. Prefer this over separately calling caniuse_search_features, an eslint lookup and a migrations lookup when the user asks something like \"what do I need to do to go from v18 to v22\".",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fromVersion": {
            "type": "number",
            "description": "Current Angular major version, e.g. 17."
          },
          "toVersion": {
            "type": "number",
            "description": "Target Angular major version, e.g. 22."
          }
        },
        "required": [
          "fromVersion",
          "toVersion"
        ]
      },
      "page": "/caniuse"
    }
    caniuse_get_mcp_toolsAction

    List the tools and resources exposed by Angular's own development MCP server (the server Angular CLI / IDEs use, e.g. get_best_practices, search_documentation, onpush-zoneless-migration), with their status per Angular version. Not to be confused with this page's own WebMCP tools, which are about the page itself.

    View tool JSON
    {
      "name": "caniuse_get_mcp_tools",
      "kind": "act",
      "impl": "imperative",
      "description": "List the tools and resources exposed by Angular's own development MCP server (the server Angular CLI / IDEs use, e.g. get_best_practices, search_documentation, onpush-zoneless-migration), with their status per Angular version. Not to be confused with this page's own WebMCP tools, which are about the page itself.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "description": "Only compute status as of this Angular version (uses the closest earlier version entry)."
          },
          "type": {
            "type": "string",
            "enum": [
              "tool",
              "resource"
            ]
          },
          "query": {
            "type": "string",
            "description": "Case-insensitive substring to match against the name or description."
          }
        }
      },
      "page": "/caniuse"
    }
    caniuse_list_eslint_rulesAction

    List the Angular ESLint caniuse rules tracked on this page, optionally limited to those available by a given Angular version. Each rule links a lint rule to the Angular feature/version it enforces or helps migrate.

    View tool JSON
    {
      "name": "caniuse_list_eslint_rules",
      "kind": "act",
      "impl": "imperative",
      "description": "List the Angular ESLint caniuse rules tracked on this page, optionally limited to those available by a given Angular version. Each rule links a lint rule to the Angular feature/version it enforces or helps migrate.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "description": "Only include rules introduced at or before this Angular version."
          },
          "query": {
            "type": "string",
            "description": "Case-insensitive substring to match against the name or description."
          }
        }
      },
      "page": "/caniuse"
    }
    caniuse_set_viewAction

    Drive this Can I Use page's own UI: switch tab (features, diff, migrations, update, mcp, eslint), set the global search box, and/or set the package/status filters on the Features tab. Use this so the person watching the browser sees the results you found, instead of only reporting them in chat. Omit a field to leave it unchanged.

    View tool JSON
    {
      "name": "caniuse_set_view",
      "kind": "act",
      "impl": "imperative",
      "description": "Drive this Can I Use page's own UI: switch tab (features, diff, migrations, update, mcp, eslint), set the global search box, and/or set the package/status filters on the Features tab. Use this so the person watching the browser sees the results you found, instead of only reporting them in chat. Omit a field to leave it unchanged.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tab": {
            "type": "string",
            "enum": [
              "features",
              "diff",
              "migrations",
              "update",
              "mcp",
              "eslint"
            ]
          },
          "search": {
            "type": "string"
          },
          "package": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "",
              "experimental",
              "preview",
              "stable",
              "deprecated",
              "removed"
            ]
          }
        }
      },
      "page": "/caniuse"
    }
    caniuse_open_featureAction

    Open the detail panel for one Can I Use feature in the browser: switches to the Features tab, filters the list to it, and opens its detail sheet. Use after caniuse_search_features or caniuse_get_feature to visually surface a result for the person watching.

    View tool JSON
    {
      "name": "caniuse_open_feature",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the detail panel for one Can I Use feature in the browser: switches to the Features tab, filters the list to it, and opens its detail sheet. Use after caniuse_search_features or caniuse_get_feature to visually surface a result for the person watching.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Feature name or id."
          }
        },
        "required": [
          "name"
        ]
      },
      "page": "/caniuse"
    }
    caniuse_current_viewAction

    The Can I Use page's current UI state: active tab, search text, package/status filters, and how many results are currently showing in each tab. Read this before caniuse_set_view to avoid redundant changes.

    View tool JSON
    {
      "name": "caniuse_current_view",
      "kind": "act",
      "impl": "imperative",
      "description": "The Can I Use page's current UI state: active tab, search text, package/status filters, and how many results are currently showing in each tab. Read this before caniuse_set_view to avoid redundant changes.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/caniuse"
    }