angular/packages
Douglas Parker 1963a0eb18 refactor(forms): add provideExperimentalWebMcpForms
This enables the use of the `experimentalWebMcpTool` option on signal forms and implicitly declares a WebMCP tool based on the form data model. This is an experiment inspirted by the WebMCP declarative forms API to see if Angular's framework-level knowledge of the form's declarative data model can produce higher quality WebMCP tools than the web standard can on its own with less effort from the developer.

Example:

```typescript
// main.ts

import {bootstrapApplication} from '@angular/platform-browser';
import {provideExperimentalWebMcpForms} from '@angular/forms';
import {MyComp} from './form';

bootstrapApplication(MyComp, {
  providers: [
    // Activate the feature.
    provideExperimentalWebMcpForms(),
  ],
});
```

```typescript
// form.ts

import {Component, signal} from '@angular/core';
import {form} from '@angular/forms';

@Component({ /* ... */ })
export class MyComp {
  private readonly f = form(signal({
    firstName: '',
    lastName: '',
  }), {
    // Implicitly creates a WebMCP tool named `createUser` which accepts a `firstName` and `lastName` as parameters.
    experimentalWebMcpTool: {
      name: 'createUser',
      description: 'Creates a user with the given name.',
    },

    // Invokes the submit action when the agent calls the WebMCP tool.
    submission: {
      action: () => {
        console.log('User clicked submit, or agent called the tool!');
      },
    },
  });

  // ...
}
```
2026-05-15 11:35:22 -07:00
..
animations refactor(core): use the @Service decorator where possible. 2026-05-07 17:03:30 -06:00
benchpress build: update cross-repo angular dependencies 2026-03-05 11:43:25 -08:00
common refactor(http): update HTTP resource options APIs to stable 2026-05-12 10:48:03 -07:00
compiler fix(compiler): type check invalid for loops 2026-05-13 11:26:42 -07:00
compiler-cli refactor(compiler-cli): Remove unused properties of IndexedComponent interface 2026-05-15 10:37:57 -07:00
core build: update cross-repo angular dependencies to v22.0.0-rc.0 2026-05-15 10:40:32 -07:00
docs/di build: format md files 2025-11-06 10:03:05 -08:00
elements feat(compiler-cli): add support for Node.js 26.0.0 2026-05-06 09:55:38 -07:00
examples feat(core): bootstrap via ApplicationRef with config 2026-04-07 12:48:53 -07:00
forms refactor(forms): add provideExperimentalWebMcpForms 2026-05-15 11:35:22 -07:00
language-service fix(compiler): type check invalid for loops 2026-05-13 11:26:42 -07:00
localize feat(compiler-cli): add support for Node.js 26.0.0 2026-05-06 09:55:38 -07:00
misc/angular-in-memory-web-api docs: normalize product name casing across docs 2026-05-07 16:09:44 -06:00
platform-browser refactor(core): use the @Service decorator where possible. 2026-05-07 17:03:30 -06:00
platform-browser-dynamic feat(compiler-cli): add support for Node.js 26.0.0 2026-05-06 09:55:38 -07:00
platform-server fix(platform-server): forward BEFORE_APP_SERIALIZED errors to ErrorHandler 2026-05-08 15:10:09 -06:00
private/testing build: consolidate domino bundling in platform-server 2026-03-25 13:31:05 -07:00
router refactor(router): Move target RouterState creation before 'blocking' stage 2026-05-11 18:29:52 -07:00
service-worker feat(compiler-cli): add support for Node.js 26.0.0 2026-05-06 09:55:38 -07:00
ssr/docs build: add node type for api extraction 2026-02-11 13:57:58 -08:00
upgrade feat(compiler-cli): add support for Node.js 26.0.0 2026-05-06 09:55:38 -07:00
zone.js release: cut the zone.js-0.16.2 release 2026-05-06 16:44:48 -07:00
BUILD.bazel refactor(platform-browser): remove Hammer integration 2026-03-19 16:13:20 -07:00
circular-deps-test.conf.cjs build: use Node.js built-in TypeScript support for dev-infra scripts 2026-01-02 08:15:40 +01:00
empty.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
goog.d.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
license-banner.txt docs: update copyright year 2026-01-07 12:28:34 -05:00
package.json build: prepare for compiler-cli to be using ts_project (#61181) 2025-05-09 15:59:46 +00:00
README.md build: format md files 2025-11-06 10:03:05 -08:00
system.d.ts refactor: update packages/core:{core,src} to ts_project (#61275) 2025-05-14 12:01:51 +00:00
tsconfig-build.json Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
tsconfig-legacy-saucelabs.json ci: remove remainings of saucelabs tests 2026-04-22 14:41:03 -07:00
tsconfig-test.json
tsconfig.json feat(compiler-cli): enable type checking of host bindings by default (#63654) 2025-09-09 14:34:29 -07:00
tsec-exemption.json
types.d.ts refactor(platform-browser): remove Hammer integration 2026-03-19 16:13:20 -07:00

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

Usage information and reference details can be found in Angular documentation.

License: MIT