opointo
Qué hace este MCP
Provides React Native and Expo UI components, runtime guidance, and recipes for emitting, installing, updating, and verifying mobile app screens and projects.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['compositionId', 'manifest'], 'properties': {'tab': {'type': 'string', 'description': "nest it in this tab's stack so the tab bar stays visible. Omit to put it at the root, where it covers the tab bar (right for a modal)."}, 'manifest': {'type': 'object', 'description': 'the parsed .opointo/files.json from the project root'}, 'componentName': {'type': 'string', 'description': 'React component name, e.g. "InvoiceDetail". Defaults to GeneratedScreen.'}, 'compositionId': {'type': 'string', 'description': 'share code for the new screen, from the App Builder'}}}
Esquema de entrada
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'the TSX snippet to check'}}}
Esquema de entrada
{'type': 'object', 'required': ['appId'], 'properties': {'appId': {'type': 'string', 'description': 'the share code, e.g. "34ca4babb2"'}, 'override': {'type': 'boolean', 'description': 'emit even when screens are flagged as not ready. Ask the customer first; the flags exist for a reason.'}}}
Esquema de entrada
{'type': 'object', 'required': ['compositionId'], 'properties': {'componentName': {'type': 'string', 'description': 'React component name for the file, e.g. "CheckoutScreen". Defaults to GeneratedScreen.'}, 'compositionId': {'type': 'string', 'description': 'the share code, e.g. "34ca4babb2"'}}}
Esquema de entrada
{'type': 'object', 'required': ['need'], 'properties': {'need': {'type': 'string', 'description': 'e.g. "a progress bar for an upload"'}}}
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'e.g. "button"'}}}
Esquema de entrada
{'type': 'object', 'properties': {'components': {'type': 'array', 'items': {'type': 'string'}, 'description': 'optional slugs in use'}}}
Esquema de entrada
{'type': 'object', 'properties': {'slug': {'type': 'string', 'description': 'optional — omit for catalog-wide rules'}, 'platform': {'enum': ['ios', 'android'], 'type': 'string', 'description': 'optional — omit for the rules on both platforms'}}}
Esquema de entrada
{'type': 'object', 'required': ['appId', 'stepId'], 'properties': {'page': {'type': 'number', 'description': 'which page of the file list (write) or the screen list (review); omit for the first. Each page names the next.'}, 'appId': {'type': 'string', 'description': 'the share code you passed to emit_app'}, 'stepId': {'type': 'string', 'description': 'the step id, e.g. "configure" or "write", or "review" for the screen list'}}}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'the component slug, e.g. "button" or "bottom-sheet"'}}}
Esquema de entrada
{'type': 'object', 'properties': {'tech': {'enum': ['system', 'glass', 'blur'], 'type': 'string'}, 'category': {'enum': ['controls', 'chrome', 'surfaces'], 'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['app'], 'properties': {'app': {'type': 'object', 'description': 'The design: { name, tabs: [{ screenId, label }], screens: [{ id, name, composition: { screen: { content: { children: [node] }, chrome: { header?, headerItems?, floating: [] }, overlays: [] } } }], onboardingScreenIds: [], pushed: [{ screenId, fromScreenId, presentation }], theme? }. A node is { id, slug, props }: slug is a component from list_components or "wireframe:<block>" such as "wireframe:list-row" (a list whose rows open one screen is one row with repeats: "true"), and a content node opens a screen with navigate: { to, presentation }. A top bar is header: { id, slug: "header", props: {} }, titled by the screen\'s name. entryScreenId is only for a splash screen before the tabs. Tab icons, titles and composition metadata are set by the builder.'}, 'dryRun': {'type': 'boolean', 'description': 'check the design and report, without making a link'}}}
Esquema de entrada
{'type': 'object', 'required': ['composition'], 'properties': {'dryRun': {'type': 'boolean', 'description': 'check the screen and report, without making a link'}, 'composition': {'type': 'object', 'description': 'One screen: { name, screen: { content: { children: [node] }, chrome: { header?, headerItems?, floating: [] }, overlays: [] } }. A node is { id, slug, props }: slug is a component from list_components or "wireframe:<block>".'}}}
Esquema de entrada
{'type': 'object', 'required': ['manifest'], 'properties': {'current': {'type': 'array', 'items': {'type': 'object', 'required': ['path'], 'properties': {'sha': {'type': 'string'}, 'path': {'type': 'string'}, 'missing': {'type': 'boolean'}}}, 'description': 'only when a `split-unverified` blocker asks for it: the hash of each named file on disk, from the command the blocker gives'}, 'manifest': {'type': 'object', 'description': 'the parsed contents of .opointo/files.json from the project root (the whole object, or just its `files` array)'}, 'acceptSplit': {'type': 'array', 'items': {'type': 'string'}, 'description': 'only after the customer agreed to replace a file they edited: the paths named by `split-customer-edited` blockers'}}}
Esquema de entrada
{'type': 'object', 'required': ['appId', 'files'], 'properties': {'appId': {'type': 'string', 'description': 'the share code you passed to emit_app'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path'], 'properties': {'sha': {'type': 'string', 'description': 'optional; when present it is authoritative and the byte check is skipped for that file'}, 'path': {'type': 'string'}, 'bytes': {'type': 'number', 'description': 'size in bytes on disk, as `wc -c` reports'}}}, 'description': "what you actually wrote: { path, bytes } per file, path relative to the project root. `bytes` must be the file's size in BYTES on disk (what `wc -c` reports), not its character count — the two differ for any file containing a non-ASCII character."}, 'config': {'type': 'object', 'properties': {'main': {'type': 'string', 'description': 'package.json "main"'}, 'scheme': {'type': 'string', 'description': 'app.json scheme'}, 'plugins': {'type': 'array', 'items': {'type': 'string'}, 'description': 'app.json plugins'}, 'moduleSuffixes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'tsconfig compilerOptions.moduleSuffixes'}, 'nativeModulesDir': {'type': 'string', 'description': 'package.json expo.autolinking.nativeModulesDir; omit if unset. Checked when the recipe ships a native module in src/modules. Unset, that module is never linked and the app crashes on Android at first render'}, 'userInterfaceStyle': {'type': 'string', 'description': 'app.json userInterfaceStyle'}}}, 'toolchain': {'type': 'object', 'properties': {'xcode': {'type': 'string', 'description': 'the version from `xcodebuild -version`, e.g. "26.2". iOS only; omit on a machine without Xcode'}, 'expoSdk': {'type': 'string', 'description': 'the INSTALLED `expo` package version, e.g. "56.0.15" (`npm ls expo`)'}, 'enableSceneSupport': {'type': 'boolean', 'description': 'app.json → expo-build-properties → ios.enableSceneSupport'}, 'expoBuildProperties': {'type': 'string', 'description': 'the INSTALLED `expo-build-properties` version, e.g. "57.0.21"; omit if it is not installed'}}}, 'dependencies': {'type': 'array', 'items': {'type': 'string'}, 'description': "the keys of package.json's dependencies"}}}
Cambios recientes en herramientas
Servidores MCP similares
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Blixtworks
Offers pay-per-call utilities for text, image processing and analysis, data conversion, validation, web inspection, cryptography,…
Compose Preview Catalogs
Browses, renders, compares, audits, and edits Jetpack Compose preview catalogs and associated UI designs.
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
kernelcad
Authors, evaluates, reviews, simulates, edits, and exports parametric CAD assemblies and geometry from editable TypeScript-based …
floot
Creates, edits, previews, databases, and publishes full-stack web and mobile applications with hosted resources and deployment wo…
Raven
Supports coding agents with design audits, design-system guidance, and a configurable visual preference profile.