feat(mcp): add resources and prompts
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>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
58ad89e80b
commit
570c605446
@@ -0,0 +1,22 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user