AGENT SKILL

mcp-apps-builder

Where to look before changing MCP server code in this repo (tools, resources, prompts, widgets, auth). Points to the house skills, the CLAUDE.md invariants, widget-shell's view runtime and the official MCP SDK's typings and docs; it teaches no framework API itself.

License 许可
MIT
所属仓库
Miragon/pulse
最近更新
2026-11-14
Stars
★ 8
Forks
0

01 前言 Front Matter

name
mcp-apps-builder
description
Where to look before changing MCP server code in this repo (tools, resources, prompts, widgets, auth). Points to the house skills, the CLAUDE.md invariants, widget-shell's view runtime and the official MCP SDK's typings and docs; it teaches no framework API itself.

03 SKILL.md 正文

MCP server work in this repo

This repo builds on the official MCP TypeScript SDK: @modelcontextprotocol/server (the server, McpServer, createMcpHandler), @modelcontextprotocol/node (the Node listener) and the MCP Apps extension @modelcontextprotocol/ext-apps (registerAppTool on the server, the App in a view). A module registers on a ModuleServer, which is the SDK's own registerTool/registerPrompt/registerResource, so the SDK's examples apply as they are. What Pulse adds on top (the module contract, the registrar, toolsets, tool errors, the view and feed bindings, server i18n, caller identity) lives in @miragon/pulse-widget-shell/server, the view runtime in @miragon/pulse-widget-shell/widgets, the UI in @miragon/pulse-ui. Read these, in this order:

  1. The root CLAUDE.md: the architecture invariants. Tools go through the registrar, engine access through withEngine, a view through the module's view map under its view tool's name (invariant 3), feeds through buildDataFeedResult, and there is no federation in this server.
  2. The house skill for the change:
    • add-bpm-feature: an engine tool, a cockpit route, a *_data feed or a widget.
  3. widget-shell's README (packages/core/widget-shell/README.md) for everything a widget does: the bundle root, the view host seam, the query hooks and TestViewHost; its UI comes from the design kit (packages/core/ui/README.md). Widgets never import @modelcontextprotocol/ext-apps: only widget-shell's host adapter does. The server half (the module port with ModuleServer, the registrar, showToolBinding, appOnly, the server i18n) and the module test server (recordingModuleServer) are in the same README, under ./server and ./testing.
  4. The official SDK: its docs for tools, prompts and the server (ts.sdk.modelcontextprotocol.io/v2) and for MCP Apps (apps.extensions.modelcontextprotocol.io/api). Read the typings this repo installs (packages/core/widget-shell/node_modules/@modelcontextprotocol/) before you trust an example from the web: they name the version that runs here.

Where an SDK example and the house skills disagree, the house skills win: a tool's view binding comes from showToolBinding, never a hand-written _meta.ui, and the boot serves the view resources, so a connector registers none (an ESLint gate holds that; a customer's module may bring a finished HTML view, see widget-shell's README).

A user-visible change (env vars, tools, ports, getting-started steps) updates the Pulse docs in docs/ in the same PR; they build into the site https://miragon.github.io/pulse/ (pnpm docs:build fails on a dead link). The product page https://miragon.ai/tools/pulse/ is built from Miragon/miragon-ai-docs; a change it shows needs a PR there too.

04 同仓库更多 Skills

Miragon
Miragon/pulse

setup-server

Set up, configure, run, brand, and deploy this composed MCP server. Use whenever connecting a Camunda 7 / CIB seven engine, selecting modules or toolsets (`MCP_ACTIVE_MODULES`), renaming the `@acme` scope, building the Docker image, running behind an MCP gateway, or troubleshooting boot warnings or inspector issues.

后端与接口运维与部署
★ 8
Miragon
Miragon/pulse

create-module

暂无简介

★ 8
Miragon
Miragon/pulse

add-widget

Step-by-step house pattern for adding an interactive widget to a module (the React component built from the design kit `@miragon/pulse-ui` and widget-shell's view runtime, the `show_*` widget tool, the app-only `*_data` feed, the view map keyed by the show tool's name, and a widget test under `TestViewHost`). Use whenever adding or changing widgets, `show_*` tools, `*_data` feeds, in-widget data fetching, or when debugging a widget that renders empty, unstyled, or hangs on "Loading…".

前端开发
★ 8
Miragon
Miragon/pulse

pulse-cli

Inspect and operate Camunda 7, Operaton and CIB seven process engines through their REST API with the Pulse CLI (deployments, process instances, user tasks, external tasks, incidents, jobs, history, variables, decisions), and drive process instances with its workflow commands (inspect, wait, advance, retry, deploy, status). Use it whenever a task needs to read or change the state of such an engine.

★ 8
Miragon
Miragon/pulse

shadcn

Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".

★ 8
Miragon
Miragon/pulse

create-ticket

Create or update a GitHub issue for Pulse using the `gh` CLI. Use when the user asks to "file a bug", "create a feature request", "open a GitHub issue", or "update an existing one". Supports feature, bug, and refactor issue types with structured templates; shows a draft for confirmation before creating or editing; looks up existing issues by number or URL for updates.

代码审查
★ 8