hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides tools for searching, exploring, and retrieving 3D printable models from Thingiverse, including category browsing, random model discovery, and detailed model information retrieval.
Thingiverse MCP 服务器
模型上下文协议 (MCP) 服务器提供与 Thingiverse API 交互的工具,允许 AI 助手搜索、探索和检索 3D 可打印模型。
🌟 概述
此 MCP 服务器使用 Puppeteer 包装 Thingiverse API,以创建可供 AI 助手使用的可靠接口。它提供以下工具:
- 搜索 3D 可打印模型
- 获取随机 3D 模型
- 浏览类别
- 获取特定类别的模型
🚀 功能
- 🔍 模型搜索:使用关键字搜索 Thingiverse 的 3D 可打印模型数据库
- 🗂️ 类别浏览:按类别浏览模型
- 🎲 随机模型:从 Thingiverse 中发现随机 3D 模型
- 🌐 完整的 API 访问:获取有关模型的详细信息,包括描述、文件、图像等
- 🤖 AI 助手集成:旨在通过模型上下文协议与 AI 助手协同工作
📋 先决条件
- Node.js(v14 或更高版本)
- npm 或 yarn
- Thingiverse API 令牌
🔧 安装
- 克隆存储库Copy
- 安装依赖项Copy
- 设置环境变量Copy
- 配置 API 令牌
- 从Thingiverse 开发者门户获取 Thingiverse 应用令牌
- 将您的令牌添加到
.env.development
和.env.production
文件中:Copy
🎮 使用方法
开发模式
这将以热重载方式在开发模式下启动 MCP 服务器。
生产模式
或者使用简写:
🔗 与 Claude Desktop 集成
要将此 MCP 服务器添加到 Claude Desktop 并启用 Thingiverse 浏览功能:
- 启动 MCP 服务器确保您的服务器在本地运行或 Claude Desktop 可以访问的远程主机上运行。
- 打开 Claude 桌面设置
- 启动 Claude Desktop
- 点击右上角的个人资料图片或图标
- 从下拉菜单中选择“设置”
- 导航至扩展设置
- 在“设置”侧栏中,点击“扩展”
- 选择“添加自定义 MCP”
4.1配置 MCP 连接
- 名称:
Thingiverse MCP
(或您喜欢的任何名称) - URL:输入运行 MCP 服务器的 URL(例如,用于本地开发的
http://localhost:3000
) - 点击“添加 MCP”
4.2配置 MCP 连接的替代方案
- 您首先需要构建项目并提供完整路径 C:/.../Thingiverse/dist/index.js
- 启用 MCP
- 切换新添加的 Thingiverse MCP 旁边的开关以启用它
- Claude Desktop 将尝试连接到您的 MCP 服务器
- 验证连接
- 与 Claude 开始新的对话
- 输入“你能帮我在 Thingiverse 上找到一些 3D 模型吗?”
- Claude 现在应该能够使用 Thingiverse 工具来搜索和浏览模型
- 故障排除
- 如果 Claude 无法连接到您的 MCP 服务器,请检查:
- 服务器正在运行,可通过 Claude Desktop 访问
- 在 Claude Desktop 设置中配置了正确的 URL
- 您的 API 令牌有效且在服务器中正确配置
- 如果 Claude 无法连接到您的 MCP 服务器,请检查:
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
从特定类别中获取随机 3D 模型。
参数:
categorySlug
:类别 slug(必需)
🔍 工作原理
服务器使用带有 Stealth 插件的 Puppeteer 与 Thingiverse API 进行交互。此方法:
- 通过 API 令牌处理身份验证
- 向各种 Thingiverse 端点发出请求
- 以结构化格式解析并返回数据
- 将端点公开为可供 AI 助手调用的 MCP 工具
🛠️ 项目结构
⚙️ 开发
环境配置
服务器针对开发和生产使用不同的环境文件:
.env.development
- 在开发模式下运行时使用.env.production
- 在生产模式下运行时使用
测试
使用以下命令运行测试套件:
代码检查和格式化
📝 部署注意事项
部署到生产环境时:
- 确保您的
.env.production
文件包含有效的 Thingiverse API 令牌 - 构建过程会将此令牌嵌入到已编译的代码中
- 使用
npm run prod
构建并启动生产服务器
📄 许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
This server cannot be installed
模型上下文协议服务器允许 AI 助手从 Thingiverse 搜索、探索和检索 3D 可打印模型。