Skip to main content
Glama

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 build

Configuration

Ensure Infinigen is properly installed and accessible in your Python environment. See Infinigen's installation guide for details.

Usage

Running the Server

npm start

Connecting 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 dev

Architecture

This MCP server acts as a wrapper around Infinigen's command-line interface, providing:

  1. Tool Interface: MCP tools for scene generation operations

  2. Process Management: Handles Infinigen subprocess execution

  3. Output Handling: Manages generated files and provides access to results

  4. Configuration Management: Simplifies Infinigen's configuration system

Available Tools

(To be implemented)

  • generate_nature_scene: Generate outdoor natural environments

  • generate_indoor_scene: Create interior spaces

  • generate_asset: Produce individual 3D objects

  • list_outputs: View generated scene files

  • configure_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

Available Tools

3 tools
check_infinigenB

Check if Infinigen is properly installed and accessible

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoRandom seed for reproducible generation (default: random)
output_folderYesOutput folder path for generated scene files
configsNoConfiguration files to use
use_gpuNoWhether to use GPU acceleration (default: false)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoRandom seed for reproducible generation (default: random)
output_folderYesOutput folder path for generated scene files
configsNoConfiguration files to use (e.g., ['desert.gin', 'simple.gin'])
use_gpuNoWhether to use GPU acceleration (default: false)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

B3.3/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness3/5

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

Latest Blog Posts

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