{"name":"io.github.MediaSFU/mcp-sdk-tools","slug":"mediasfu-mcp-sdk-tools","title":"MediaSFU","description":"Video, voice, AI agent and SIP calls: create rooms, place calls, read recordings and usage.","url":"https://mcp.market/server/mediasfu-mcp-sdk-tools","rating":null,"grade":"A","score":93,"certified":false,"status":"active","category":"ai","tags":["ai","media"],"presence":{"score":31,"stars":0,"forks":0,"downloads_week":46,"last_push_at":"2026-10-17T20:50:00.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T07:20:57.365Z","last_ok_at":"2026-11-04T07:20:57.365Z","latency_ms":761},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/MediaSFU/mcp-sdk-tools","website":"https://mediasfu.com/docs/usage/mcp?utm_source=mcp-registry&utm_medium=directory&utm_campaign=growth-2026q4","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://mcp.mediasfu.com/mcp"}],"packages":[{"registryType":"npm","identifier":"@mediasfu/mcp-sdk-tools","version":"1.2.0","transport":{"type":"stdio"}}],"tools":[{"name":"android::api.reference.search","description":"MediaSFU Android :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"android::app.scaffold","description":"MediaSFU Android :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"android::env.preflight","description":"MediaSFU Android :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"android::feature.map","description":"MediaSFU Android :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"android::fix.suggest","description":"MediaSFU Android :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"android::integration.plan","description":"MediaSFU Android :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"android::room.bootstrap","description":"MediaSFU Android :: room.bootstrap (guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"android::room.flow.explain","description":"MediaSFU Android :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"android::runtime.diagnose","description":"MediaSFU Android :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"android::sdk.recommend","description":"MediaSFU Android :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"android::security.proxy.rooms","description":"MediaSFU Android :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"android::ui.mode.recommend","description":"MediaSFU Android :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"android::ui.overrides.guide","description":"MediaSFU Android :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"angular::api.reference.search","description":"MediaSFU Angular :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"angular::app.scaffold","description":"MediaSFU Angular :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"angular::env.preflight","description":"MediaSFU Angular :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"angular::feature.map","description":"MediaSFU Angular :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"angular::fix.suggest","description":"MediaSFU Angular :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"angular::integration.plan","description":"MediaSFU Angular :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"angular::room.bootstrap","description":"MediaSFU Angular :: room.bootstrap (guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"angular::room.flow.explain","description":"MediaSFU Angular :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"angular::runtime.diagnose","description":"MediaSFU Angular :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"angular::sdk.recommend","description":"MediaSFU Angular :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"angular::security.proxy.rooms","description":"MediaSFU Angular :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"angular::ui.mode.recommend","description":"MediaSFU Angular :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"angular::ui.overrides.guide","description":"MediaSFU Angular :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"flutter::api.reference.search","description":"MediaSFU Flutter :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"flutter::app.scaffold","description":"MediaSFU Flutter :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"flutter::env.preflight","description":"MediaSFU Flutter :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"flutter::feature.map","description":"MediaSFU Flutter :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"flutter::fix.suggest","description":"MediaSFU Flutter :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"flutter::integration.plan","description":"MediaSFU Flutter :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"flutter::room.bootstrap","description":"MediaSFU Flutter :: room.bootstrap (guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"flutter::room.flow.explain","description":"MediaSFU Flutter :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"flutter::runtime.diagnose","description":"MediaSFU Flutter :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"flutter::sdk.recommend","description":"MediaSFU Flutter :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"flutter::security.proxy.rooms","description":"MediaSFU Flutter :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"flutter::ui.mode.recommend","description":"MediaSFU Flutter :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"flutter::ui.overrides.guide","description":"MediaSFU Flutter :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"kotlin::api.reference.search","description":"MediaSFU Kotlin :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"kotlin::app.scaffold","description":"MediaSFU Kotlin :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"kotlin::env.preflight","description":"MediaSFU Kotlin :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"kotlin::feature.map","description":"MediaSFU Kotlin :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"kotlin::fix.suggest","description":"MediaSFU Kotlin :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"kotlin::integration.plan","description":"MediaSFU Kotlin :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"kotlin::room.bootstrap","description":"MediaSFU Kotlin :: room.bootstrap (guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"kotlin::room.flow.explain","description":"MediaSFU Kotlin :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"kotlin::runtime.diagnose","description":"MediaSFU Kotlin :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"kotlin::sdk.recommend","description":"MediaSFU Kotlin :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"kotlin::security.proxy.rooms","description":"MediaSFU Kotlin :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"kotlin::ui.mode.recommend","description":"MediaSFU Kotlin :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"kotlin::ui.overrides.guide","description":"MediaSFU Kotlin :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"react-native-expo::api.reference.search","description":"MediaSFU React Native Expo :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"react-native-expo::app.scaffold","description":"MediaSFU React Native Expo :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"react-native-expo::env.preflight","description":"MediaSFU React Native Expo :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"react-native-expo::feature.map","description":"MediaSFU React Native Expo :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"react-native-expo::fix.suggest","description":"MediaSFU React Native Expo :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"react-native-expo::integration.plan","description":"MediaSFU React Native Expo :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"react-native-expo::room.bootstrap","description":"MediaSFU React Native Expo :: room.bootstrap (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"react-native-expo::room.flow.explain","description":"MediaSFU React Native Expo :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"react-native-expo::runtime.diagnose","description":"MediaSFU React Native Expo :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"react-native-expo::sdk.recommend","description":"MediaSFU React Native Expo :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"react-native-expo::security.proxy.rooms","description":"MediaSFU React Native Expo :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"react-native-expo::ui.mode.recommend","description":"MediaSFU React Native Expo :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"react-native-expo::ui.overrides.guide","description":"MediaSFU React Native Expo :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"react-native::api.reference.search","description":"MediaSFU React Native :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"react-native::app.scaffold","description":"MediaSFU React Native :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"react-native::env.preflight","description":"MediaSFU React Native :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"react-native::feature.map","description":"MediaSFU React Native :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"react-native::fix.suggest","description":"MediaSFU React Native :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"react-native::integration.plan","description":"MediaSFU React Native :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"react-native::room.bootstrap","description":"MediaSFU React Native :: room.bootstrap (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"react-native::room.flow.explain","description":"MediaSFU React Native :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"react-native::runtime.diagnose","description":"MediaSFU React Native :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"react-native::sdk.recommend","description":"MediaSFU React Native :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"react-native::security.proxy.rooms","description":"MediaSFU React Native :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"react-native::ui.mode.recommend","description":"MediaSFU React Native :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"react-native::ui.overrides.guide","description":"MediaSFU React Native :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"reactjs::api.reference.search","description":"MediaSFU ReactJS :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"reactjs::app.scaffold","description":"MediaSFU ReactJS :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"reactjs::env.preflight","description":"MediaSFU ReactJS :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"reactjs::feature.map","description":"MediaSFU ReactJS :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"reactjs::fix.suggest","description":"MediaSFU ReactJS :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"reactjs::integration.plan","description":"MediaSFU ReactJS :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"reactjs::room.bootstrap","description":"MediaSFU ReactJS :: room.bootstrap (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"reactjs::room.flow.explain","description":"MediaSFU ReactJS :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"reactjs::runtime.diagnose","description":"MediaSFU ReactJS :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"reactjs::sdk.recommend","description":"MediaSFU ReactJS :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"reactjs::security.proxy.rooms","description":"MediaSFU ReactJS :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"reactjs::ui.mode.recommend","description":"MediaSFU ReactJS :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"reactjs::ui.overrides.guide","description":"MediaSFU ReactJS :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"shared::api.reference.search","description":"mediasfu-shared :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"shared::app.scaffold","description":"mediasfu-shared :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"shared::backend.integration.guide","description":"mediasfu-shared :: backend.integration.guide (knowledge).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"shared::credential.broker.plan","description":"mediasfu-shared :: credential.broker.plan (credential-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"clientType":{"type":"string","maxLength":80,"description":"browser, mobile, desktop, Unity, or server."}},"additionalProperties":false}},{"name":"shared::custom-recording.scene.plan","description":"mediasfu-shared :: custom-recording.scene.plan (custom-recording-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"clientPlatform":{"type":"string","maxLength":80,"description":"Browser, mobile, native, or game client."}},"additionalProperties":false}},{"name":"shared::embedded.layout.plan","description":"mediasfu-shared :: embedded.layout.plan (embedded-layout-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"targetSdk":{"type":"string","enum":["reactjs","angular","vue","react-native","react-native-expo","flutter","kotlin","android","swift","unity","shared"]},"environment":{"type":"string","enum":["browser","mobile","desktop","game"]}},"additionalProperties":false}},{"name":"shared::env.preflight","description":"mediasfu-shared :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"shared::external-media.integration.plan","description":"mediasfu-shared :: external-media.integration.plan (knowledge).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"shared::feature.map","description":"mediasfu-shared :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"shared::fix.suggest","description":"mediasfu-shared :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"shared::frontend.architecture.plan","description":"mediasfu-shared :: frontend.architecture.plan (architecture-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["auto","prebuilt","hybrid","headless"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]},"needsWidget":{"type":"boolean"},"needsTelephony":{"type":"boolean"}},"additionalProperties":false}},{"name":"shared::headless.integration.plan","description":"mediasfu-shared :: headless.integration.plan (headless-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"targetSdk":{"type":"string","enum":["reactjs","angular","vue","react-native","react-native-expo","flutter","kotlin","swift","unity","shared"]},"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"shared::integration.plan","description":"mediasfu-shared :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"shared::lifecycle.cleanup.audit","description":"mediasfu-shared :: lifecycle.cleanup.audit (lifecycle-audit).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"codeText":{"type":"string","maxLength":16000,"description":"Sanitized integration code excerpt. Do not include credentials."}},"additionalProperties":false}},{"name":"shared::participant-control.integration.plan","description":"mediasfu-shared :: participant-control.integration.plan (knowledge).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"shared::product.pattern.plan","description":"mediasfu-shared :: product.pattern.plan (product-pattern-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"pattern":{"type":"string","enum":["familiar","auction","watch","agents","voip","spacestek"]}},"additionalProperties":false}},{"name":"shared::room.authority.plan","description":"mediasfu-shared :: room.authority.plan (room-authority-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"operation":{"type":"string","enum":["create","join"]}},"additionalProperties":false}},{"name":"shared::room.bootstrap","description":"mediasfu-shared :: room.bootstrap (guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"shared::room.flow.explain","description":"mediasfu-shared :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"shared::room.lifecycle.plan","description":"mediasfu-shared :: room.lifecycle.plan (room-lifecycle-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"targetSdk":{"type":"string","enum":["reactjs","angular","vue","react-native","react-native-expo","flutter","kotlin","android","swift","unity","shared"]},"intent":{"type":"string","enum":["compare","participant-leave","host-preserve","host-end","rejoin"]}},"additionalProperties":false}},{"name":"shared::runtime.diagnose","description":"mediasfu-shared :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"shared::runtime.readiness.diagnose","description":"mediasfu-shared :: runtime.readiness.diagnose (readiness-diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hasRoomName":{"type":"boolean"},"hasSocket":{"type":"boolean"},"hasLocalSocket":{"type":"boolean"},"participantCount":{"type":"integer","minimum":0,"maximum":100000},"validated":{"type":"boolean"},"failureMessage":{"type":"string","maxLength":2000,"description":"Sanitized SDK failure text."}},"additionalProperties":false}},{"name":"shared::sdk.recommend","description":"mediasfu-shared :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"shared::security.proxy.rooms","description":"mediasfu-shared :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"shared::solution.capsule.plan","description":"mediasfu-shared :: solution.capsule.plan (knowledge).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"shared::telephony.call-control.plan","description":"mediasfu-shared :: telephony.call-control.plan (telephony-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"direction":{"type":"string","enum":["incoming","outgoing","both"]},"needsAiAgent":{"type":"boolean"}},"additionalProperties":false}},{"name":"shared::ui.mode.recommend","description":"mediasfu-shared :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"shared::ui.overrides.guide","description":"mediasfu-shared :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"shared::widget.integration.plan","description":"mediasfu-shared :: widget.integration.plan (widget-planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"widgetType":{"type":"string","maxLength":80,"description":"Widget type, for example click-to-call or meeting."}},"additionalProperties":false}},{"name":"swift::api.reference.search","description":"MediaSFU Apple / Swift :: api.reference.search (reference-search). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"swift::app.scaffold","description":"MediaSFU Apple / Swift :: app.scaffold (scaffold). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"swift::env.preflight","description":"MediaSFU Apple / Swift :: env.preflight (command). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"swift::feature.map","description":"MediaSFU Apple / Swift :: feature.map (mapper). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"swift::fix.suggest","description":"MediaSFU Apple / Swift :: fix.suggest (remediation). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"swift::integration.plan","description":"MediaSFU Apple / Swift :: integration.plan (planner). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"swift::room.bootstrap","description":"MediaSFU Apple / Swift :: room.bootstrap (guide). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"swift::room.flow.explain","description":"MediaSFU Apple / Swift :: room.flow.explain (flow-explainer). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"swift::runtime.diagnose","description":"MediaSFU Apple / Swift :: runtime.diagnose (diagnostic). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"swift::sdk.recommend","description":"MediaSFU Apple / Swift :: sdk.recommend (advisor). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"swift::security.proxy.rooms","description":"MediaSFU Apple / Swift :: security.proxy.rooms (security-guide). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"swift::ui.mode.recommend","description":"MediaSFU Apple / Swift :: ui.mode.recommend (ui-advisor). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"swift::ui.overrides.guide","description":"MediaSFU Apple / Swift :: ui.overrides.guide (ui-overrides). aliases: apple, ios, ipados, macos, swift, swiftui, uikit","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"unity::api.reference.search","description":"MediaSFU Unity :: api.reference.search (reference-search). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"unity::app.scaffold","description":"MediaSFU Unity :: app.scaffold (scaffold). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"unity::env.preflight","description":"MediaSFU Unity :: env.preflight (command). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"unity::feature.map","description":"MediaSFU Unity :: feature.map (mapper). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"unity::fix.suggest","description":"MediaSFU Unity :: fix.suggest (remediation). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"unity::integration.plan","description":"MediaSFU Unity :: integration.plan (planner). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"unity::room.bootstrap","description":"MediaSFU Unity :: room.bootstrap (guide). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Optional topic to locate in the guide."}},"additionalProperties":false}},{"name":"unity::room.flow.explain","description":"MediaSFU Unity :: room.flow.explain (flow-explainer). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"unity::runtime.diagnose","description":"MediaSFU Unity :: runtime.diagnose (diagnostic). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"unity::sdk.recommend","description":"MediaSFU Unity :: sdk.recommend (advisor). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"unity::security.proxy.rooms","description":"MediaSFU Unity :: security.proxy.rooms (security-guide). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"unity::ui.mode.recommend","description":"MediaSFU Unity :: ui.mode.recommend (ui-advisor). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"unity::ui.overrides.guide","description":"MediaSFU Unity :: ui.overrides.guide (ui-overrides). aliases: unity, unity-sdk, csharp-unity","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}},{"name":"vue::api.reference.search","description":"MediaSFU Vue :: api.reference.search (reference-search).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":500,"description":"Search terms for bundled SDK references."}},"required":["query"],"additionalProperties":false}},{"name":"vue::app.scaffold","description":"MediaSFU Vue :: app.scaffold (scaffold).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apply":{"type":"boolean","description":"Write generated files; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."},"overwrite":{"type":"boolean","description":"Replace existing generated files. Defaults to false."},"outputDir":{"type":"string","maxLength":240,"description":"Relative directory below projectRoot. Defaults to mediasfu-generated/<sdk>."}},"additionalProperties":false}},{"name":"vue::env.preflight","description":"MediaSFU Vue :: env.preflight (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"vue::feature.map","description":"MediaSFU Vue :: feature.map (mapper).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"vue::fix.suggest","description":"MediaSFU Vue :: fix.suggest (remediation).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"vue::integration.plan","description":"MediaSFU Vue :: integration.plan (planner).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"vue::room.bootstrap","description":"MediaSFU Vue :: room.bootstrap (command).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"execute":{"type":"boolean","description":"Execute the trusted manifest command; omitted means dry-run."},"projectRoot":{"type":"string","maxLength":1024,"description":"Absolute path to the consumer project. Defaults to the MCP process working directory."}},"additionalProperties":false}},{"name":"vue::room.flow.explain","description":"MediaSFU Vue :: room.flow.explain (flow-explainer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["create","join","both"]}},"additionalProperties":false}},{"name":"vue::runtime.diagnose","description":"MediaSFU Vue :: runtime.diagnose (diagnostic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"errorText":{"type":"string","maxLength":8000,"description":"Sanitized error or log excerpt."}},"required":["errorText"],"additionalProperties":false}},{"name":"vue::sdk.recommend","description":"MediaSFU Vue :: sdk.recommend (advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appType":{"type":"string","maxLength":80,"description":"Application type."},"requestedFeatures":{"type":"array","maxItems":32,"uniqueItems":true,"items":{"type":"string","maxLength":80,"description":"Required feature."}}},"additionalProperties":false}},{"name":"vue::security.proxy.rooms","description":"MediaSFU Vue :: security.proxy.rooms (security-guide).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"backendMode":{"type":"string","enum":["cloud","self-hosted","local"]}},"additionalProperties":false}},{"name":"vue::ui.mode.recommend","description":"MediaSFU Vue :: ui.mode.recommend (ui-advisor).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"customizationLevel":{"type":"string","enum":["low","medium","high"]},"ownershipLevel":{"type":"string","enum":["managed","partial","full"]}},"additionalProperties":false}},{"name":"vue::ui.overrides.guide","description":"MediaSFU Vue :: ui.overrides.guide (ui-overrides).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","maxLength":80,"description":"SDK-supported UI ownership mode."},"focus":{"type":"string","enum":["branding","layout","cards","controls","headless-shell","native-bridge"]}},"additionalProperties":false}}],"scan":{"score":93,"grade":"A","scanned_at":"2026-10-28T18:33:39.583Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-28T18:33:39.479Z","components":{"code":{"score":25,"max":25,"notes":["14 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 715ms"]},"poisoning":{"score":15,"max":15,"notes":["159 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 11 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.mediasfu.com/mcp","reachable":true,"authRequired":false,"latencyMs":715,"serverInfo":{"name":"mediasfu-integration-mcp","version":"0.3.0"}}],"packages":[{"registryType":"npm","identifier":"@mediasfu/mcp-sdk-tools","version":"1.2.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-10-17T21:09:03.287Z","repositoryUrl":"git+https://github.com/MediaSFU/mcp-sdk-tools.git","weeklyDownloads":46}],"repo":{"found":true,"owner":"MediaSFU","repo":"mcp-sdk-tools","archived":false,"pushedAt":"2026-10-17T20:50:00Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/157974639?v=4","ownerCreatedAt":"2024-01-28T15:17:02Z","license":"MIT"},"icon":{"url":"https://mediasfu.com/apple-touch-icon.png","source":"site","width":180,"height":180},"presence":{"stars":0,"forks":0,"downloadsWeek":46,"license":"MIT","lastPushAt":"2026-10-17T20:50:00.000Z","score":31}}}},"grade_history":[],"reviews":[]}