This is a meta-server that sits between Claude and your collection of other MCP servers. Instead of registering each server individually in Claude Desktop, you register them once in a server_config.json, and the orchestrator aggregates all their tools under a single connection. It namespaces everything as server_name__tool_name and adds a tool_search function that uses BM25 ranking to find relevant tools across your entire fleet without loading them all into context at once. You'd reach for this when you're managing half a dozen MCP servers and want unified discovery and search instead of cluttering Claude's tool list. Supports both stdio and HTTP transports, with optional Redis backing for production deployments.
Public tool metadata for what this MCP can expose to an agent.
get_sampleReturns a complete, compilable Kotlin sample for a given SceneView scenario. Use this to get a working starting point before customising. Call `list_samples` first if you are unsure which scenario fits.1 paramsReturns a complete, compilable Kotlin sample for a given SceneView scenario. Use this to get a working starting point before customising. Call `list_samples` first if you are unsure which scenario fits.
scenariostringmodel-viewer · ar-model-viewer · ar-augmented-image · ar-cloud-anchor · ar-point-cloud · ar-face-meshlist_samplesLists all available SceneView code samples with their IDs, descriptions, and tags. Use this to find the right sample before calling `get_sample`, or to show the user what SceneView can do.1 paramsLists all available SceneView code samples with their IDs, descriptions, and tags. Use this to find the right sample before calling `get_sample`, or to show the user what SceneView can do.
tagstringget_setupReturns the Gradle dependency and AndroidManifest snippet required to use SceneView in an Android project.1 paramsReturns the Gradle dependency and AndroidManifest snippet required to use SceneView in an Android project.
typestring3d · arvalidate_codeChecks a Kotlin or Swift SceneView snippet for common mistakes. For Kotlin: threading violations, wrong destroy order, missing null-checks, LightNode trailing-lambda bug, deprecated 2.x APIs. For Swift: missing @MainActor, async/await patterns, missing imports, RealityKit mist...1 paramsChecks a Kotlin or Swift SceneView snippet for common mistakes. For Kotlin: threading violations, wrong destroy order, missing null-checks, LightNode trailing-lambda bug, deprecated 2.x APIs. For Swift: missing @MainActor, async/await patterns, missing imports, RealityKit mist...
codestringget_migration_guideReturns the full SceneView 2.x → 3.0 migration guide. Use this when a user reports code that worked in 2.x but breaks in 3.0, or when helping someone upgrade.Returns the full SceneView 2.x → 3.0 migration guide. Use this when a user reports code that worked in 2.x but breaks in 3.0, or when helping someone upgrade.
No parameter schema in public metadata yet.
get_node_referenceReturns the full API reference for a specific SceneView node type or composable — parameters, types, and a usage example — parsed directly from the official llms.txt. Use this when you need the exact signature or options for a node (e.g. ModelNode, LightNode, ARScene). If the...1 paramsReturns the full API reference for a specific SceneView node type or composable — parameters, types, and a usage example — parsed directly from the official llms.txt. Use this when you need the exact signature or options for a node (e.g. ModelNode, LightNode, ARScene). If the...
nodeTypestringget_platform_roadmapReturns the SceneView multi-platform roadmap — current Android support status, planned iOS/KMP/web targets, and timeline. Use this when the user asks about cross-platform support, iOS, Kotlin Multiplatform, or future plans.Returns the SceneView multi-platform roadmap — current Android support status, planned iOS/KMP/web targets, and timeline. Use this when the user asks about cross-platform support, iOS, Kotlin Multiplatform, or future plans.
No parameter schema in public metadata yet.
get_best_practicesReturns SceneView performance and architecture best practices — memory management, model optimization, threading rules, Compose integration patterns, and common anti-patterns. Use this when the user asks about performance, optimization, best practices, or architecture.1 paramsReturns SceneView performance and architecture best practices — memory management, model optimization, threading rules, Compose integration patterns, and common anti-patterns. Use this when the user asks about performance, optimization, best practices, or architecture.
categorystringall · performance · architecture · memory · threadingget_ar_setupReturns detailed AR setup instructions — AndroidManifest permissions and features, Gradle dependencies, ARCore session configuration options (depth, light estimation, instant placement, plane detection, image tracking, cloud anchors), and a complete working AR starter template...Returns detailed AR setup instructions — AndroidManifest permissions and features, Gradle dependencies, ARCore session configuration options (depth, light estimation, instant placement, plane detection, image tracking, cloud anchors), and a complete working AR starter template...
No parameter schema in public metadata yet.
get_troubleshootingReturns the SceneView troubleshooting guide — common crashes (SIGABRT, model not showing), build failures, AR issues (drift, overexposure, image detection), and performance problems. Use this when a user reports something not working, a crash, or unexpected behavior.Returns the SceneView troubleshooting guide — common crashes (SIGABRT, model not showing), build failures, AR issues (drift, overexposure, image detection), and performance problems. Use this when a user reports something not working, a crash, or unexpected behavior.
No parameter schema in public metadata yet.
get_ios_setupReturns the complete iOS setup guide for SceneViewSwift — SPM dependency, Package.swift example, minimum platform versions, Info.plist entries for AR (camera permission), and basic SwiftUI integration code. Use this when a user wants to set up SceneView for iOS, macOS, or visi...1 paramsReturns the complete iOS setup guide for SceneViewSwift — SPM dependency, Package.swift example, minimum platform versions, Info.plist entries for AR (camera permission), and basic SwiftUI integration code. Use this when a user wants to set up SceneView for iOS, macOS, or visi...
typestring3d · arget_web_setupReturns the complete Web setup guide for SceneView Web — npm install, Kotlin/JS Gradle config, HTML canvas setup, and basic Filament.js integration code. SceneView Web uses the same Filament rendering engine as Android, compiled to WebAssembly. Use this when a user wants to se...Returns the complete Web setup guide for SceneView Web — npm install, Kotlin/JS Gradle config, HTML canvas setup, and basic Filament.js integration code. SceneView Web uses the same Filament rendering engine as Android, compiled to WebAssembly. Use this when a user wants to se...
No parameter schema in public metadata yet.
render_3d_previewGenerates an interactive 3D preview link. Accepts a model URL, a SceneView code snippet, or both. Returns a URL to sceneview.github.io/preview that renders the model in the browser with orbit controls, AR support, and sharing. For model URLs: embeds a model-viewer link directl...5 paramsGenerates an interactive 3D preview link. Accepts a model URL, a SceneView code snippet, or both. Returns a URL to sceneview.github.io/preview that renders the model in the browser with orbit controls, AR support, and sharing. For model URLs: embeds a model-viewer link directl...
arbooleantitlestringmodelUrlstringautoRotatebooleancodeSnippetstringcreate_3d_artifactGenerates a complete, self-contained HTML page with interactive 3D content that Claude can render as an artifact. Returns valid HTML using model-viewer (Google's web component for 3D). Use this when the user asks to "show", "preview", "visualize" 3D models, create 3D charts/da...7 paramsGenerates a complete, self-contained HTML page with interactive 3D content that Claude can render as an artifact. Returns valid HTML using model-viewer (Google's web component for 3D). Use this when the user asks to "show", "preview", "visualize" 3D models, create 3D charts/da...
dataarraytypestringmodel-viewer · chart-3d · scene · product-360 · geometrytitlestringshapesarrayoptionsobjecthotspotsarraymodelUrlstringget_platform_setupReturns the complete setup guide for any SceneView-supported platform: Android, iOS, Web, Flutter, React Native, Desktop, or Android TV. Includes dependencies, manifest/permissions, minimum SDK, and a working starter template. Replaces `get_setup`, `get_ios_setup`, and `get_we...2 paramsReturns the complete setup guide for any SceneView-supported platform: Android, iOS, Web, Flutter, React Native, Desktop, or Android TV. Includes dependencies, manifest/permissions, minimum SDK, and a working starter template. Replaces `get_setup`, `get_ios_setup`, and `get_we...
typestring3d · arplatformstringandroid · ios · web · flutter · react-native · desktopmigrate_codeAutomatically migrates SceneView 2.x Kotlin code to 3.x. Applies known renames (SceneView→Scene, ArSceneView→ARScene), replaces deprecated APIs (loadModelAsync→rememberModelInstance, Engine.create→rememberEngine), fixes LightNode trailing-lambda bug, removes Sceneform imports,...1 paramsAutomatically migrates SceneView 2.x Kotlin code to 3.x. Applies known renames (SceneView→Scene, ArSceneView→ARScene), replaces deprecated APIs (loadModelAsync→rememberModelInstance, Engine.create→rememberEngine), fixes LightNode trailing-lambda bug, removes Sceneform imports,...
codestringdebug_issueReturns a targeted debugging guide for a specific SceneView issue. Categories: "model-not-showing" (invisible models), "ar-not-working" (AR camera/planes), "crash" (SIGABRT/native), "performance" (low FPS/memory), "build-error" (Gradle/dependency), "black-screen" (no rendering...2 paramsReturns a targeted debugging guide for a specific SceneView issue. Categories: "model-not-showing" (invisible models), "ar-not-working" (AR camera/planes), "crash" (SIGABRT/native), "performance" (low FPS/memory), "build-error" (Gradle/dependency), "black-screen" (no rendering...
categorystringmodel-not-showing · ar-not-working · crash · performance · build-error · black-screendescriptionstringgenerate_sceneGenerates a complete, compilable SceneView{} or ARSceneView{} Kotlin composable from a natural language description. Parses 40+ object types (furniture, vehicles, animals, food, buildings, nature), quantities ("two chairs", "3 spheres"), environment (indoor/outdoor/dark), and...1 paramsGenerates a complete, compilable SceneView{} or ARSceneView{} Kotlin composable from a natural language description. Parses 40+ object types (furniture, vehicles, animals, food, buildings, nature), quantities ("two chairs", "3 spheres"), environment (indoor/outdoor/dark), and...
descriptionstringlist_platformsReturns all platforms supported by SceneView with their renderer, framework, status, and version. Use this to answer questions about what platforms SceneView supports, or to show cross-platform capabilities.Returns all platforms supported by SceneView with their renderer, framework, status, and version. Use this to answer questions about what platforms SceneView supports, or to show cross-platform capabilities.
No parameter schema in public metadata yet.
get_animation_guideReturns a comprehensive guide for animating 3D models in SceneView — playing embedded glTF animations, Spring physics animations (KMP core), Compose property animations (animateFloatAsState, InfiniteTransition), SmoothTransform for smooth following, and AR animated models. Inc...Returns a comprehensive guide for animating 3D models in SceneView — playing embedded glTF animations, Spring physics animations (KMP core), Compose property animations (animateFloatAsState, InfiniteTransition), SmoothTransform for smooth following, and AR animated models. Inc...
No parameter schema in public metadata yet.
get_gesture_guideReturns a comprehensive guide for adding gestures to 3D objects in SceneView — isEditable for one-line pinch-to-scale/drag-to-rotate/tap-to-select, custom onTouchEvent handlers, AR tap-to-place, drag-to-rotate with sensitivity, pinch-to-scale with limits, multi-model selection...Returns a comprehensive guide for adding gestures to 3D objects in SceneView — isEditable for one-line pinch-to-scale/drag-to-rotate/tap-to-select, custom onTouchEvent handlers, AR tap-to-place, drag-to-rotate with sensitivity, pinch-to-scale with limits, multi-model selection...
No parameter schema in public metadata yet.
get_performance_tipsReturns a comprehensive performance optimization guide for SceneView — polygon budgets per device tier, LOD, texture compression (KTX2/Basis Universal), mesh compression (Draco/Meshopt), engine reuse, per-frame allocation avoidance, frustum culling, instancing, lighting optimi...Returns a comprehensive performance optimization guide for SceneView — polygon budgets per device tier, LOD, texture compression (KTX2/Basis Universal), mesh compression (Draco/Meshopt), engine reuse, per-frame allocation avoidance, frustum culling, instancing, lighting optimi...
No parameter schema in public metadata yet.
get_material_guideReturns a comprehensive guide for PBR materials in SceneView — baseColor, metallic, roughness, reflectance, emissive, clearCoat, normal maps. Includes recipes for common materials (glass, chrome, gold, rubber, car paint), code samples for modifying materials on ModelNode, text...Returns a comprehensive guide for PBR materials in SceneView — baseColor, metallic, roughness, reflectance, emissive, clearCoat, normal maps. Includes recipes for common materials (glass, chrome, gold, rubber, car paint), code samples for modifying materials on ModelNode, text...
No parameter schema in public metadata yet.
get_collision_guideReturns a comprehensive guide for collision detection, hit testing, and physics in SceneView — node tapping (onTouchEvent), AR surface hit testing (frame.hitTest), ray-box/ray-sphere intersection (KMP core), bounding boxes, and basic rigid body physics. Use this when a user as...Returns a comprehensive guide for collision detection, hit testing, and physics in SceneView — node tapping (onTouchEvent), AR surface hit testing (frame.hitTest), ray-box/ray-sphere intersection (KMP core), bounding boxes, and basic rigid body physics. Use this when a user as...
No parameter schema in public metadata yet.
get_model_optimization_guideReturns a complete guide for optimizing 3D models for SceneView — polygon budgets per device tier, file size targets, Draco/Meshopt mesh compression, KTX2 texture compression, the recommended optimization pipeline (gltf-transform CLI), texture sizing rules, LOD strategies, and...Returns a complete guide for optimizing 3D models for SceneView — polygon budgets per device tier, file size targets, Draco/Meshopt mesh compression, KTX2 texture compression, the recommended optimization pipeline (gltf-transform CLI), texture sizing rules, LOD strategies, and...
No parameter schema in public metadata yet.
get_web_rendering_guideReturns a comprehensive guide for SceneView Web (Filament.js WASM) — architecture, quick start (sceneview.js npm or Kotlin/JS), IBL environment lighting (critical for PBR quality), rendering quality settings (SSAO, bloom, TAA), camera exposure tuning, Filament.js vs model-view...Returns a comprehensive guide for SceneView Web (Filament.js WASM) — architecture, quick start (sceneview.js npm or Kotlin/JS), IBL environment lighting (critical for PBR quality), rendering quality settings (SSAO, bloom, TAA), camera exposure tuning, Filament.js vs model-view...
No parameter schema in public metadata yet.
search_modelsSearches Sketchfab for free 3D models matching a natural-language query and returns a shortlist with names, authors, licenses, thumbnails, triangle counts, and viewer/embed URLs. Use this BEFORE generating SceneView code when the user asks for a specific asset ("a red sports c...4 paramsSearches Sketchfab for free 3D models matching a natural-language query and returns a shortlist with names, authors, licenses, thumbnails, triangle counts, and viewer/embed URLs. Use this BEFORE generating SceneView code when the user asks for a specific asset ("a red sports c...
querystringcategorystringmaxResultsnumberdownloadablebooleananalyze_projectScans a local SceneView project on the user's machine and returns a structured analysis: detected project type (Android, iOS, Web), extracted SceneView dependency version, whether it is outdated vs the latest known release, and any known anti-patterns found by reading source f...1 paramsScans a local SceneView project on the user's machine and returns a structured analysis: detected project type (Android, iOS, Web), extracted SceneView dependency version, whether it is outdated vs the latest known release, and any known anti-patterns found by reading source f...
pathstringget_car_configuratorReturns a complete, compilable Kotlin composable for a 3D car configurator using SceneView. Supports 10 body styles (sedan, SUV, coupe, sports, electric, etc.). Features include color picker with 8 paint options, material variants (metallic, matte, pearlescent, gloss), camera...6 paramsReturns a complete, compilable Kotlin composable for a 3D car configurator using SceneView. Supports 10 body styles (sedan, SUV, coupe, sports, electric, etc.). Features include color picker with 8 paint options, material variants (metallic, matte, pearlescent, gloss), camera...
arbooleanbodyStylestringsedan · suv · coupe · hatchback · convertible · truckturntablebooleancolorPickerbooleancameraPresetsarraymaterialVariantsbooleanget_hud_overlayReturns a complete, compilable Kotlin composable for a heads-up display overlay using SceneView ViewNode. HUD elements include speedometer, navigation arrows, alerts, fuel gauge, temperature, gear indicator, turn signals, and lane assist. Choose from 6 styles (minimal, sport,...5 paramsReturns a complete, compilable Kotlin composable for a heads-up display overlay using SceneView ViewNode. HUD elements include speedometer, navigation arrows, alerts, fuel gauge, temperature, gear indicator, turn signals, and lane assist. Choose from 6 styles (minimal, sport,...
arbooleanstylestringminimal · sport · luxury · combat · eco · retrounitsstringmetric · imperialelementsarraynightModebooleanget_dashboard_3dReturns a complete, compilable Kotlin composable for a 3D instrument cluster using SceneView. Gauge types: speedometer, tachometer, fuel, temperature, oil-pressure, battery, boost, odometer. Themes: classic, digital, sport, luxury, electric, retro. The dashboard housing is a 3...5 paramsReturns a complete, compilable Kotlin composable for a 3D instrument cluster using SceneView. Gauge types: speedometer, tachometer, fuel, temperature, oil-pressure, battery, boost, odometer. Themes: classic, digital, sport, luxury, electric, retro. The dashboard housing is a 3...
arbooleanthemestringclassic · digital · sport · luxury · electric · retrogaugesarrayanimatedbooleaninteractivebooleanget_ar_showroomReturns a complete, compilable Kotlin composable for an AR car showroom using SceneView ARScene. Place a full-size car in your driveway, parking lot, garage, showroom floor, or street. Features include walk-around, open doors animation, color swap, real-world measurements, sid...4 paramsReturns a complete, compilable Kotlin composable for an AR car showroom using SceneView ARScene. Place a full-size car in your driveway, parking lot, garage, showroom floor, or street. Features include walk-around, open doors animation, color swap, real-world measurements, sid...
shadowsbooleanfeaturesarraylocationstringdriveway · parking-lot · garage · showroom-floor · street · outdoorrealScalebooleanget_parts_catalogReturns a complete, compilable Kotlin composable for a 3D parts catalog explorer using SceneView. Categories: engine, transmission, suspension, brakes, exhaust, interior, body, electrical, wheels, cooling. Features include exploded-view slider, part selection highlighting, det...5 paramsReturns a complete, compilable Kotlin composable for a 3D parts catalog explorer using SceneView. Categories: engine, transmission, suspension, brakes, exhaust, interior, body, electrical, wheels, cooling. Features include exploded-view slider, part selection highlighting, det...
arbooleanpricingbooleancategorystringengine · transmission · suspension · brakes · exhaust · interiorfeaturesarraypartNumbersbooleanget_ev_charging_station_viewerReturns a complete, compilable Kotlin composable that renders a 3D EV charging station model with an overlay UI showing live charge level, available bays, and estimated time to full. Supports 5 connector types (CCS, CHAdeMO, Type 2, Tesla, J1772) and 4 station layouts (single,...4 paramsReturns a complete, compilable Kotlin composable that renders a 3D EV charging station model with an overlay UI showing live charge level, available bays, and estimated time to full. Supports 5 connector types (CCS, CHAdeMO, Type 2, Tesla, J1772) and 4 station layouts (single,...
arbooleanlayoutstringsingle · dual · bank · canopyoverlaybooleanconnectorstringccs · chademo · type2 · tesla · j1772get_car_paint_shaderReturns a realistic Filament .mat car-paint material definition (clearcoat + optional metallic flakes) plus a Kotlin SceneView snippet showing how to compile it to .filamat and apply it to a loaded car model's material instances. Parameters are physically based: baseColor, met...6 paramsReturns a realistic Filament .mat car-paint material definition (clearcoat + optional metallic flakes) plus a Kotlin SceneView snippet showing how to compile it to .filamat and apply it to a loaded car model's material instances. Parameters are physically based: baseColor, met...
finishstringsolid · metallic · pearlescent · mattemetallicnumberclearcoatnumberroughnessnumberbaseColorHexstringclearcoatRoughnessnumberlist_car_modelsLists free, openly-licensed 3D car models suitable for SceneView apps. Includes the Khronos ToyCar (CC0, GLB ready), Sketchfab free cars (sedans, SUVs, sports, classics, EVs), engine assemblies, brake calipers, suspension kits, interior cockpits, steering wheels, and dashboard...2 paramsLists free, openly-licensed 3D car models suitable for SceneView apps. Includes the Khronos ToyCar (CC0, GLB ready), Sketchfab free cars (sedans, SUVs, sports, classics, EVs), engine assemblies, brake calipers, suspension kits, interior cockpits, steering wheels, and dashboard...
tagstringcategorystringcomplete-car · concept · classic · parts · interior · wheelsvalidate_automotive_codeValidates a Kotlin SceneView snippet for common automotive-app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, automotive-specific issues (unrealistic scale, unsupport...1 paramsValidates a Kotlin SceneView snippet for common automotive-app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, automotive-specific issues (unrealistic scale, unsupport...
codestringget_character_viewerReturns a complete, compilable Kotlin composable for a 3D character viewer with animation state management using SceneView. Supports humanoid, cartoon, chibi, robot, creature, animal, fantasy, and sci-fi character styles. Includes switchable animation states (idle, walk, run,...5 paramsReturns a complete, compilable Kotlin composable for a 3D character viewer with animation state management using SceneView. Supports humanoid, cartoon, chibi, robot, creature, animal, fantasy, and sci-fi character styles. Includes switchable animation states (idle, walk, run,...
arbooleanstylestringhumanoid · cartoon · chibi · robot · creature · animalanimationsarrayautoRotatebooleanshowControlsbooleanget_level_editorReturns a complete, compilable Kotlin composable for a procedural level editor using SceneView. Uses built-in geometry nodes (CubeNode, SphereNode, CylinderNode) for real-time level construction — no external models needed. Supports 10 themes (dungeon, forest, space, underwate...6 paramsReturns a complete, compilable Kotlin composable for a procedural level editor using SceneView. Uses built-in geometry nodes (CubeNode, SphereNode, CylinderNode) for real-time level construction — no external models needed. Supports 10 themes (dungeon, forest, space, underwate...
arbooleanthemestringdungeon · forest · space · underwater · desert · cityeditablebooleangridSizenumbershowGridbooleangeometriesarrayget_physics_gameReturns a complete, compilable Kotlin composable for a physics simulation game using SceneView. Includes full Euler integration physics with gravity, bounciness, collision detection, and response. Presets: bouncing-balls, bowling, billiards, marble-run, tower-collapse, pong-3d...5 paramsReturns a complete, compilable Kotlin composable for a physics simulation game using SceneView. Includes full Euler integration physics with gravity, bounciness, collision detection, and response. Presets: bouncing-balls, bowling, billiards, marble-run, tower-collapse, pong-3d...
arbooleanpresetstringbouncing-balls · bowling · billiards · marble-run · tower-collapse · pong-3dgravitystringearth · moon · mars · jupiter · zero-g · reversebouncinessnumbershowTrajectorybooleanget_particle_effectsReturns a complete, compilable Kotlin composable for visual particle effects using SceneView. Effects: fire, smoke, sparkles, rain, snow, explosion, magic, confetti, bubbles, fireflies. Each particle is rendered as a SphereNode with per-frame position, size, and lifetime updat...5 paramsReturns a complete, compilable Kotlin composable for visual particle effects using SceneView. Effects: fire, smoke, sparkles, rain, snow, explosion, magic, confetti, bubbles, fireflies. Each particle is rendered as a SphereNode with per-frame position, size, and lifetime updat...
arbooleanloopbooleaneffectstringfire · smoke · sparkles · rain · snow · explosionblendModestringadditive · alpha · multiply · screenparticleCountnumberget_inventory_3dReturns a complete, compilable Kotlin composable for a 3D game item inventory with interactive preview using SceneView. Layout options: grid, carousel, list, radial. Selecting an item shows a 3D model preview with auto-rotation. Includes category filter tabs, item stats panel,...6 paramsReturns a complete, compilable Kotlin composable for a 3D game item inventory with interactive preview using SceneView. Layout options: grid, carousel, list, radial. Selecting an item shows a 3D model preview with auto-rotation. Includes category filter tabs, item stats panel,...
arbooleanlayoutstringgrid · carousel · list · radialcolumnsnumbershowStatsbooleanautoRotatebooleancategoriesarraylist_game_modelsLists free, openly-licensed 3D game models suitable for SceneView apps. Sources include Khronos glTF Sample Models (CC BY/CC0), Kenney.nl (CC0 Public Domain), Quaternius (CC0), and Sketchfab (CC BY). Categories: character, weapon, vehicle, environment, prop, creature, building...2 paramsLists free, openly-licensed 3D game models suitable for SceneView apps. Sources include Khronos glTF Sample Models (CC BY/CC0), Kenney.nl (CC0 Public Domain), Quaternius (CC0), and Sketchfab (CC BY). Categories: character, weapon, vehicle, environment, prop, creature, building...
tagstringcategorystringcharacter · weapon · vehicle · environment · prop · creaturevalidate_game_codeValidates a Kotlin SceneView snippet for common gaming-app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, physics timestep issues, particle performance, animation saf...1 paramsValidates a Kotlin SceneView snippet for common gaming-app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, physics timestep issues, particle performance, animation saf...
codestringget_anatomy_viewerReturns a complete, compilable Kotlin composable for a 3D anatomy viewer using SceneView. Supports skeleton, muscular, circulatory, nervous, respiratory, digestive, and other body systems. Choose a body region (head, torso, upper-limb, lower-limb, spine, pelvis, hand, foot, fu...6 paramsReturns a complete, compilable Kotlin composable for a 3D anatomy viewer using SceneView. Supports skeleton, muscular, circulatory, nervous, respiratory, digestive, and other body systems. Choose a body region (head, torso, upper-limb, lower-limb, spine, pelvis, hand, foot, fu...
arbooleanlabelsbooleanregionstringhead · torso · upper-limb · lower-limb · spine · pelvissystemstringskeleton · muscular · circulatory · nervous · respiratory · digestiveexplodedbooleantransparentbooleanget_molecule_viewerReturns a complete, compilable Kotlin composable for a 3D molecular structure viewer using SceneView. Supports proteins, DNA, RNA, small molecules, antibodies, viruses, and enzymes. Choose representation (ball-and-stick, space-filling, ribbon, wireframe, surface) and color sch...7 paramsReturns a complete, compilable Kotlin composable for a 3D molecular structure viewer using SceneView. Supports proteins, DNA, RNA, small molecules, antibodies, viruses, and enzymes. Choose representation (ball-and-stick, space-filling, ribbon, wireframe, surface) and color sch...
arbooleanpdbIdstringanimatebooleancolorSchemestringelement · chain · secondary-structure · hydrophobicity · custommoleculeTypestringprotein · dna · rna · small-molecule · antibody · virusshowHydrogensbooleanrepresentationstringball-and-stick · space-filling · ribbon · wireframe · surfaceget_medical_imagingReturns a complete, compilable Kotlin composable for 3D visualization of medical imaging data (CT, MRI, PET, ultrasound, X-ray) using SceneView. Includes the full DICOM-to-3D pipeline documentation: parsing DICOM with dcm4che, generating 3D meshes with marching cubes, and rend...6 paramsReturns a complete, compilable Kotlin composable for 3D visualization of medical imaging data (CT, MRI, PET, ultrasound, X-ray) using SceneView. Includes the full DICOM-to-3D pipeline documentation: parsing DICOM with dcm4che, generating 3D meshes with marching cubes, and rend...
arbooleanmodalitystringct · mri · pet · ultrasound · xraywindowingbooleanbodyRegionstringsegmentationbooleanrenderingModestringvolume · surface · mip · sliceget_surgical_planningReturns a complete, compilable Kotlin composable for surgical planning 3D visualization using SceneView. Supports orthopedic, cardiac, neurosurgery, maxillofacial, spinal, laparoscopic, and ophthalmic surgery types. Features include measurement tools, annotation, cross-section...5 paramsReturns a complete, compilable Kotlin composable for surgical planning 3D visualization using SceneView. Supports orthopedic, cardiac, neurosurgery, maxillofacial, spinal, laparoscopic, and ophthalmic surgery types. Features include measurement tools, annotation, cross-section...
arbooleanfeaturesarraysurgeryTypestringorthopedic · cardiac · neurosurgery · maxillofacial · spinal · laparoscopicimplantModelbooleanpreOpComparisonbooleanget_dental_viewerReturns a complete, compilable Kotlin composable for dental 3D scanning visualization using SceneView. View types include full-arch, single-tooth, implant, orthodontic, crown-bridge, intraoral-scan, and CBCT reconstruction. Features include measurement, margin line drawing, oc...6 paramsReturns a complete, compilable Kotlin composable for dental 3D scanning visualization using SceneView. View types include full-arch, single-tooth, implant, orthodontic, crown-bridge, intraoral-scan, and CBCT reconstruction. Features include measurement, margin line drawing, oc...
arbooleanarchstringupper · lower · bothfeaturesarrayviewTypestringfull-arch · single-tooth · implant · orthodontic · crown-bridge · intraoral-scanshowRootsbooleanshowNervesbooleanlist_medical_modelsLists free, openly-licensed 3D medical models suitable for SceneView apps. Sources include BodyParts3D (CC BY-SA), NIH 3D Print Exchange (Public Domain), and Sketchfab (CC BY). Categories: anatomy, skeleton, organ, muscle, dental, molecule, cell, surgical, imaging, prosthetic....2 paramsLists free, openly-licensed 3D medical models suitable for SceneView apps. Sources include BodyParts3D (CC BY-SA), NIH 3D Print Exchange (Public Domain), and Sketchfab (CC BY). Categories: anatomy, skeleton, organ, muscle, dental, molecule, cell, surgical, imaging, prosthetic....
tagstringcategorystringanatomy · skeleton · organ · muscle · dental · moleculevalidate_medical_codeValidates a Kotlin SceneView snippet for common medical-app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, DICOM library requirements, STL/OBJ format warnings, and tr...1 paramsValidates a Kotlin SceneView snippet for common medical-app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, DICOM library requirements, STL/OBJ format warnings, and tr...
codestringget_room_plannerReturns a complete, compilable Kotlin composable for a 3D room layout planner using SceneView. Procedurally generates walls, floor, ceiling with configurable dimensions. Supports living room, bedroom, kitchen, bathroom, dining room, office, studio, hallway, garage, and open-pl...9 paramsReturns a complete, compilable Kotlin composable for a 3D room layout planner using SceneView. Procedurally generates walls, floor, ceiling with configurable dimensions. Supports living room, bedroom, kitchen, bathroom, dining room, office, studio, hallway, garage, and open-pl...
arbooleandoorsnumberwindowsnumberroomTypestringliving-room · bedroom · kitchen · bathroom · dining-room · officewallStylestringstandard · brick · concrete · wood-panel · glassfloorStylestringhardwood · tile · carpet · marble · concrete · laminatewidthMetersnumberheightMetersnumberlengthMetersnumberget_furniture_placementReturns a complete, compilable Kotlin composable for AR furniture placement using SceneView. Place furniture in your real room — tap a surface to position, rotate and scale. Supports sofa, chair, table, bed, desk, shelf, wardrobe, cabinet, lamp, rug, plant, and mirror. Options...7 paramsReturns a complete, compilable Kotlin composable for AR furniture placement using SceneView. Place furniture in your real room — tap a surface to position, rotate and scale. Supports sofa, chair, table, bed, desk, shelf, wardrobe, cabinet, lamp, rug, plant, and mirror. Options...
arbooleansizestringsmall · medium · large · customcategorystringsofa · chair · table · bed · desk · shelfcolorHexstringscalablebooleanmodelPathstringrotatablebooleanget_material_switcherReturns a complete, compilable Kotlin composable for switching wall paint, floor material, fabric, and other surfaces in 3D using SceneView. Live-preview colors and textures on a room model with real-time PBR material updates. Surfaces: wall-paint, floor, ceiling, backsplash,...6 paramsReturns a complete, compilable Kotlin composable for switching wall paint, floor material, fabric, and other surfaces in 3D using SceneView. Live-preview colors and textures on a room model with real-time PBR material updates. Surfaces: wall-paint, floor, ceiling, backsplash,...
arbooleancolorsarrayfinishstringmatte · satin · semi-gloss · gloss · eggshellsurfacestringwall-paint · floor · ceiling · backsplash · countertop · fabricbeforeAfterbooleantexturePathsarrayget_lighting_designReturns a complete, compilable Kotlin composable for interior lighting design using SceneView. Configure multiple light types in a 3D room scene — ambient, spot, accent, pendant, recessed, track, sconce, floor lamp, table lamp, chandelier, strip LED, and natural light. Options...6 paramsReturns a complete, compilable Kotlin composable for interior lighting design using SceneView. Configure multiple light types in a 3D room scene — ambient, spot, accent, pendant, recessed, track, sconce, floor lamp, table lamp, chandelier, strip LED, and natural light. Options...
arbooleanlightsarraydimmablebooleanroomModelstringshowShadowsbooleancolorTemperaturestringwarm-white · neutral-white · cool-white · daylight · candlelightget_room_tourReturns a complete, compilable Kotlin composable for an animated camera walkthrough of a 3D room using SceneView. Tour styles: orbit (circle around room), walkthrough (first-person path), flyover (elevated bird's eye), dolly (forward/backward), panoramic (360 from center). Opt...7 paramsReturns a complete, compilable Kotlin composable for an animated camera walkthrough of a 3D room using SceneView. Tour styles: orbit (circle around room), walkthrough (first-person path), flyover (elevated bird's eye), dolly (forward/backward), panoramic (360 from center). Opt...
arbooleanloopbooleanspeedstringslow · normal · fastroomModelstringtourStylestringorbit · walkthrough · flyover · dolly · panoramicwaypointsnumberpauseOnInteractionbooleanlist_furniture_modelsLists free, openly-licensed 3D furniture models suitable for SceneView apps. Sources include Poly Haven (CC0), Khronos glTF Sample Assets (Apache 2.0 / CC BY 4.0), and Sketchfab (CC BY 4.0). Categories: seating, table, bed, storage, lighting, decor, kitchen, bathroom, outdoor,...2 paramsLists free, openly-licensed 3D furniture models suitable for SceneView apps. Sources include Poly Haven (CC0), Khronos glTF Sample Assets (Apache 2.0 / CC BY 4.0), and Sketchfab (CC BY 4.0). Categories: seating, table, bed, storage, lighting, decor, kitchen, bathroom, outdoor,...
tagstringcategorystringseating · table · bed · storage · lighting · decorvalidate_interior_codeValidates a Kotlin SceneView snippet for common interior-design app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, unsupported format warnings (FBX, OBJ, 3DS), textur...1 paramsValidates a Kotlin SceneView snippet for common interior-design app mistakes. Checks threading violations (Filament JNI on background thread), null-safety for model loading, LightNode trailing-lambda bug, deprecated 2.x APIs, unsupported format warnings (FBX, OBJ, 3DS), textur...
codestringsetup_rerun_projectGenerates the minimum set of files a SceneView developer needs to start logging to Rerun. Supports Android (Gradle + Kotlin composable), iOS (Package.swift + SwiftUI view), Web (HTML with the Rerun Web Viewer WASM module embedded next to a SceneView canvas), and a standalone P...3 paramsGenerates the minimum set of files a SceneView developer needs to start logging to Rerun. Supports Android (Gradle + Kotlin composable), iOS (Package.swift + SwiftUI view), Web (HTML with the Rerun Web Viewer WASM module embedded next to a SceneView canvas), and a standalone P...
platformstringandroid · ios · web · pythontargetDirstringincludeSidecarbooleangenerate_ar_loggerReturns a ready-to-paste Kotlin (Jetpack Compose) or Swift (SwiftUI) helper that streams an AR session to Rerun. Pick which data types to log — camera pose, detected planes, point clouds, anchors, hit results — and the optional throttle (default 10 Hz). The generated code uses...5 paramsReturns a ready-to-paste Kotlin (Jetpack Compose) or Swift (SwiftUI) helper that streams an AR session to Rerun. Pick which data types to log — camera pose, detected planes, point clouds, anchors, hit results — and the optional throttle (default 10 Hz). The generated code uses...
hoststringportnumberrateHznumberlanguagestringkotlin · swiftdataTypesarraygenerate_python_sidecarReturns a standalone Python script that listens on a TCP port for the JSON-lines wire format emitted by a SceneView RerunBridge client (Android or iOS) and re-logs each event into the Rerun viewer as the matching archetype (Transform3D for poses, Points3D for clouds, LineStrip...3 paramsReturns a standalone Python script that listens on a TCP port for the JSON-lines wire format emitted by a SceneView RerunBridge client (Android or iOS) and re-logs each event into the Rerun viewer as the matching archetype (Transform3D for poses, Points3D for clouds, LineStrip...
portnumberspawnViewerbooleanrecordingNamestringembed_web_viewerReturns an HTML + module-script snippet that embeds the Rerun Web Viewer (WASM) in a web page, pointing at a .rrd file you host. Useful for publishing playback-ready AR sessions next to your SceneView canvas in documentation, landing pages, or sample pages. Returns three views...5 paramsReturns an HTML + module-script snippet that embeds the Rerun Web Viewer (WASM) in a web page, pointing at a .rrd file you host. Useful for publishing playback-ready AR sessions next to your SceneView canvas in documentation, landing pages, or sample pages. Returns three views...
rrdUrlstringtimeRangearraycontainerIdstringhideWelcomebooleanviewerVersionstringexplain_conceptReturns a focused, SceneView-developer-friendly explanation of a single Rerun concept: rrd file format, timelines, entity paths, archetypes (Transform3D/Points3D/Mesh3D/etc.), or the coordinate system and transform conventions. Use this to onboard developers to Rerun without t...1 paramsReturns a focused, SceneView-developer-friendly explanation of a single Rerun concept: rrd file format, timelines, entity paths, archetypes (Transform3D/Points3D/Mesh3D/etc.), or the coordinate system and transform conventions. Use this to onboard developers to Rerun without t...
conceptstringrrd · timelines · entities · archetypes · transformsA central hub that connects to multiple downstream MCP servers, aggregates their tools, and provides unified access with powerful tool search capabilities.
Built around deferred tool loading — search across all your servers without blowing Claude's context window.
server_name__tool_name formatpip install mcp-orchestrator
# Run as stdio MCP server (for Claude Desktop, Cursor, etc.)
mcp-orchestrator
# Or run with Python directly
python -m mcp_orchestrator.main
HTTP Transport:
ORCHESTRATOR_TRANSPORT=http ORCHESTRATOR_PORT=8080 python -m mcp_orchestrator.main
This starts the server on http://localhost:8080/mcp with CORS enabled.
Add downstream MCP servers in server_config.json:
{
"servers": [
{
"name": "my-server",
"url": "http://localhost:8080/mcp",
"transport": "http",
"auth_type": "static",
"auth_headers": {
"Authorization": "Bearer my-token"
}
},
{
"name": "my-stdio-server",
"url": "server.py",
"transport": "stdio",
"command": "uv",
"args": ["run", "python", "server.py"]
}
]
}
The orchestrator provides unified tool search (BM25 by default, regex optional):
# BM25 search (default - natural language)
results = await mcp_client.call_tool("tool_search", {
"query": "get weather information",
"max_results": 3
})
# Regex search (set use_regex=true)
results = await mcp_client.call_tool("tool_search", {
"query": "weather|forecast",
"use_regex": true,
"max_results": 3
})
┌─────────────────────────────────────────────────────┐
│ MCP Orchestrator │
│ │
│ ┌──────────────────────────────────────────────┐ │
│ │ FastMCP Server │ │
│ │ ┌─────────────┐ ┌──────────────────┐ │ │
│ │ │ tool_search │ │ call_remote_tool │ │ │
│ │ └─────────────┘ └──────────────────┘ │ │
│ └──────────────────────────────────────────────┘ │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Server │ │ Tool │ │ Storage │ │
│ │ Registry │ │ Search │ │(Memory/Redis)│ │
│ └──────────┘ └──────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ MCP Svr │ │ MCP Svr │ │ MCP Svr │
│ #1 │ │ #2 │ │ #N │
└─────────┘ └─────────┘ └─────────┘
| Variable | Default | Description |
|---|---|---|
STORAGE_BACKEND | memory | Storage backend (memory or redis) |
REDIS_URL | redis://localhost:6379/0 | Redis connection URL |
MCP_ORCHESTRATOR_TOOL_CACHE_TTL | 300 | Tool schema cache TTL in seconds |
MCP_ORCHESTRATOR_DEFAULT_CONNECTION_MODE | stateless | Default connection mode |
MCP_ORCHESTRATOR_CONNECTION_TIMEOUT | 30.0 | Connection timeout in seconds |
MCP_ORCHESTRATOR_MAX_RETRIES | 3 | Maximum retry attempts |
ORCHESTRATOR_TRANSPORT | stdio | MCP transport (stdio or http) |
ORCHESTRATOR_PORT | 8080 | Port for HTTP transport |
ORCHESTRATOR_HOST | 0.0.0.0 | Host for HTTP transport |
ORCHESTRATOR_LOG_LEVEL | INFO | Logging level |
SERVER_CONFIG_PATH | server_config.json | Path to server configuration file |
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mcp-orchestrator": {
"command": "mcp-orchestrator",
"env": {
"STORAGE_BACKEND": "memory",
"ORCHESTRATOR_LOG_LEVEL": "INFO"
}
}
}
}
Search for tools using BM25 relevance ranking or regex pattern matching.
@mcp.tool()
async def tool_search(
query: str,
max_results: int = 3,
use_regex: bool = False,
) -> dict:
"""Search for tools using BM25 or regex.
By default uses BM25 natural language search. Set use_regex=True
to search using Python regex patterns instead.
"""
Discover tools from a registered downstream server.
@mcp.tool()
async def discover_tools(
server_name: str,
) -> dict:
"""Discover tools from a registered server and index them for search.
Returns the list of discovered tools with their schemas.
"""
Call a tool directly on a downstream MCP server.
@mcp.tool()
async def call_remote_tool(
tool_name: str,
arguments: Optional[dict] = None,
auth_header: Optional[str] = None,
) -> Any:
"""Call a tool on a downstream server.
Args:
tool_name: Namespaced tool name (server_name__tool_name)
arguments: Tool arguments
auth_header: Optional auth header to override server's configured auth
"""
The search tools return results in the format expected by Claude's tool search system:
{
"success": true,
"tool_references": [
{
"type": "tool_reference",
"tool_name": "server_name__tool_name"
}
],
"total_matches": 5,
"query": "weather"
}
Run the test suite:
uv run pytest
Run with coverage:
uv run pytest --cov=mcp_orchestrator
mcp-orchestrator/
├── src/mcp_orchestrator/
│ ├── __init__.py
│ ├── main.py # Entry point
│ ├── models.py # Pydantic models
│ ├── mcp_server.py # FastMCP server
│ ├── config_loader.py # Config file loader
│ ├── server/
│ │ └── registry.py # Server registry
│ ├── tools/
│ │ ├── router.py # Tool router
│ │ └── search.py # Tool search service
│ └── storage/
│ ├── base.py # Storage interface
│ ├── memory.py # In-memory backend
│ └── redis.py # Redis backend
├── tests/
│ ├── test_registry.py
│ ├── test_search.py
│ ├── test_storage.py
│ ├── test_models.py
│ └── test_integration.py
├── server_config.json # Pre-configured downstream servers
├── pyproject.toml
├── README.md
└── .env # Environment variables (not committed)
MIT License
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
STORAGE_BACKENDStorage backend for tool cache. Use 'memory' for development or 'redis' for production.
REDIS_URLRedis connection URL. Required only when STORAGE_BACKEND=redis.
SERVER_CONFIG_PATHPath to the server_config.json file listing downstream MCP servers.
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp