Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

mcp-for-maya

PYPI · MCP-FOR-MAYA · SCANNED OCT 2

AI agents' spatial awareness inside Autodesk Maya: audit, rollback safety, visual loop (Beta)

Available components

80 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 16 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to Xxx91n/mcp-for-maya). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 2 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5257 tokens (~210/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (88% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the mcp-for-maya server?

mcp-for-maya runs locally as a PyPI package, launched with uvx mcp-for-maya. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcp-for-maya

# add to Claude Code
claude mcp add xxx91n-mcp-for-maya -- uvx mcp-for-maya
// .cursor/mcp.json
{
  "mcpServers": {
    "xxx91n-mcp-for-maya": {
      "command": "uvx",
      "args": [
        "mcp-for-maya"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "xxx91n-mcp-for-maya": {
      "command": "uvx",
      "args": [
        "mcp-for-maya"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add xxx91n-mcp-for-maya -- uvx mcp-for-maya
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xxx91n-mcp-for-maya": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-for-maya"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add xxx91n-mcp-for-maya --command uvx --arg mcp-for-maya
# ~/.hermes/config.yaml
mcp_servers:
  xxx91n-mcp-for-maya:
    command: "uvx"
    args: ["mcp-for-maya"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "xxx91n-mcp-for-maya": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcp-for-maya"
      ]
    }
  }
}
# add to Vellum
assistant mcp add xxx91n-mcp-for-maya -t stdio -c uvx -a mcp-for-maya
// mcp.json
{
  "mcpServers": {
    "xxx91n-mcp-for-maya": {
      "command": "uvx",
      "args": [
        "mcp-for-maya"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 30 Sept 26 65

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 2 Oct 2026 · Analysed pypi/mcp-for-maya@0.5.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo Xxx91n/mcp-for-maya
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/Xxx91n/mcp-for-maya/.github/workflows/release.yml@refs/tags/v0.5.0
Rekor log index 3011015888
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:fb6892a58787c20723fef2dc0edc9853e8403dedd604e97cc556f60102f0c7b5

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 16 packages
Packages resolved 16
Stale 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 25 exposed · ~4,322 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_session ~83

Manually add a Maya session at a specific host and port. Use this when auto-discovery doesn't find your Maya session, or to connect to a Maya instance on a specific port.

NameTypeReqDescription
hoststring–The session host (default: "127.0.0.1")
portinteger–The session port number (default: 7001)
NameTypeReqDescription
hoststringyes–
maya_versionstring––
pidintegeryes–
portintegeryes–
scene_namestring––
scene_pathstring––
session_keystringyes–
userstringyes–

No examples provided.

asset_import ~289

Import a Poly Haven CC0 model into Maya (find ids via asset_search). Pipeline: host downloads FBX + textures from the Poly Haven whitelist (https-only, size caps, per-file md5 verify) into the platformdirs cache -> Maya imports the local FBX (explicit meters unit handling) -> texture maps auto-wire by PH naming convention (diff/albedo -> color sRGB; rough/metal -> Raw single-channel; nor_gl -> bump2d normal) -> polycount gate -> group as GRP_asset_<id> -> bbox/metadata report. Idempotent by default: a second call with the same asset_id reports the existing group instead of duplicating (force=True re-imports).

NameTypeReqDescription
allow_high_polycountboolean–Override the polycount guard (the override is disclosed in the audit log).
asset_idstringyesPoly Haven asset id (case-sensitive, e.g. 'Camera_01').
forceboolean–Re-import even when GRP_asset_<id> already exists.
max_polycountinteger–Face-count guard (default 100000); imports over the limit are deleted and rejected.
resolutionstring–Texture tier '1k' (default), '2k', '4k', '8k'.
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

asset_search ~137

Search the Poly Haven CC0 asset index (host-side, no Maya needed). Queries https://api.polyhaven.com/assets and returns matching asset metadata. Read-only and idempotent - pure lookup.

NameTypeReqDescription
asset_typestring–"models" (default), "hdris", or "textures". Note: asset_import handles models only.
limitinteger–Result cap, 1-20 (default 20). total_count always reports the full match count.
querystring–Free-text search (matches id, name, categories, tags). Empty returns the unfiltered index page (up to limit).
NameTypeReqDescription
resultstringyes–

No examples provided.

camera_create ~123

Create a camera positioned for a specific shot type. Supports industry-standard shot types: extreme_wide, wide, medium, close, extreme_close, over_shoulder, bird_eye, low_angle.

NameTypeReqDescription
azimuthnumber–Horizontal angle in degrees (default 30).
elevationnumber–Vertical angle in degrees (default 15).
namestring–Camera name.
session_key––Maya session key.
shot_typestring–Shot type (default "medium").
targetstringyesTarget object name to look at.
NameTypeReqDescription
resultstringyes–

No examples provided.

camera_orbit ~82

Create a camera that orbits around a point with animation.

NameTypeReqDescription
centerstringyesJSON string with center position [x, y, z].
framesinteger–Number of frames for full orbit.
namestring–Camera name.
radiusnumber–Orbit radius in scene units.
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

execute_code ~88

Execute Python code in a Maya session.

NameTypeReqDescription
codestringyesPython code to execute.
result_typestring–How to handle the result: - "NONE": Execute statements, don't capture result - "JSON": Evaluate expression, JSON encode result - "RAW": Evaluate expression, return string representation
session_key––Session key (optional if only one session exists)

No output schema declared.

No examples provided.

list_sessions ~154

List all active Maya sessions. Returns a list of session information including: - session_key: Session key used to interact with tools and resources - host: Session host address - port: Session port number - pid: Maya process ID - user: Logged-in user - maya_version: Maya version string - scene_name: Current scene filename - scene_path: Full path to current scene Note: To detect new or removed sessions, clients should call this tool periodically (e.g., every 10-30 seconds) and compare results. The SessionManager automatically scans for new Maya sessions in the background. If this returns an empty list, call maya_setup_guide() for connection help.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultarrayyes–

No examples provided.

maya_setup_guide ~263

Maya connection setup guide and diagnostics. Use this tool when list_sessions returns empty or when setting up Maya MCP for the first time. Provides platform-aware diagnostics, auto-installation of userSetup.py, and step-by-step fallback instructions.

NameTypeReqDescription
actionstring–What to do: - "diagnose": Run connection diagnostics and return status - "install": Merge the managed marker block into userSetup.py. Existing files without the block require a second call with c…
confirmboolean–Required to write into an existing userSetup.py that has no mcp-for-maya marker block (first install call is dry-run).
dry_runboolean–Preview the install: return the proposed block without writing anything.
portinteger–Maya command port number (default: 7001)
remove_empty_fileboolean–On uninstall, delete the file when it only contained the marker block.
target_version––Specific Maya version (e.g., "2024"). If None, targets all detected versions.

Structured output declared, but exposes no named fields.

No examples provided.

scene_aesthetics ~190

Professional-grade aesthetic analysis with 5 design dimensions. Analyzes scene aesthetics across 5 professional design dimensions: 1. Color Theory: 60-30-10 rule, temperature balance, harmony type, saturation variety, contrast 2. Spatial Composition: golden ratio proportions, rule-of-thirds alignment, visual weight balance 3. Proportion & Scale: human ergonomic reference, size hierarchy (hero/secondary/tertiary) 4. Lighting Quality: layer composition (key/fill/rim/accent), color temperature consistency 5. Visual Flow: sight line clarity, circulation paths, visual rhythm patterns Returns an overall score (0-100) with grade (S/A/B/C/D/F) and improvement suggestions.

NameTypeReqDescription
formatstring–Output format - "json" (default) or "cos" (chain-of-symbol, token-efficient).
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_assert ~117

Verify scene state matches expected values. Use this after modifications to confirm the scene is in the desired state. Enforces the VERIFY step of the ICEV workflow.

NameTypeReqDescription
expectationsstringyesJSON string defining expected state. Format: {"obj_name": {"position": [x,y,z], "bbox_max": [x,y,z], ...}} Supported properties: position, bbox_max, bbox_min, exists, material.
formatstring–Output format - "cos" or "json".
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_checkpoint ~196

Save a real scene snapshot (exportAll of in-memory state). Writes a self-contained .ma into a checkpoints/ directory next to the scene file. On untitled (never-saved) scenes an explicit name is required and produces an ad-hoc snapshot under the Maya workspace — returned with original_file_status="no_original_file" and scene_rebound_to=null. Same-name checkpoints are rejected unless overwrite=True (the old file is preserved via rename). Honest bounds: the snapshot contains no undo history — after scene_rollback, call scene_snapshot to rebuild context. References are flattened (self-contained, no write-back). Assumes one scene file per session.

NameTypeReqDescription
name––Checkpoint name (^[A-Za-z0-9_-]+$). Required on untitled scenes.
overwriteboolean–Replace a same-name checkpoint, preserving the old file.
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_checkpoint_list ~56

List all saved checkpoints for the current scene state. Saved scenes list <scene_dir>/checkpoints; untitled scenes list the workspace ad-hoc snapshots (adhoc flag per entry).

NameTypeReqDescription
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_describe ~367

API-level self-description of ONE node (not spatial). Boundary: scene_inspect answers WHERE an object is (position, bbox, neighbors); scene_describe answers WHAT the node is at the API level - exact node type, per-attribute metadata, and connection wiring - so you can compose accurate execute_code/setAttr/connectAttr calls against real names.

NameTypeReqDescription
attrs––Attribute names to describe; None (default) lists every attribute listAttr reports UP TO the response budget (limit) - over-budget output is truncated and disclosed via attrs_truncated + total_count,…
include_connectionsboolean–Return connection wiring {src_plug, dst_plug, direction} (default True); the same budget applies (connections_truncated + total_connections; no cursor in v1 - narrow and re-query).
include_valuesboolean–Also return value + soft_min/soft_max per attr (default False). Reading a value can trigger DG evaluation inside Maya - still read-only, but the eval may cost time on heavy graphs.
limitinteger–Max items returned per face (attrs and connections). Soft default 200; a caller may relax explicitly to the hard cap 1000 (D-110) - bounds response size only, not the per-attribute query cost.
nodestringyesNode name (short name or long DAG path).
session_key––Maya session key (auto-selected if one session).
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_export ~277

Export the Maya scene (or named objects) to a local file. Writes through cmds.file with prompt=False forced (a modal dialog would hang the command channel). Formats: fbx, obj, usd (Alembic is not supported - its AbcExport API is not a cmds.file surface). The selection set is restored after every objects= export and the scene's modified flag is untouched. destructive_hint is False but note: overwrite=True permanently replaces the target file - that path is not recoverable.

NameTypeReqDescription
format––"fbx", "obj", or "usd". Optional when the path carries a recognizable extension; a missing extension is appended for an explicit format, and a conflicting extension+format pair is an error, never a g…
objects––Node names to export. None (default) exports the whole scene via exportAll; a list is pre-validated (any missing name aborts - no partial export) and drives exportSelected.
overwriteboolean–Replace an existing target file (default False).
pathstringyesTarget file path on the Maya host. Normalized and auto-parented (missing directories are created). An existing file is rejected unless overwrite=True.
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_inspect ~94

Deep inspection of a specific object or zone. Returns detailed properties including transform, BBox, material, mesh stats, and optionally nearby objects with distances.

NameTypeReqDescription
formatstring–Output format - "cos" or "json".
include_neighborsboolean–Whether to include nearby objects (default True).
session_key––Maya session key.
targetstringyesObject name or zone name to inspect.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_measure ~112

Measure spatial relationship between two objects.

NameTypeReqDescription
formatstring–Output format - "cos" or "json".
modestring–Measurement type: - "center": Center-to-center distance (default) - "surface": Closest surface point distance - "clearance": Gap/clearance distance - "bbox": Bounding box overlap detection
obj_astringyesFirst object name.
obj_bstringyesSecond object name.
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_nodes ~276

Bounded enumeration of scene nodes - including non-DAG nodes. Boundary: scene_snapshot is the low-resolution spatial overview you call once per workflow; scene_nodes is the name-discovery complement for the API layer - it lists nodes a spatial view never shows (materials, shadingEngines, tool nodes) and pages honestly: has_more/next_cursor tell you when the list was cut.

NameTypeReqDescription
cursor––Opaque page token from a previous call's next_cursor; valid while the scene is unchanged.
dag_onlyboolean–Only DAG nodes (transforms/shapes); False includes dependency nodes such as materials and utility nodes.
include_type_countsboolean–Also return per-type counts over the full match set (not just the page).
inheritedboolean–See type.
limitinteger–Page size (default 50, hard-capped at 100).
pattern––Maya glob pattern on names (e.g. "GEO_*").
session_key––Maya session key (auto-selected if one session).
type––Node type filter. With inherited=True (default) derived types match too (ls type= semantics, e.g. type="light" matches spotLight/directionalLight); inherited=False pins the exact type.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_plan ~191

Holistic scene planning with organization validation and layout optimization. Performs comprehensive scene health check and generates actionable plans: - Organization validation: detects orphan meshes, empty groups, default names - Zone analysis: coverage and spatial balance across functional zones - Layout suggestions: spacing, overlap, and clustering detection - Conflict prevention: near-miss collision prediction - Action plan: prioritized step-by-step execution guide Based on blockout-first methodology: validate organization and proportions before committing to detailed modeling. Supports natural language objectives.

NameTypeReqDescription
auto_fixboolean–If True, auto-fix safe issues (remove empty groups, reparent orphans).
formatstring–Output format - "json" (default) or "cos".
objectivestring–Natural language goal description. e.g., "set up entrance area with display window and clear circulation"
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_render_preview ~333

Single-frame playblast preview from a camera (clean, no HUD). GUI sessions only - headless sessions get a structured gui_session_required error. Side-effect disclosures (read_only_hint is honest, D-026): 1. Switching the panel camera via the modelPanel camera flag is instantaneous, visible, and NOT undoable in Maya. 2. Net-zero side effect: the panel camera is restored on every path - success or failure - so terminal state equals entry. 3. The current time may visibly jump during capture; it is restored afterwards (playblast timeline quirk). 4. viewer=False: no playblast window pops up. 5. On failure the restore is still attempted; a failed restore is logged, never raised over the error result. 6. Only a killed Maya process can skip the restore.

NameTypeReqDescription
camera––Camera to look through (default: the panel's current camera).
formatstring–"jpeg" (default) or "png". png recommended for wireframe/line-art review.
heightinteger–Frame height (default 360). Same /4 rule.
max_sizeinteger–Longest-side cap for the returned image.
qualityinteger–JPEG quality 1-100.
session_key––Maya session key.
widthinteger–Frame width in pixels (default 640). Rounded UP to a multiple of 4 server-side (playblast constraint); the actual size may also be clamped by the viewport - trust the returned metadata, not the reque…

No output schema declared.

No examples provided.

scene_review ~139

Comprehensive scene audit - reviews all aspects after operations. Runs spatial integrity, overlap detection, zone coverage, aesthetics, constraint validation, orphan detection, naming, componentization, conflicts, lighting quality, and scene organization. Returns a score (0-100) and detailed issue list. Use this after any major scene modification to verify quality.

NameTypeReqDescription
checksstring–Comma-separated check names or "all". Options: spatial, overlaps, zones, aesthetics, constraints, orphans, naming, components, conflicts, lighting, organization
formatstring–Output format - "json" or "cos".
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_rollback ~181

Open a checkpoint and rebind the scene to its original path (S2). Before opening, the current in-memory state is exported to an auto_before_rollback safety snapshot; if that fails, the rollback aborts — pass discard_current_state=True to escape (the result reports safety_snapshot="skipped_by_user"). Untitled scenes and ad-hoc snapshots have no original path, so the scene stays on the checkpoint path (S1) and scene_rebound_to is null. The snapshot carries no undo history — call scene_snapshot afterwards to rebuild context.

NameTypeReqDescription
discard_current_stateboolean–Escape hatch — proceed even if the safety snapshot fails.
filenamestringyesCheckpoint filename from scene_checkpoint_list (cp_*.ma or prev_*.ma).
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_snapshot ~121

Get a complete spatial overview of the current Maya scene. Returns a structured description of ALL objects with positions, sizes, and types. Call this once at the start of each workflow to establish spatial awareness.

NameTypeReqDescription
detailstring–Detail level - "compact" (fast), "standard" (+materials/mesh stats), "full" (+vertices).
formatstring–Output format - "cos" (Chain-of-Symbol, compact), "json" (full JSON).
session_key––Maya session key (auto-selected if only one session).
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_validate ~165

Validate scene against spatial constraints. Checks the scene for constraint violations like minimum clearance, object limits, overlaps, and height requirements.

NameTypeReqDescription
formatstring–Output format - "cos" or "json".
rulesstringyesJSON string with constraint rules. Format: [{"type": "min_clearance", "zone": "entrance", "value": 180}, {"type": "max_objects", "value": 5000}, {"type": "no_overlap", "objects": ["wall_a", "shelf_…
session_key––Maya session key.
NameTypeReqDescription
resultstringyes–

No examples provided.

scene_viewport_snapshot ~184

Capture the active viewport as an image (WYSIWYG). GUI sessions only - headless (mayapy/batch/native-channel) sessions get a structured gui_session_required error. The capture is what the artist sees: viewport HUD, selection highlights and ornaments included. That is a feature - the agent verifies exactly what the user is looking at. A cmds.refresh(force=True) runs first so the frame is current.

NameTypeReqDescription
formatstring–"jpeg" (default, small) or "png". png recommended for wireframe/line-art review.
max_sizeinteger–Longest-side pixel cap for the returned image (default 800 - keeps base64 well under client image token limits).
qualityinteger–JPEG quality 1-100 (ignored for png).
session_key––Maya session key.

No output schema declared.

No examples provided.

write_module ~104

Create a virtual Python module in a Maya session.

NameTypeReqDescription
codestringyesPython source code for the module.
namestringyesModule name. Can be a dotted path (e.g., 'mypackage.utils') in which case parent packages are created automatically.
overwriteboolean–If True, replace existing module. If False, raise error if module already exists.
session_key––Session key (optional if only one session exists)
NameTypeReqDescription
resultstringyes–

No examples provided.

Common questions

What is the mcp-for-maya server?

mcp-for-maya is listed in the public MCP registry as io.github.Xxx91n/mcp-for-maya. AI agents' spatial awareness inside Autodesk Maya: audit, rollback safety, visual loop (Beta). This page covers its PyPI package (mcp-for-maya).

Is the mcp-for-maya server safe to use?

mcp-for-maya scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 2 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the mcp-for-maya server expose?

mcp-for-maya exposes 25 tools: scene_snapshot, scene_inspect, scene_measure, scene_assert, scene_validate, and 20 more. Their descriptions and schemas cost roughly 4,322 tokens of context every time the server is loaded.

Is the mcp-for-maya server still maintained?

mcp-for-maya is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the mcp-for-maya server under?

mcp-for-maya declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.