Thingiverse MCP server

Provides a bridge to the Thingiverse API for searching, browsing, and retrieving 3D model information from the popular 3D printing community using Puppeteer.
Back to servers
Setup instructions
Provider
gpaul
Release date
Mar 20, 2025
Language
TypeScript
Stats
2 stars

This MCP server provides a bridge to the Thingiverse API, allowing AI assistants to search, browse, and retrieve 3D printable models through the Model Context Protocol (MCP). It enables seamless integration with AI assistants for exploring Thingiverse's vast collection of 3D models.

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • Thingiverse API token

Installation

  1. Clone the repository

    git clone <repository-url>
    cd thingiverse-mcp
    
  2. Install dependencies

    npm install
    
  3. Set up environment variables

    # Create development environment file
    cp .env.example .env.development
    # Create production environment file
    cp .env.example .env.production
    
  4. Configure API token

    • Get a Thingiverse App Token from the Thingiverse Developer Portal
    • Add your token to both .env.development and .env.production files:
      APP_TOKEN=your_api_token_here
      

Running the Server

Development Mode

npm run dev

This starts the MCP server in development mode with hot reload.

Production Mode

npm run build
npm start

Or use the shorthand:

npm run prod

Integrating with Claude Desktop

To add this MCP server to Claude Desktop:

  1. Start the MCP server Ensure your server is running locally or on a remote host accessible to Claude Desktop.

  2. Open Claude Desktop settings

    • Launch Claude Desktop
    • Click on your profile picture in the top right
    • Select "Settings" from the dropdown menu
  3. Navigate to Extensions settings

    • In the Settings sidebar, click on "Extensions"
    • Select "Add Custom MCP"
  4. Configure the MCP connection (Option 1)

    • Name: Thingiverse MCP (or any preferred name)
    • URL: Enter the URL where your MCP server is running (e.g., http://localhost:3000)
    • Click "Add MCP"

    Configure the MCP connection (Option 2)

    • Build the project first
    • Provide your full path in Claude Desktop's configuration:
    "thingiverse": {
      "command": "node",
      "args": [
        "YOUR_CUSTOM_PATH/Thingiverse/dist/index.js"
      ]
    }
    
  5. Enable the MCP

    • Toggle the switch next to your newly added Thingiverse MCP
    • Claude Desktop will attempt to connect to your MCP server
  6. Verify connection

    • Start a new conversation with Claude
    • Try asking "Can you help me find some 3D models on Thingiverse?"

Available Tools

The server provides several tools for interacting with Thingiverse:

Search for 3D Models

Tool: get-things

Parameters:

  • term: Search term (required)
  • categoryId: Optional category ID to narrow down search

Get Random 3D Models

Tool: get-random-thing

Retrieves random 3D models from Thingiverse.

Browse Categories

Tool: get-categories

Fetches all available categories from Thingiverse.

Get Models from Specific Category

Tool: get-random-thing-from-category

Parameters:

  • categorySlug: Category slug (required)

Example Queries for Claude

Once connected, you can ask Claude:

  • "Find me some 3D printable smartphone stands on Thingiverse"
  • "Show me some popular 3D models in the gadgets category"
  • "Get me a random 3D model from Thingiverse"
  • "What categories of 3D models are available on Thingiverse?"

Troubleshooting

If Claude cannot connect to your MCP server, check that:

  • The server is running and accessible from Claude Desktop
  • The correct URL is configured in Claude Desktop settings
  • Your API token is valid and properly configured in the server

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "thingiverse" '{"command":"node","args":["YOUR_CUSTOM_PATH/Thingiverse/dist/index.js"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "thingiverse": {
            "command": "node",
            "args": [
                "YOUR_CUSTOM_PATH/Thingiverse/dist/index.js"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "thingiverse": {
            "command": "node",
            "args": [
                "YOUR_CUSTOM_PATH/Thingiverse/dist/index.js"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later