Skip to content

v0.9.7

Choose a tag to compare

@github-actions github-actions released this 10 Oct 19:51
· 57 commits to main since this release

An MCP App from your own catalog in one command: ng generate ngx-json-render:mcp-app.

The server from 0.9.5 and the builder from 0.9.6 still had to be wired by hand. The schematic does the wiring, and sendMessage, which only the repository's example had, is now part of the library.

What's new

  • ng generate ngx-json-render:mcp-app --catalog src/app/catalog.ts#catalog --registry src/app/registry.ts#registry, then ng run mcp-app:mcp and node dist/mcp-app/server.mjs (or --http for http://localhost:3001/mcp).
  • It adds an application project for the view (--name, default mcp-app) that renders the model's spec with your registry and follows the host's light or dark theme, a server.ts for stdio or HTTP, an mcp target built by the ngx-json-render:mcp-app builder, and the MCP peers.
  • Without --catalog and --registry it uses the Angular Material catalog when ngx-json-render-material is installed, with its theme, fonts and CSP, and writes a starter catalog otherwise.
  • The server loads the catalog in Node, so the schematic warns when the catalog file imports Angular.
  • createRenderUiServer({ sendMessage: true }) describes a sendMessage action to the model, so a button in the view can post a message to the chat as the user. Your catalog stays host-neutral; withSendMessage(catalog) returns the extended one.
  • In the view, injectJsonRenderApp() now returns handlers for <json-render [handlers]> and a lastMessage signal, so the view can say when a host declined the message.
  • The repository's MCP App example uses both; its tool definition is byte-identical to before.

The README section In one command has the details.

Upgrading

npm i ngx-json-render@0.9.7. Nothing changes for existing code. The Material catalog's ^0.8.0 || ^0.9.0 peer covers this release, so no catalog update is needed.

Full Changelog: v0.9.6...v0.9.7