MCP server for 3D models and textures
Give your AI agent a library of over 10,000 free CC0 3D models, PBR textures and HDRIs, and the tools to make the ones it cannot find. It searches by meaning and by size in metres, downloads GLBs that fit a scene as they are, generates a model from a picture or a sentence, and retextures, remeshes, repairs or converts the result, all from the chat.
Server URL
Streamable HTTP. Paste it into any MCP client; the library works without signing in.
https://3dvalley.com/mcpSetup
Claude (claude.ai and Claude Desktop)
- Open Customize › Connectors, click + Add, then Add custom connector.
- Name it 3D Valley, paste the server URL and click Continue.
- Keep the detected sign-in settings (OAuth). Choose Sign in when needed to search the library first and sign in only when you generate. Click Add.
- In a chat, turn it on from the + button under Connectors.
Claude Code
Run this. To sign in for the tools that use your account, type /mcp in Claude Code, pick 3dvalley and approve in the browser.
claude mcp add --transport http 3dvalley https://3dvalley.com/mcpChatGPT
- Go to chatgpt.com/plugins, click the plus button and choose Add custom MCP server.
- Name it 3D Valley, paste the server URL under Connection and choose OAuth for authentication.
- Confirm the warning and choose Create as a plugin.
- In a new chat, type @ and pick 3D Valley.
Cursor
Add this to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project). Cursor registers itself and opens the sign-in page when a tool needs your account.
{
"mcpServers": {
"3dvalley": {
"url": "https://3dvalley.com/mcp"
}
}
}VS Code
Run MCP: Add Server from the Command Palette, choose HTTP and paste the server URL, or add this to .vscode/mcp.json. VS Code opens the sign-in page in your browser the first time it is needed.
{
"servers": {
"3dvalley": {
"type": "http",
"url": "https://3dvalley.com/mcp"
}
}
}Windsurf
Add this to ~/.codeium/windsurf/mcp_config.json (or open it from Windsurf Settings › Cascade › MCP Servers) Leave out headers: Windsurf signs in with OAuth.
{
"mcpServers": {
"3dvalley": {
"serverUrl": "https://3dvalley.com/mcp"
}
}
}Another client: add a remote MCP server with the URL above. The full reference, with the REST API that does the same, is in the API docs.
Tools
- search_assets
- Search free CC0 3D assets. Search the CC0 library of models, PBR textures and HDRIs by meaning, size in metres, triangles, maps and resolution, with thumbnails to look at first.
- get_asset
- Get one CC0 asset. One asset in full: download links per format and resolution, size, up axis, texture maps, a credit line and import notes for Godot, Unity, three.js and Blender.
- generate_model
- Generate a 3D model. A textured GLB of one object from a picture or a description.
- edit_model
- Edit a 3D model. Retexture, remesh, repair, reduce, compress or convert a model: a URL, an upload, a library asset or the result of another job.
- generate_texture
- Generate a PBR texture. A seamless PBR texture set from a description, or a normal map from a picture of a surface.
- get_job
- Wait for a job. Waits for a running job and returns its download links, preview, size and triangle count. Never charges.
- upload_file
- Upload a local file. Gives the agent a curl command that sends a local mesh or picture, so other tools can use it.
- account
- Credits and prices. The credit balance, the price of every tool and model, and the rate limits.
What is free and what costs credits
- Free, no account: search_assets and get_asset. Search the library, look at thumbnails and download any model, texture or HDRI.
- Free, signed in: repair, reduce, compress, convert and the QuadriFlow remesher (edit_model), and normal maps from a picture (generate_texture).
- Credits: generate_model (image to 3D and text to 3D), retexture, the Tripo remesher and PBR textures from a description. 1 credit is $0.01, bought once, no subscription; see pricing. A tool call states its price, takes a max_credits limit, and never charges twice for the same job.
How sign-in works
The server uses OAuth 2.1 with PKCE, so you never paste a key. The first time a tool needs your account, your client opens a 3D Valley page in the browser; sign in, approve, and the client is connected. It asks for two scopes, one at a time:
library: search and download the free CC0 library.tools: run tools with your credits, asked for only when a tool needs it.
Each connected client shows up as a key at /account/api, with a daily spending cap, and you can revoke it there. Clients register themselves (dynamic client registration); discovery is at /.well-known/oauth-protected-resource.
Example prompts
- Find a low-poly wooden barrel and a crate from the same kit, under 2,000 triangles each, and put them in assets/props.
- I need a mossy stone floor texture at 2K. Download the colour, normal and roughness maps and set up a three.js material with them.
- Make a 3D model of this photo of my coffee mug, then reduce it to 5,000 faces and convert it to STL.
- Retexture models/chest.glb so it looks like rusted iron, and add the credit lines of every library asset we used to the README.
Questions
- Is the 3D Valley MCP server free?
- Searching and downloading the library is free and needs no account. Repair, reduce, compress, convert, the QuadriFlow remesher and normal maps are free with a free account. Generating a model, retexturing, the Tripo remesher and PBR textures from a description cost credits, which you buy once (1 credit = $0.01). The account tool tells the agent every price before it spends.
- Does it need an API key?
- No. The client signs in with OAuth: when a tool needs your account, a 3D Valley page opens in your browser, you approve it and the client is connected. If your client cannot do OAuth, make a key at /account/api and send it as a Bearer token.
- Which clients does it work with?
- Any MCP client that speaks streamable HTTP: Claude, Claude Desktop and Claude Code, ChatGPT, Cursor, VS Code and Windsurf among them. The server URL is the same for all of them: https://3dvalley.com/mcp.
- What formats and units are the models in?
- Every library model is a GLB in metres, +Y up, with its origin at the base, so it drops into a scene at the right size. Textures come at 1K and 2K. Generated models are textured GLBs, and edit_model converts to OBJ and STL.
- What licence do the assets have?
- CC0. The models and textures come from Kenney, KayKit, Poly Haven, ambientCG, cgbookcase, TextureCan and Open HDRI, and you may use them anywhere, commercially included, change them and sell what you make, with no attribution required.
- Do I have to credit the assets?
- No, CC0 needs no credit. Every asset still carries a ready credit line, and agents are asked to add it to a project's credits or README. An app or website that shows library results from the server to its own users names 3D Valley with a link near them.