Thingiverse

Thingiverse

🚀 万物iverse MCP服务器

这是一个模型上下文协议(MCP)服务器,提供了与Thingiverse API交互的工具。借助该服务器,AI助手能够搜索、探索并检索3D可打印模型。

![TypeScript](https://img Shields.io/badge/TypeScript-007ACC?style=for-the-badge) ![Node.js](https://img Shields.io/badge/node.js) ![Puppeteer](https://img Shields.io/badge/puppeteer)

🚀 快速开始

这个服务器使用Puppeteer和Stealth插件通过Thingiverse API进行交互,提供多种工具供AI助手调用。以下是项目的完整文档,助你快速上手。

✨ 主要特性

  • 搜索模型:可根据关键词或分类ID搜索3D模型。
  • 获取随机模型:能从Thingiverse中获取随机的3D模型。
  • 获取分类:可获取所有可用的3D模型分类。
  • 按分类获取随机模型:能从指定分类中获取随机的3D模型。

📦 安装指南

先决条件

  1. 安装Node.js(推荐使用版本14及以上)。
  2. 安装npm包管理工具。
  3. 创建并激活虚拟环境(可选但推荐)。

安装步骤

  1. 克隆项目仓库:

    git clone https://github.com/your-repository.git
    cd thingiverse-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    • 创建.env.development文件并添加Thingiverse API令牌。
    • 创建.env.production文件并添加Thingiverse API令牌。
  4. 运行开发服务器:

    npm run dev
    
  5. 构建生产版本:

    npm run build
    
  6. 启动生产服务器:

    npm start
    

💻 使用示例

get-things工具

根据关键词或分类ID搜索3D模型。

参数:

  • term:搜索关键词(必填)
  • categoryId:可选的分类ID,用于缩小范围

get-random-thing工具

获取Thingiverse中的随机3D模型。

get-categories工具

获取所有可用的3D模型分类。

get-random-thing-from-category工具

从指定分类中获取随机的3D模型。

参数:

  • categorySlug:分类标识符(必填)

🔧 技术细节

工作原理

服务器使用Puppeteer和Stealth插件通过Thingiverse API进行交互:

  1. 处理身份验证,使用API令牌。
  2. 调用Thingiverse的不同端点。
  3. 解析并返回结构化的数据。
  4. 暴露MCP工具供AI助手调用。

项目结构

src/
├── class/
│   └── thingiverser.class.ts    # 主Puppeteer客户端
├── endpoints/
│   ├── getCategories.ts         # 获取所有分类
│   ├── getRandomThing.ts        # 获取随机模型
│   ├── getThings.ts             # 搜索模型
│   └── getThingsFromCategory.ts # 从分类中获取模型
├── types/
│   ├── category.d.ts            # 分类类型定义
│   ├── files.d.ts               # 文件类型定义
│   └── things.d.ts              # 模型类型定义
└── index.ts                     # 入口点和MCP服务器设置

📚 详细文档

开发说明

环境配置

项目使用不同的环境文件:

  • .env.development:开发模式下使用。
  • .env.production:生产模式下使用。

测试

运行测试套件:

npm test

格式化和代码检查

# 运行ESLint
npm run lint

# 修复ESLint错误
npm run lint:fix

# 使用Prettier格式化
npm run format

部署说明

  1. 确保.env.production文件包含有效的Thingiverse API令牌。
  2. 构建过程会将此令牌嵌入到编译代码中。
  3. 使用npm run prod构建并启动生产服务器。

📄 许可证

本项目遵循MIT许可证 - 请查看 LICENSE 文件获取详细信息。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-03 02:42

相似服务问题

相关AI产品