Repository navigation
v0.8.0
Two new entry points: build an MCP App in Angular from npm, and load a catalog on a server without Angular.
ngx-json-render/mcp is the Angular side of an MCP App, a tool result that Claude, ChatGPT or VS Code renders as an inline view. injectJsonRenderApp() connects to the host and keeps the spec the model passed to the tool in a signal. Until now it lived only in this repository's example.
readonly mcp = injectJsonRenderApp({ name: 'my-app', version: '1.0.0' });
// <json-render [spec]="mcp.spec()" [loading]="mcp.loading()" [registry]="registry" />The spec renders while the model is still writing the tool call. mcp.sendMessage(text, data) posts a user message to the chat, so a button can continue the conversation. mcp.callServerTool(name, args) replaces the spec with another tool's result. See Inside an MCP App host.
ngx-json-render/schema holds the spec grammar with nothing but @json-render/core behind it. A catalog.ts that imports schema from it can be loaded by a plain Node server, tsx or an edge function, with no import '@angular/compiler' workaround.
// catalog.ts
import { schema } from 'ngx-json-render/schema';What changes for your app
- Nothing breaks.
ngx-json-renderstill exports the sameschemaobject, so existing catalogs keep working. @modelcontextprotocol/ext-appsand@modelcontextprotocol/sdkare new optional peers. Install them only if you importngx-json-render/mcp;ng adddoes not add them.
Upgrading
npm i ngx-json-render@0.8.0 ngx-json-render-material@0.3.10Install both: the catalog's peer range moves to ^0.8.0, and npm resolves a mismatched pair by quietly picking an older renderer.
Full Changelog: v0.7.8...v0.8.0