Thingiverse MCP服务器
模型上下文协议(MCP)服务器,提供与Thingverse API交互的工具,允许人工智能助手搜索、探索和检索3D可打印模型。
 ](https://nodejs.org/)
🌟 概述
该MCP服务器使用Puppeteer包装Thingiverse API,以创建可供人工智能助手使用的可靠接口。它提供了以下工具:
- 搜索可3D打印的模型
- 获取随机3D模型
- 浏览类别
- 从特定类别中获取模型
🚀 特性
- 🔍 模型搜索:使用关键字搜索Thingiverse的3D打印模型数据库
- 🗂️ 类别浏览:按类别浏览模型
- 🎲 随机模型:从Thingiverse发现随机3D模型
- 🌐 完成API访问:获取有关模型的详细信息,包括描述、文件、图像等
- 🤖 AI助手集成:旨在通过模型上下文协议与人工智能助手协同工作
📋 先决条件
- Node.js(v14或更高版本)
- npm或纱线
- Thingverse API令牌
🔧 安装
- 克隆存储库
git clone
cd thingiverse-mcp- 安装依赖项
npm install- 设置环境变量
# Create development environment file
cp .env.example .env.development
# Create production environment file
cp .env.example .env.production- 配置API令牌
- 从获取Thingiverse应用令牌 Thingiverse开发者门户 - 将您的令牌添加到两者中 .env.development 和 .env.production 文件夹:
APP_TOKEN=your_api_token_here🎮 用法
发展模式
npm run dev这将以热重新加载的方式启动处于开发模式的MCP服务器。
生产模式
npm run build
npm start或者使用简写:
npm run prod🔗 与Claude Desktop集成
要将此MCP服务器添加到Claude Desktop并启用Thingiverse浏览功能:
- 启动MCP服务器
确保您的服务器在本地或Claude Desktop可以访问的远程主机上运行。
- 打开克劳德桌面设置
- 启动克劳德桌面 - 点击右上角的个人资料图片或图标 - 从下拉菜单中选择“设置”
- 导航到扩展设置
- 在设置侧栏中,单击“扩展” - 选择“添加自定义MCP”
4.1 配置MCP连接
- 姓名:
Thingiverse MCP(或您喜欢的任何名称) - URL:输入您的MCP服务器正在运行的URL(例如。,
http://localhost:3000地方发展) - 点击“添加MCP”
4.2 备选配置MCP连接
- 您首先需要构建项目并提供完整的路径C:/。../Thingiverse/dist/index.js
"thingiverse": {
"command": "node",
"args": [
"YOUR_CUSTOM_PATH/Thingiverse/dist/index.js"
]
}- 启用MCP
- 切换新添加的Thingiverse MCP旁边的开关以启用它 - Claude Desktop将尝试连接到您的MCP服务器
- 验证连接
- 与克劳德开始新的对话 - 键入“你能帮我在Thingiverse上找到一些3D模型吗?” - Claude现在应该能够使用Thingiverse工具搜索和浏览模型
- 故障排除
- 如果Claude无法连接到您的MCP服务器,请检查: - 服务器正在运行,可以从Claude Desktop访问 - 在Claude Desktop设置中配置了正确的URL - 您的API令牌有效,并且在服务器中配置正确
Claude使用示例
连接后,您可以要求Claude:
- “在Thingiverse上给我找一些可3D打印的智能手机支架”
- “在小工具类别中显示一些流行的3D模型”
- “从Thingiverse给我一个随机的3D模型”
- “Thingiverse上提供哪些类别的3D模型?”
🧠 可用工具
服务器提供了几个可供AI助手使用的工具:
get-things
根据搜索词搜索3D模型。
参数:
term:搜索词(必填)categoryId:可选类别ID以缩小搜索范围
get-random-thing
从Thingiverse检索随机3D模型。
get-categories
从Thingiverse获取所有可用类别。
get-random-thing-from-category
从特定类别中获取随机三维模型。
参数:
categorySlug:类别slug(必填)
🔍 运作原理
服务器使用Puppeter with Stealth插件与Thingiverse API进行交互。这种方法:
- 通过API令牌处理身份验证
- 向各种Thingiverse端点发出请求
- 以结构化格式解析并返回数据
- 将端点公开为可由AI助手调用的MCP工具
🛠️ 项目结构
src/
├── class/
│ └── thingiverser.class.ts # Main Puppeteer client for Thingiverse API
├── endpoints/
│ ├── getCategories.ts # Get all categories
│ ├── getRandomThing.ts # Get random things
│ ├── getThings.ts # Search for things
│ └── getThingsFromCategory.ts # Get things from a category
├── types/
│ ├── category.d.ts # Type definitions for categories
│ ├── files.d.ts # Type definitions for files
│ └── things.d.ts # Type definitions for things
└── index.ts # Entry point and MCP server setup⚙️ 发展
环境配置
服务器使用不同的环境文件进行开发和生产:
.env.development-在开发模式下运行时使用.env.production-在生产模式下运行时使用
测试
使用以下命令运行测试套件:
npm test装订和格式化
# Run ESLint
npm run lint
# Fix ESLint errors
npm run lint:fix
# Format code with Prettier
npm run format📝 部署注意事项
部署到生产环境时:
- 确保您的
.env.production文件包含有效的Thingiverse API令牌 - 构建过程将在编译后的代码中嵌入此令牌
- 使用
npm run prod构建并启动生产服务器
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
