sketchfab-mcp-server
Search, browse, inspect, and download 3D models from Sketchfab via its API, including model metadata, categories, licenses, and multiple download formats (glTF, GLB, USDZ, source).
Click on "Deploy 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., "@sketchfab-mcp-serversearch for low-poly trees downloadable"
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.
sketchfab-mcp-server
A Model Context Protocol server for Sketchfab. Search, browse, inspect, and download 3D models from Cursor, Claude Desktop, and other MCP clients.
API key required: All tools need a valid Sketchfab API token. Create one at sketchfab.com/settings/password (API token section). Pass it via
--api-key, theSKETCHFAB_API_KEYenvironment variable, or in your MCP client config.
Quick Start
Prerequisites
Node.js 18+ — Runtime for the MCP server
Yarn — Package manager (or use
npm/pnpmequivalently)Sketchfab API token — Required for search, model details, categories, licenses, and downloads
Git — For cloning the repository
Build from Source
Clone the repository:
git clone https://github.com/AliRezaBeigy/sketchfab-mcp-server.git
cd sketchfab-mcp-serverInstall dependencies and build:
yarn install
yarn buildRun locally (stdio transport):
# Option A: environment variable
export SKETCHFAB_API_KEY="your-api-token-here"
yarn start
# Option B: CLI flag
node build/index.js --api-key "your-api-token-here"Development (no build step):
export SKETCHFAB_API_KEY="your-api-token-here"
yarn devConfigure an MCP Client
Add the server to your MCP client settings. Use the absolute path to build/index.js on your machine.
Cursor — edit ~/.cursor/mcp.json (or project-level .cursor/mcp.json):
{
"mcpServers": {
"sketchfab": {
"command": "node",
"args": [
"/absolute/path/to/sketchfab-mcp-server/build/index.js"
],
"env": {
"SKETCHFAB_API_KEY": "your-api-token-here"
}
}
}
}Claude Desktop — edit claude_desktop_config.json:
{
"mcpServers": {
"sketchfab": {
"command": "node",
"args": [
"/absolute/path/to/sketchfab-mcp-server/build/index.js"
],
"env": {
"SKETCHFAB_API_KEY": "your-api-token-here"
}
}
}
}Alternatively, pass the API key as a CLI argument instead of env:
"args": [
"/absolute/path/to/sketchfab-mcp-server/build/index.js",
"--api-key",
"your-api-token-here"
]Restart the MCP client after saving. The server communicates over stdio; diagnostics are written to stderr only.
Windows
On Windows, use backslashes or forward slashes in paths inside mcp.json. PowerShell example for a one-off run:
$env:SKETCHFAB_API_KEY = "your-api-token-here"
node build\index.jsRelated MCP server: Blockbench MCP
MCP Tools
Tool | Description |
| Search models by keywords, tags, categories, license, user, and more |
| Full metadata for a model (stats, license, tags, downloadability) |
| Download a model as glTF, GLB, USDZ, or source (ZIP auto-extracts) |
| List category slugs for use in search filters |
| List license slugs for use in search filters |
Search filters include downloadable-only, animated, rigged, staff-picked, sort order, date range (1/7/31 days), and cursor-based pagination (up to 24 results per page).
Download formats: gltf (default), glb, usdz, source. If the requested format is unavailable, the server falls back to the first available format. ZIP archives (common for glTF/source) are saved and extracted automatically.
Features
Sketchfab API v3 — Search, browse, and download via the official REST API
Rich search — Tags, categories, licenses, sort, pagination, and creator filters
Model downloads — glTF/GLB/USDZ/source with automatic ZIP extraction
MCP-native — Works with Cursor, Claude Desktop, and any stdio MCP host
TypeScript — Typed tools with Zod parameter validation
License
See the project license file when available.
Acknowledgments
Sketchfab — 3D model platform and API
Model Context Protocol — Open standard for AI tool integration
@modelcontextprotocol/sdk — Official TypeScript MCP SDK
Made with ❤️ for 3D creators and AI-assisted workflows
Available Tools
5 toolssketchfab-downloadB
Download a 3D model from Sketchfab
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Preferred format to download the model in (defaults to gltf if available) | |
| modelId | Yes | The unique ID of the Sketchfab model to download (must be downloadable) | |
| outputPath | No | Local directory or file path to save the downloaded file (will use temp directory if not specified) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only says 'download' but does not specify that the tool may overwrite files, requires network access, or what happens if the model is not downloadable or the format is unavailable.
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 concise sentence with no wasted words. However, it could include a few more details without becoming verbose, such as indicating the output is a file.
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?
Missing important context: no description of return value (e.g., saved file path), no error handling info, and no note about whether the tool checks for model availability before downloading. Despite having only 3 parameters, the description is too minimal for safe agent use.
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?
Schema coverage is 100%, so each parameter has a description. The tool description adds no additional meaning beyond what is in the schema. The default behavior for format and outputPath is already stated in the schema.
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 'Download a 3D model from Sketchfab', which is a specific verb+resource combination and distinguishes it from sibling tools that list categories, licenses, search, or get model details.
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?
No guidance on when to use this tool versus alternatives, no prerequisites (e.g., model must be downloadable), and no context about the required modelId coming from a search or list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketchfab-list-categoriesA
List Sketchfab model categories with slugs for use in search filters
| Name | Required | Description | Default |
|---|---|---|---|
| sortBy | No | Optional sort order for the category list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the basic operation (list) without disclosing additional traits such as read-only nature, authentication needs, rate limits, or response format.
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, front-loaded sentence with no wasted words. Every word serves a purpose.
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 (list with one optional parameter) and lack of output schema, the description is mostly complete. It could mention if the list is exhaustive or paginated, but the context is sufficient for an agent to understand its purpose.
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?
Schema coverage is 100% with one parameter (sortBy) fully described in the schema. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
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 action ('List'), the resource ('Sketchfab model categories'), and the purpose ('for use in search filters'). It distinguishes from sibling tools like search, download, etc.
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 implies usage as a helper for search filters but does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketchfab-list-licensesA
List Sketchfab model licenses with slugs for use in search filters
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description only states the action. It lacks details on behavioral traits like ordering, caching, or completeness of the list.
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?
A single, concise sentence that is front-loaded and contains no unnecessary words.
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?
For a parameterless tool with no output schema, the description adequately conveys purpose but could mention the format or scope of the returned licenses.
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?
No parameters exist, so the description does not need to explain them. Baseline score of 4 applies.
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 lists Sketchfab model licenses with slugs for search filters, differentiating from siblings like list-categories and search.
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 indicates usage for obtaining license slugs to filter searches, providing context but not explicitly stating when not to use or listing alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketchfab-model-detailsB
Get detailed information about a specific Sketchfab model
| Name | Required | Description | Default |
|---|---|---|---|
| modelId | Yes | The unique ID of the Sketchfab model (found in URLs or search results) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only says 'detailed information' without explaining what behavior to expect (e.g., does it require authentication? Are there rate limits?). It lacks behavioral context.
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?
Single sentence, 9 words, no fluff. Front-loaded with the action, efficient 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?
No output schema exists, and the description does not hint at what 'detailed information' includes (e.g., metadata, stats, file URLs). For a tool returning model details, the description should outline the scope of the response.
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?
Schema coverage is 100% and the parameter description is informative. The tool description does not add additional semantic meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
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 action ('Get detailed information') and resource ('specific Sketchfab model'). It is distinct from sibling tools like sketchfab-search (list) and sketchfab-download (file retrieval).
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?
No explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or cases where another sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sketchfab-searchB
Search for 3D models on Sketchfab based on keywords and filters
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Limit to models published within the last N days (1, 7, or 31) | |
| tags | No | Filter by specific tags (e.g., ["animated", "rigged", "pbr"]) | |
| user | No | Filter by creator username | |
| limit | No | Maximum number of results to return (1-24, default: 10) | |
| query | No | Text search query (e.g., "car", "house", "character") to find relevant models | |
| cursor | No | Pagination cursor from a previous search response (nextCursor field) | |
| rigged | No | Set to true to show only rigged models | |
| sortBy | No | Sort order (e.g., -likeCount for most liked). Omit for relevance. | |
| license | No | Filter by license slug (e.g., "cc0", "by-nc"). Use sketchfab-list-licenses for valid slugs. | |
| animated | No | Set to true to show only animated models | |
| categories | No | Filter by category slugs (e.g., ["characters", "architecture", "vehicles"]). Use sketchfab-list-categories for valid slugs. | |
| staffpicked | No | Set to true to show only staff-picked models | |
| downloadable | No | Set to true to show only downloadable models, false to show all models |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates a read operation (search), but does not disclose side effects, auth needs, rate limits, or pagination behavior beyond what the schema hints.
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, concise sentence that front-loads the action. However, it could include brief context about available filters without losing conciseness.
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?
With 13 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return format, pagination (cursor hint is in schema but not description), or how results are structured.
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?
Schema coverage is 100%, so parameters are already well-documented. The description adds no additional meaning beyond the schema, meeting the baseline for high coverage.
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 verb 'Search', the resource '3D models on Sketchfab', and the method 'based on keywords and filters'. It distinctly separates this tool from siblings like 'sketchfarm-download' or 'sketchfab-model-details'.
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 does not provide any guidance on when to use this tool versus alternatives. It only states what it does, leaving the agent to infer usage from context.
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.
5 tool updates
v1.0.0- First observed
sketchfab-download - First observed
sketchfab-list-categories - First observed
sketchfab-list-licenses - First observed
sketchfab-model-details - First observed
sketchfab-search
TDQS
Scored across 5 tools
Each tool targets a distinct function: search, details, download, categories, licenses. No overlap or ambiguity.
All tools start with 'sketchfab-' and most use verb_noun pattern (list-categories, list-licenses), but 'sketchfab-model-details' uses noun_noun, a slight deviation.
5 tools is well-scoped for a Sketchfab server, providing essential operations without unnecessary bloat.
Coverage includes search, details, download, and supporting list operations for filters. Missing upload or modify, but appropriate for a read-focused server.
Maintenance
Related MCP Connectors
Search and download free CC0 GLB models and game packs, and submit new ones on a user behalf.
3D avatar/asset foundry: text/image -> rigged, validated, engine-ready GLB via x402.
Cloud Blender for AI agents: scenes, assets, renders, MP4, STL, GLB — over hosted remote MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseCqualityDmaintenanceAllows interaction with Sketchfab's 3D model platform through Claude or Cursor, enabling users to search, view details, and download 3D models directly from the AI interface.427 npm39ISC
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create and edit 3D models in Blockbench via the Model Context Protocol.438GPL 3.0
- FlicenseNot gradedqualityDmaintenanceSearch and download 3D models from Sketchfab using the Sketchfab API.-
- AlicenseNot gradedqualityCmaintenanceEnables AI to control Blender 3D through the Model Context Protocol, allowing Python execution, scene state queries, and automation of 3D workflows.5GPL 3.0