Resources: pascal://scene/current (JSON), /scene/current/summary
(markdown with per-level counts, floor areas, bbox), /catalog/items
(returns catalog_unavailable in headless mode), and the templated
pascal://constraints/{levelId} which exposes slabs + wall footprints
via @pascal-app/core/wall helpers.
Prompts: from_brief (generate scene from a natural-language brief),
iterate_on_feedback (minimal-diff patch proposals), and
renovation_from_photos (orchestrates the vision tools).
17 tests, all passing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
23 lines
987 B
TypeScript
23 lines
987 B
TypeScript
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
|
|
import type { SceneBridge } from '../bridge/scene-bridge'
|
|
import { registerCatalogItems } from './catalog-items'
|
|
import { registerConstraints } from './constraints'
|
|
import { registerSceneCurrent } from './scene-current'
|
|
import { registerSceneSummary } from './scene-summary'
|
|
|
|
/**
|
|
* Registers all MCP resources exposed by `@pascal-app/mcp`.
|
|
*
|
|
* Resources:
|
|
* - `pascal://scene/current` — application/json, full snapshot
|
|
* - `pascal://scene/current/summary` — text/markdown, human summary
|
|
* - `pascal://catalog/items` — application/json, host-supplied catalog
|
|
* - `pascal://constraints/{levelId}` — application/json, per-level constraints
|
|
*/
|
|
export function registerResources(server: McpServer, bridge: SceneBridge): void {
|
|
registerSceneCurrent(server, bridge)
|
|
registerSceneSummary(server, bridge)
|
|
registerCatalogItems(server, bridge)
|
|
registerConstraints(server, bridge)
|
|
}
|