这是一个模型上下文协议(MCP)服务器,提供了与Thingiverse API交互的工具。借助该服务器,AI助手能够搜索、探索并检索3D可打印模型。
  
这个服务器使用Puppeteer和Stealth插件通过Thingiverse API进行交互,提供多种工具供AI助手调用。以下是项目的完整文档,助你快速上手。
克隆项目仓库:
git clone https://github.com/your-repository.git
cd thingiverse-mcp-server
安装依赖项:
npm install
配置环境变量:
.env.development文件并添加Thingiverse API令牌。.env.production文件并添加Thingiverse API令牌。运行开发服务器:
npm run dev
构建生产版本:
npm run build
启动生产服务器:
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进行交互:
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
.env.production文件包含有效的Thingiverse API令牌。npm run prod构建并启动生产服务器。本项目遵循MIT许可证 - 请查看 LICENSE 文件获取详细信息。