Skip to main content
Glama
RN0000

Blendkit MCP Server

by RN0000

Blendkit MCP Server

Python MCP

An unofficial Model Context Protocol (MCP) server that provides AI agents with direct access to the BlenderKit 3D library. This server allows agents to seamlessly search for 3D assets (models, materials, HDRs, brushes) and retrieve native download URLs.

Features

  • Asset Search: Easily query the Blendkit library for 3D models, PBR materials, HDRs, brushes, and scenes.

  • Rich Context: Returns simplified, agent-friendly asset metadata including thumbnails, asset IDs, file sizes, and descriptions.

  • Direct Downloads: Retrieves direct download URLs for asset files, including texture packs and .blend files at varying resolutions, allowing the agent to download the assets natively using tools like curl or wget.

Related MCP server: Blender MCP Server

Prerequisites

  • Python 3.13+

  • uv (Recommended, for fast dependency management)

  • Blendkit API Key: While some assets are free, a Blendkit API key is highly recommended for higher rate limits and access to paid/private assets.

Installation

Clone the repository and install the dependencies:

git clone https://github.com/RN0000/blendkit-mcp.git
cd blendkit-mcp

# Using uv
uv sync

Configuration

The server requires a Blendkit API Key for authentication. You can pass it as an environment variable: BLENDERKIT_API_KEY.

Connecting to an MCP Client (e.g., Claude Desktop)

To use this server with an MCP-compatible client like Claude Desktop, add the following configuration to your client's config file (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "Blendkit": {
      "command": "uv",
      "args": [
        "run",
        "server.py"
      ],
      "cwd": "/path/to/your/blendkit-mcp",
      "env": {
        "BLENDERKIT_API_KEY": "<your-blendkit-api-key>"
      }
    }
  }
}

Note: Replace /path/to/your/blendkit-mcp with the absolute path to where you cloned this repository, and <your-blendkit-api-key> with your actual key.

Available Tools

The server exposes the following MCP tools to the agent:

  1. search_blendkit_assets(query, asset_type, limit)

    • Description: Searches the Blendkit library for 3D assets.

    • Arguments:

      • query (string): The search term (e.g., 'chair', 'wood').

      • asset_type (string): Type of asset (model, material, scene, hdr, brush). Defaults to model.

      • limit (int): Number of results to return (max 15).

  2. get_asset_download_url(asset_id)

    • Description: Retrieves the download URLs for a specific asset using its ID. Useful if the direct URLs weren't retrieved during search or for targeted queries.

    • Arguments:

      • asset_id (string): The UUID of the asset (id or assetBaseId).

Usage Examples

Once connected, you can ask your AI assistant:

  • "Search Blendkit for a realistic wooden chair model."

  • "Find me some 4K bark materials on Blendkit and get their download links."

  • "Get the download URL for the Blendkit asset with ID ea74e54f-..."

Disclaimer

This is an unofficial community project and is not affiliated with, endorsed by, or sponsored by BlenderKit.

Available Tools

2 tools
get_asset_download_urlA

Get the download URLs for a specific asset by its ID.

Args: asset_id: The ID of the asset (either 'id' or 'assetBaseId').

Returns: Dictionary containing the download URLs for the asset files. Note: The Agent should use standard tools like curl/wget with the header 'Authorization: Bearer $BLENDERKIT_API_KEY' if downloading paid/private assets.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the need for an authorization header when downloading paid/private assets, which is valuable. However, it does not clarify side effects, whether the tool is read-only, or behavior for free assets. It partially addresses transparency.

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 four sentences with a clear structure: purpose, args, returns, note. It is front-loaded with the main action. Some redundancy exists (e.g., 'download URLs' repeated), but it remains concise enough.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool without an output schema, the description covers the parameter, return type, and a usage note. It lacks error handling or examples but is reasonably complete for the complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage, so the description fully compensates by explaining that 'asset_id' can be either 'id' or 'assetBaseId'. This adds essential meaning beyond the schema's type definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the download URLs for a specific asset by its ID,' specifying the verb 'get' and the resource 'download URLs' for an asset. It distinguishes from the sibling tool 'search_blendkit_assets' which is for searching, not retrieving URLs.

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?

No explicit guidance is provided on when to use this tool versus alternatives (e.g., after searching for an asset ID). The description implies usage after obtaining an asset ID but does not state prerequisites or exclude scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_blendkit_assetsA

Search for 3D assets in the Blendkit library.

Args: query: The search term (e.g. 'chair', 'wood'). asset_type: Type of asset to search for ('model', 'material', 'scene', 'hdr', 'brush'). limit: Number of results to return (max 15).

Returns: A dictionary containing a list of asset objects. Each asset contains its id, name, thumbnailUrls, and a 'files' array. Inside the 'files' array, you can find 'downloadUrl's that can be used to download the actual .blend or texture files.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
asset_typeNomodel

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses return format (dictionary with asset objects) and important details like thumbnailUrls, files, downloadUrl. Mentions limit max 15. No annotations exist, so description carries full burden sufficiently.

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?

Well-structured with Args and Returns sections, front-loaded with main purpose. Could be slightly more concise, but every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so return structure description is valuable. Covers purpose, parameters, and returns adequately. Missing error handling or rate limits, but sufficient for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description compensates fully by explaining each parameter with examples (e.g., 'chair', 'wood'), enum values, and adding behavior like max limit of 15 not present in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches for 3D assets in the Blendkit library, with explicit mention of search term and asset type. Distinguishes from sibling 'get_asset_download_url', which is for downloading, not searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use (searching assets) and describes parameters. However, does not explicitly state when not to use or mention alternative tools beyond the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv0.1.0
    • First observedget_asset_download_url
    • First observedsearch_blendkit_assets

TDQS

A4.1/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one searches for assets, the other retrieves download URLs for a specific asset. There is no overlap or ambiguity.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern using snake_case: get_asset_download_url and search_blendkit_assets.

Tool Count3/5

With only two tools, the surface feels limited for a 3D asset library. While search and download form a minimal workflow, additional tools for categories or asset details would improve scope.

Completeness4/5

The tools cover the essential search-to-download flow. Minor gaps exist, such as missing asset detail retrieval or category listing, but the core functionality is present.

Maintenance

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

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/RN0000/blendkit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server