Thingiverse MCP サーバー
Thingiverse API と対話するためのツールを提供し、AI アシスタントが 3D 印刷可能なモデルを検索、探索、取得できるようにするモデル コンテキスト プロトコル (MCP) サーバー。
🌟 概要
このMCPサーバーは、Puppeteerを使用してThingiverse APIをラップし、AIアシスタントが使用できる信頼性の高いインターフェースを作成します。以下のツールを提供します。
3Dプリント可能なモデルを検索
ランダムな3Dモデルを取得する
カテゴリを閲覧する
特定のカテゴリからモデルを取得する
Related MCP server: Blender Open MCP
🚀 機能
🔍 モデル検索: キーワードを使ってThingiverseの3Dプリント可能なモデルデータベースを検索します
🗂️ カテゴリーブラウジング:カテゴリー別にモデルを探す
🎲 ランダムモデル: Thingiverse からランダムな 3D モデルを発見
🌐 完全な API アクセス: モデルの説明、ファイル、画像など、詳細な情報を取得できます
🤖 AIアシスタント統合:モデルコンテキストプロトコルを介してAIアシスタントと連携するように設計されています
📋 前提条件
Node.js (v14以上)
npmまたはyarn
Thingiverse APIトークン
🔧 インストール
リポジトリをクローンする
git clone <repository-url> cd thingiverse-mcp依存関係をインストールする
npm install環境変数を設定する
# Create development environment file cp .env.example .env.development # Create production environment file cp .env.example .env.productionAPIトークンを設定する
Thingiverse開発者ポータルからThingiverseアプリトークンを取得する
トークンを
.env.developmentファイルと.env.productionファイルの両方に追加します。APP_TOKEN=your_api_token_here
🎮 使用方法
開発モード
これにより、ホット リロードを使用して MCP サーバーが開発モードで起動します。
生産モード
または、次の略語を使用します。
🔗 Claude Desktop との統合
この MCP サーバーを Claude Desktop に追加し、Thingiverse ブラウジング機能を有効にするには、次の手順を実行します。
**MCP サーバーを起動します。**サーバーがローカルで実行されているか、Claude Desktop がアクセスできるリモート ホスト上で実行されていることを確認します。
Claudeデスクトップの設定を開く
Claudeデスクトップを起動
右上のプロフィール写真またはアイコンをクリックします
ドロップダウンメニューから「設定」を選択します
拡張機能の設定に移動する
設定サイドバーで「拡張機能」をクリックします
「カスタム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サーバーへの接続を試みます
接続を確認する
クロードと新しい会話を始める
「Thingiverse で 3D モデルを探すのを手伝ってもらえますか?」と入力します。
クロードはThingiverseツールを使ってモデルを検索したり閲覧したりできるようになりました。
トラブルシューティング
Claude が MCP サーバーに接続できない場合は、次の点を確認してください。
サーバーは実行されており、Claude Desktopからアクセスできます。
正しいURLはClaudeデスクトップ設定で設定されています
APIトークンは有効であり、サーバーで適切に設定されています
クロードの使用例
接続したら、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: カテゴリスラッグ(必須)
🔍 仕組み
サーバーは、Thingiverse APIとのやり取りにPuppeteerとStealthプラグインを使用します。このアプローチでは、
APIトークンによる認証を処理する
さまざまなThingiverseエンドポイントにリクエストを送信します
データを解析し、構造化された形式で返します
AIアシスタントから呼び出せるMCPツールとしてエンドポイントを公開する
🛠️ プロジェクト構造
⚙️ 開発
環境設定
サーバーは開発と本番で異なる環境ファイルを使用します。
.env.development- 開発モードで実行するときに使用されます.env.production- 本番モードで実行するときに使用されます
テスト
次のようにテスト スイートを実行します。
リンティングとフォーマット
📝 デプロイメントに関する注意事項
本番環境にデプロイする場合:
.env.productionファイルに有効な Thingiverse API トークンが含まれていることを確認してくださいビルドプロセスは、このトークンをコンパイルされたコードに埋め込みます。
npm run prodを使用して本番サーバーをビルドして起動します。
📄 ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。