Skip to content

Conversation

@amishne
Copy link
Contributor

@amishne amishne commented Oct 31, 2025

New MCP experimental tools:

  • "build" tool: A new MCP tool that allows for one-off, non-watched builds of Angular projects, similar to
    ng build.
  • "serve" tools: A group of new MCP tools to manage the development server:
    • "start_devserver": Starts the Angular development server as a background process.
    • "stop_devserver": Stops a running development server.
    • "wait_for_devserver_build": Waits for a build to complete and reports the logs.

Notes:

  • Implementation mostly follows the design doc for build/serve/test workflow.
  • The currently-alive devservers are stored as part of the MCP context, and so are maintained across tool invocations.
  • Build progress detection relies on hardcoding expected strings to match - see "dev-server.ts".
  • Beyond the unit tests, also tested manually in Gemini CLI.
  • A bunch of tools, included these new ones, just return basic unweighted structured content, so added a utility function in a "utils.ts" file for that functionality.

@amishne amishne requested review from clydin and dgp1130 October 31, 2025 20:50
@angular-robot angular-robot bot added detected: feature PR contains a feature commit area: @angular/cli labels Oct 31, 2025
Copy link
Collaborator

@dgp1130 dgp1130 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together @amishne! Hopefully my comments should be internally consistent, but there might be a few which you addressed in later commits.

I know I left a lot of feedback, feel free to ack and ignore any comments you don't agree with or would rather follow up on separately from this PR. We definitely don't need to expand the scope any more than it already is.

I think probably my most important concern is just about whether we can reduce the dependency on specific log output and hopefully make this a little more durable to internal changes there.

@alan-agius4 alan-agius4 added action: review The PR is still awaiting reviews from at least one requested reviewer target: minor This PR is targeted for the next minor release labels Nov 3, 2025
Copy link
Collaborator

@dgp1130 dgp1130 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to squash or switch to fixup! commits before merging, so "Address review comments" doesn't end up in our permanent history (it's fine for a PR, just don't want it being merged to main).

New tools:

* build
* start_devserver
* stop_devserver
* wait_for_devserver_build

See tool descriptions and MCP documentations for more.
@amishne amishne added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Nov 6, 2025
@alan-agius4 alan-agius4 removed the request for review from clydin November 6, 2025 19:16
@alan-agius4 alan-agius4 merged commit c3c9ac5 into angular:main Nov 6, 2025
32 checks passed
@alan-agius4
Copy link
Collaborator

This PR was merged into the repository. The changes were merged into the following branches:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: @angular/cli detected: feature PR contains a feature commit target: minor This PR is targeted for the next minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants