このMCPでできること
Provides React Native and Expo UI components, runtime guidance, and recipes for emitting, installing, updating, and verifying mobile app screens and projects.
ツール
入力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'the TSX snippet to check'}}}
入力スキーマ
{'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.'}}}
入力スキーマ
{'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"'}}}
入力スキーマ
{'type': 'object', 'required': ['need'], 'properties': {'need': {'type': 'string', 'description': 'e.g. "a progress bar for an upload"'}}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'e.g. "button"'}}}
入力スキーマ
{'type': 'object', 'properties': {'components': {'type': 'array', 'items': {'type': 'string'}, 'description': 'optional slugs in use'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'type': 'object', 'properties': {}}
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'the component slug, e.g. "button" or "bottom-sheet"'}}}
入力スキーマ
{'type': 'object', 'properties': {'tech': {'enum': ['system', 'glass', 'blur'], 'type': 'string'}, 'category': {'enum': ['controls', 'chrome', 'surfaces'], 'type': 'string'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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>".'}}}
入力スキーマ
{'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'}}}
入力スキーマ
{'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"}}}
最近のツール変更
類似のMCPサーバー
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.