Infinigen MCP Server
Provides a bridge to Infinigen for procedural generation of photorealistic 3D scenes, including natural environments, indoor spaces, and individual 3D assets with support for multiple export formats (OBJ, OpenUSD) and computer vision annotations (depth maps, segmentation).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Infinigen MCP Servergenerate a forest scene with pine trees and a river"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Infinigen MCP Server
A Model Context Protocol (MCP) server for Infinigen - enabling AI assistants to generate photorealistic 3D scenes procedurally.
Overview
This MCP server provides a bridge between AI assistants (like Claude) and Infinigen, a powerful procedural 3D scene generator developed by Princeton Vision & Learning Lab. Through this server, AI assistants can:
Generate photorealistic natural scenes (terrain, vegetation, weather)
Create detailed indoor environments (rooms, furniture, decorations)
Produce 3D assets with various export formats (OBJ, OpenUSD, etc.)
Generate annotated data for computer vision tasks (depth maps, segmentation, etc.)
Features
🌲 Nature Scene Generation: Create outdoor environments with realistic terrain and vegetation
🏠 Indoor Scene Generation: Generate furnished interior spaces
🎨 Asset Creation: Produce individual 3D objects and elements
📊 Batch Processing: Generate multiple scenes with different configurations
🔧 Configurable: Full control over scene parameters through Infinigen's config system
Prerequisites
Node.js >= 18.0.0
Python 3.10+ with Infinigen installed
Blender (required by Infinigen)
Installation
# Clone the repository
git clone <repository-url>
cd infinigen-mcp
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
Ensure Infinigen is properly installed and accessible in your Python environment. See Infinigen's installation guide for details.
Usage
Running the Server
npm startConnecting with Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"infinigen": {
"command": "node",
"args": ["/path/to/infinigen-mcp/dist/index.js"]
}
}
}Development
# Watch mode for development
npm run watch
# Run in development mode
npm run devArchitecture
This MCP server acts as a wrapper around Infinigen's command-line interface, providing:
Tool Interface: MCP tools for scene generation operations
Process Management: Handles Infinigen subprocess execution
Output Handling: Manages generated files and provides access to results
Configuration Management: Simplifies Infinigen's configuration system
Available Tools
(To be implemented)
generate_nature_scene: Generate outdoor natural environmentsgenerate_indoor_scene: Create interior spacesgenerate_asset: Produce individual 3D objectslist_outputs: View generated scene filesconfigure_scene: Set scene parameters
Contributing
Contributions are welcome! This is an open-source project aimed at making Infinigen more accessible through AI assistants.
License
MIT
Acknowledgments
Infinigen by Princeton Vision & Learning Lab
Model Context Protocol by Anthropic
Related Links
Available Tools
3 toolscheck_infinigenB
Check if Infinigen is properly installed and accessible
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks installation and accessibility, implying a read-only diagnostic operation, but does not specify what 'properly installed and accessible' entails (e.g., version checks, path validation, error handling). It lacks details on response format, potential errors, or side effects, leaving behavioral traits unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence: 'Check if Infinigen is properly installed and accessible.' It is front-loaded with the core purpose, has no redundant words, and every part of the sentence adds value. This is an example of optimal conciseness for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal. It states the purpose but lacks context on usage timing, behavioral details (e.g., what constitutes 'properly installed'), or integration with sibling tools. For a diagnostic tool, more guidance on when and why to use it would enhance completeness, especially without annotations to fill gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description does not need to compensate for missing parameter documentation. It appropriately avoids discussing parameters, as none exist, making it efficient in this context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check if Infinigen is properly installed and accessible.' It uses a specific verb ('Check') and resource ('Infinigen'), making the action and target unambiguous. However, it does not explicitly differentiate from sibling tools like 'generate_indoor_scene' or 'generate_nature_scene,' which are likely for scene generation rather than installation verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., use before generating scenes), exclusions, or comparisons to sibling tools. Without such context, an agent might struggle to determine the appropriate timing or necessity of invoking this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_indoor_sceneC
Generate a photorealistic indoor scene with furniture and decorations using Infinigen.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Random seed for reproducible generation (default: random) | |
| output_folder | Yes | Output folder path for generated scene files | |
| configs | No | Configuration files to use | |
| use_gpu | No | Whether to use GPU acceleration (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool generates scenes 'using Infinigen' but doesn't describe what the tool actually does (e.g., creates files, returns paths, runtime behavior, permissions needed, or potential side effects). For a tool with no annotations and complex generation tasks, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary details. It's appropriately sized and front-loaded, with no wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of scene generation (4 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what the tool returns, how to interpret results, error conditions, or dependencies. The agent lacks sufficient context to use this tool effectively beyond basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific information beyond what's already in the schema (which has 100% coverage). It doesn't explain how parameters interact (e.g., how 'seed' affects generation, what 'configs' files contain, or implications of 'use_gpu'). With high schema coverage, the baseline is 3, but the description doesn't compensate with additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate a photorealistic indoor scene with furniture and decorations using Infinigen.' It specifies the verb ('Generate'), resource ('indoor scene'), and technology ('Infinigen'). However, it doesn't explicitly differentiate from its sibling 'generate_nature_scene' beyond the 'indoor' vs 'nature' distinction in their names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tools 'check_infinigen' or 'generate_nature_scene', nor does it explain prerequisites, constraints, or typical use cases. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_nature_sceneC
Generate a photorealistic natural outdoor scene using Infinigen. Creates terrain, vegetation, and natural elements.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Random seed for reproducible generation (default: random) | |
| output_folder | Yes | Output folder path for generated scene files | |
| configs | No | Configuration files to use (e.g., ['desert.gin', 'simple.gin']) | |
| use_gpu | No | Whether to use GPU acceleration (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'creates terrain, vegetation, and natural elements,' which implies a generative/write operation, but doesn't cover critical aspects like whether it overwrites existing files, requires specific permissions, has rate limits, or what the output entails (e.g., file types, location). For a tool with no annotations and complex behavior, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: it states the core purpose in the first sentence and adds detail in the second. Both sentences earn their place by clarifying the tool's function and scope. However, it could be slightly more structured by explicitly contrasting with siblings or outlining key behaviors.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a generative scene tool with 4 parameters, no annotations, and no output schema), the description is incomplete. It doesn't explain what the tool returns, how output is structured, or any side effects (e.g., file creation, resource usage). For a tool that likely produces significant output, this lack of context is a notable shortfall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are documented in the schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain the purpose of 'configs' or 'seed' in more detail). According to the rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate a photorealistic natural outdoor scene using Infinigen. Creates terrain, vegetation, and natural elements.' It specifies the action (generate), resource (natural outdoor scene), and technology (Infinigen). However, it doesn't explicitly differentiate from its sibling 'generate_indoor_scene' beyond the 'outdoor' vs 'indoor' distinction, which is implied but not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tools 'check_infinigen' or 'generate_indoor_scene', nor does it specify prerequisites, constraints, or typical use cases. The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: one checks installation status, one generates indoor scenes, and one generates outdoor scenes. There is no overlap or ambiguity between these functions, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern (check_infinigen, generate_indoor_scene, generate_nature_scene). The naming is uniform and predictable, using snake_case throughout without any deviations.
With only 3 tools, the server feels thin for a domain like scene generation, which might benefit from more operations (e.g., editing scenes, listing generated assets, or configuring parameters). However, it covers basic functionality without being excessive.
The tools cover installation checks and two core generation tasks (indoor and outdoor scenes), but there are notable gaps. Missing operations include scene editing, asset management, or parameter tuning, which could limit agent workflows in more complex scenarios.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
On-brand creative studio for AI agents: images, video, audio, and 3D.
Free text/image → 3D: generate, rig, avatar-ify, and refine GLB models. No auth, no payment.
Turn any LLM multimodal; generate images, voices, videos, 3D models, music, and more.
Generate images, video, music, voice and 3D through one API. 30 tools, 200+ models.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elfenlieds7/infinigen-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server