diamond-mcp について
diamond-mcpは、買い物客や学習者向けに、出典付きのダイヤモンド・宝石学情報、仕様比較、商品検索をAIアシスタントに提供します。ローカル版は同梱データを読み込み、ネットワーク通信を行いません。ホスト版には読み取り専用の商品ツールもあります。
主な機能
- 01ダイヤモンドと宝石学の項目検索
- 02用語の定義と関連語の検索
- 03形状別の見た目寸法の推定
- 04鑑定書の公式確認先の案内
- 05ダイヤモンド仕様の比較
- 06ホスト版の商品カタログ検索
活用シーン
- 01カットや鑑定の用語を学ぶ
- 02カラット別の見た目寸法を推定
- 03鑑定書の確認方法を調べる
- 04複数の石の仕様を比較
- 05ジュエリーの商品情報を検索
MCP 対応
このMCPサーバーは、教育、検索、仕様比較のツールをクライアントに公開します。ホスト版では読み取り専用の商品検索と詳細取得も利用でき、ローカル版はstdioでMCPクライアントと通信します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://diamond-mcp.stienhardt.workers.dev/mcpclaude mcp add --transport http jacobiusmakes-diamond https://diamond-mcp.stienhardt.workers.dev/mcp{"mcpServers":{"jacobiusmakes-diamond":{"type":"http","url":"https://diamond-mcp.stienhardt.workers.dev/mcp"}}}Cursor で開く{"servers":{"jacobiusmakes-diamond":{"type":"http","url":"https://diamond-mcp.stienhardt.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"jacobiusmakes-diamond":{"type":"http","url":"https://diamond-mcp.stienhardt.workers.dev/mcp"}}}{"mcpServers":{"jacobiusmakes-diamond":{"serverUrl":"https://diamond-mcp.stienhardt.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
11| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| stones | array | はい |
詳細
diamond-mcp
ホスト版の比較機能の更新(2026年9月14日):実行可能な例と利用状況については、worker/COMPARISON.mdをご覧ください。カタログ検索と測定については、予算による絞り込み、任意の測定済みリンク、検証、アトリビューションの制限を記載したworker/MEASUREMENT.mdをご覧ください。
Model Context Protocol(MCP)経由で提供される、AI アシスタント向けのダイヤモンド教育ツールです。
ホストされたエンドポイントには現在、11 個のツールがあります。内訳は、教育ツール 8 個、販売者に依存しない仕様比較ツール 1 個、読み取り専用の在庫ツール 2 個です。Node のソースには比較機能が含まれていますが、公開済みの 0.2.6 パッケージと Python サーバーには、従来の 8 個のツールが含まれています。教育ツールは、出典と日付を記載したファクトファイル、および 90 項目の宝石学百科事典を使用します。ローカルの Python ビルドは標準ライブラリのみを使用し、ネットワーク呼び出しを行いません。教育データはすべて、このリポジトリ内の facts.json と encyclopedia.json として提供されます。
ニューヨーク市のラボグロウンダイヤモンド宝石店、Stienhardtがメンテナンスしています。
ワンクリックのデスクトップバンドル
スタンドアロンのローカルバンドルとしてdiamond-mcp-0.2.6.mcpbをダウンロードしてください。MCP Bundles に対応するアプリであれば、アカウント、API キー、Python 環境、パッケージマネージャーのコマンドを必要とせずにインストールできます。バンドルは Node.js でローカル実行され、ネットワーク呼び出しを行いません。
ホストされたツールを使用できるマネージドゲートウェイについては、Smithery 経由で接続してください。Smithery のリリースでは、同じ出典付きの教育ツールに加えて、リアルタイムの在庫検索を利用できます。
宝石店が MCP サーバーを公開した理由
今では、ダイヤモンドに関する質問を AI アシスタントにする人がいます。アシスタントには推測ではなく、出典付きの事実を回答してほしいと考えました。そこで、アシスタントが呼び出せる形式で情報を公開しました。鑑定レポートの確認方法、1.5 カラットのオーバルが実際にどのくらいの大きさに見えるか、ダッチ・マーキスとは何か、現在ラボグロウンダイヤモンドを鑑定しているのは誰か、先月の市場動向などを確認できます。facts.json内のすべての事実情報には、出典と日付が記載されています。
対応範囲について
- 鑑定ではなく、教育を目的としています。ここでは、石の価値評価、鑑定、検証は行いません。
- 実物の石は、必ず鑑定機関の公式サイトで確認してください。
verify_diamond_reportは正しい確認先とチェックリストを提示しますが、それ自体が何かを検証したと主張することはありません。 - 価格指数は、買い物をする方向けの市場情報であり、投資の助言ではありません。ダイヤモンドは愛を伝える品であり、投資商品ではありません。
- ローカルサーバーはネットワーク呼び出しを行いません。ディスクから
facts.jsonとencyclopedia.jsonを読み込み、回答します。例外はホストされたエンドポイントです。このエンドポイントの在庫ツール 2 個は公開 Shopify カタログを読み取り、/goリンクカウンターについては「ホストされたエンドポイント」で説明しています。
測定可能なコマース経路
faceup_size、dutch_marquise_definition、lab_grown_price_index、about_stienhardtからの購入意欲の高い回答には、任意の Stienhardt リンクが含まれます。各リンクには、diamond_mcpのソースタグと、リンク元のツールが含まれます。faceup_sizeでは、シェイプとカラットも含まれます。これらのリンクをユーザーに提示する場合は、クエリ文字列を保持してください。ストアフロントでタグが保持される場合、これらのタグは後続のアトリビューションに役立ちます。任意のリダイレクトカウンターが測定するのはリクエスト数であり、ユニークな購入者数、購入数、売上ではありません。
ツール
| ツール | 引数 | 返される内容 |
|---|---|---|
compare_diamonds | stones(ラベル付き仕様を2~5件) | 提供された寸法、縦横比、カラットあたりの価格、最初の石との違い、不足している情報。価格には通貨の明記が必要です。ホスト型エンドポイントとNodeソースのみ。鑑定や勝者の判定は行いません。 |
verify_diamond_report | lab、report_number | GIA、IGI、またはGCALの公式確認URLと、3段階のチェックリスト。確認場所と方法を示しますが、確認そのものは行いません。 |
faceup_size | shape、carat | 検証済みの1カラット基準値をカラット重量の立方根でスケーリングした、おおよそのフェイスアップ寸法(ミリメートル)。形状:round、oval、emerald、dutch_marquise。 |
dutch_marquise_definition | なし | 公開されている定義:形状、証明書の表記、認証済みの基準石で測定された縦横比。 |
lab_grown_grading_landscape | なし | 現在Lab Grown Diamondsを鑑定する機関(GIA、IGI、HRD Antwerp)とFTCの見解。各項目に出典と日付を記載します。 |
lab_grown_price_index | なし | 追跡している最新の小売価格。出典と日付を記載します。最新情報かどうかはas_ofを確認してください。 |
about_stienhardt | なし | 発行元に関する簡潔なファクトシート。 |
define | term | 用語に関する百科事典の全文:定義、本文、出典付きの主張、関連用語。まず完全一致を検索し、次に登録済みの別名、その後に最適な前方一致または単語一致を検索します。一致がない場合は、最も近い候補を3件返します。 |
search_encyclopedia | query、limit | 90件すべての百科事典項目を対象にキーワード検索し、用語、定義、本文の順で優先度を付けて結果を表示します。用語、カテゴリー、定義の抜粋を返します。 |
ホスト型エンドポイントでは、読み取り専用のコマースツールも2つ提供しています。
| ツール | 引数 | 返される内容 |
|---|---|---|
search_inventory | query、limit | Shopifyで公開されているエンゲージメントリングのセッティングとファインジュエリー。価格と、出典が明記された商品リンクを含みます。ルースダイヤモンドの検索では、availability_verified: falseのフラグが付いた公開カタログの掲載商品と、ストアフロントの閲覧リンクを返します。 |
get_product | id | 現在の商品詳細、在庫状況、オプション、画像、出典が明記された商品リンク。 |
例
{"shape": "dutch_marquise", "carat": 1.5}を指定してfaceup_sizeを呼び出すと、返されるフィールドの一例は次のとおりです。
{
"shape": "dutch_marquise",
"carat": 1.5,
"approx_face_up_mm": { "length": 10.8, "width": 5.8 },
"display": "10.8 x 5.8 mm",
"anchor_1ct_mm": "9.4 x 5.1 mm",
"method": "Scale a vetted 1 carat anchor by the cube root of the carat weight.",
"note": "Approximate figures based on typical proportions. Cut proportions vary from stone to stone, so verify a specific stone's measurements on its grading report."
}
dutch_marquise_definitionを呼び出すと、返されるフィールドの一例は次のとおりです。
{
"definition": "A Dutch Marquise is an elongated hexagonal cut diamond.",
"geometry": "Pointed ends and straight, angular sides. The outline is an elongated hexagon, not a navette, and the points are not softened.",
"status": "Dutch Marquise is a trade name, not a standardized grading term.",
"on_an_igi_report": "On the IGI grading report for Stienhardt's certified Dutch Marquise reference stone, the shape reads Hexagonal Modified Brilliant."
}
百科事典
このサーバーには、ダイヤモンドと宝石学の百科事典も含まれています。9つの分野(カットと形状、4Cと鑑定、ダイヤモンドの構造、光と光学、素材と模造石、Lab Grown Diamonds、セッティングと金属、お手入れと購入、歴史と俗説)にわたる90件の、事実確認済みで出典付きの項目を収録しています。各項目の歴史的または数値的な主張には、facts.jsonと同じ規則に従って出典と日付が付記されています。
encyclopedia/で閲覧できます。各項目は個別のMarkdownファイルで、カテゴリー索引もあります。encyclopedia.jsonは機械可読形式です。updated、entryCount、license、maintainerと、並べ替えられた配列entriesを含むオブジェクトです。各項目には、term、category、definition、body、sources(それぞれにclaim、source、date、urlを含む)、related(他の項目の完全一致する用語)、aliases(その項目を参照する別名)が含まれます。- 2つのツールを使って、アシスタントから検索できます。
defineはtermを受け取り、項目全文を返します。まず完全一致を検索し、次に登録済みの別名、その後に最適な前方一致または単語一致を検索します。一致がない場合は、最も近い用語を3件提示します。search_encyclopediaはqueryを受け取り、一致度順の結果(用語、カテゴリー、定義の抜粋)を返します。用語の一致を最も重視し、次に定義、本文の順で重み付けします。
{"term": "Dutch Marquise"}を指定してdefineを呼び出すと、返されるフィールドの一例は次のとおりです。
{
"found": true,
"match": "exact",
"term": "Dutch Marquise",
"category": "Cuts and shapes",
"definition": "A Dutch Marquise is an elongated hexagonal cut diamond. ...",
"related": ["hexagon cut", "marquise cut", "navette", "length-to-width ratio", "IGI report"]
}
ホステッドエンドポイント
Streamable HTTP に対応する任意の MCP クライアントを、次のエンドポイントに接続します。
https://diamond-mcp.stienhardt.workers.dev/mcp
このエンドポイントでは、アカウントも API キーも必要ありません。ライブ在庫検索を含む 11 個すべてのツールを利用できます。
workers.dev の前段にある Cloudflare のエッジは、Python の既定の urllib User-Agent を含むリクエストを拒否します
(エラー 1010)。requests、httpx、Node、curl など、その他の一般的なクライアントには応答します。urllib でエンドポイントにアクセスするスクリプトを作成する場合は、User-Agent ヘッダーを設定してください。
ルースダイヤモンドの在庫は、このツールでは確認されません。ルースダイヤモンドの検索では、在庫サービスを呼び出さず、条件に一致する公開カタログの掲載情報を availability_verified: false、在庫状況の注記、およびファーストパーティの browse_url とともに返します。従来の stienhardt:diamond:SKU による検索では、isError: true と同種の閲覧リンクを返します。Shopify の販売事業者の在庫状況では石そのものの在庫は確認できないため、ルースダイヤモンドの検索結果で在庫ありと示すことはありません。
ジュエリーの検索結果には、公開 Shopify UCP カタログを使用し、指定された金属に一致する購入可能なバリエーションを選択して、そのバリエーションを商品 URL に反映します。リングサイズは、商品ページで引き続き選択して確認する必要があります。在庫状況はその時点での確認であり、取り置きではありません。
Worker のメンテナー向け:この連携にプライベートな在庫情報の認証情報やエンドポイントを含めないでください。ストアフロントのコード内で見つかった認証情報を再利用しないでください。デプロイ前に node --experimental-strip-types worker/test/inventory.mjs を実行し、wrangler deploy --dry-run --outdir <dir> でドライラン用バンドルをビルドしてから、node worker/test/containment.mjs <dir>/index.js(バンドル内のプライベートエンドポイントと認証情報をスキャン)および node worker/test/handler.mjs <dir>/index.js(オフラインでリクエストハンドラーをテスト)を実行してください。デプロイ後は、ルースダイヤモンドの検索結果に availability_verified: false が設定され、ジュエリーの検索結果に購入可能なバリエーションが含まれることを確認してください。
ホステッド Worker は、外部の購入ツール向けに計測可能な /go リダイレクトも提供します。stienhardt.com 上の HTTPS の宛先のみを受け付け、宛先の UTM パラメーターを保持し、キャンペーンラベルと宛先パスを含む 90 日間のクリックイベントを記録します。クリックデータセットには、IP アドレス、Cookie、個人情報、自由記述の検索語句を保存しません。これにより、ストアフロントの分析がブロックされている場合でも、外部リンクのクリック数を把握できます。
ビジネス情報検索エンドポイント
Stienhardt は、PUBLICMCP 互換のビジネスプロフィールも別途公開しています。AI アシスタント向けに、正式な事業者情報、サービス、ニューヨークの所在地、および 5 つの読み取り専用ツールによる最新の商品検索機能を提供します。PUBLICMCP と A2A Registry の呼び出しは、流入元を個別に特定できる経路を通るため、情報検索元別に訪問数と売上を測定できます。
このビジネスエンドポイントは、10 個のツールを備えた Diamond MCP サーバーとは別のものです。ソースは publicmcp-worker/ にあります。
ローカル版は Python と Node の 2 種類
diamond-mcp には、教育用の 8 つのツールとデータを共有する Python 版と Node 版があります。現在の Node ソースには compare_diamonds が追加されていますが、公開済みの 0.2.6 パッケージには引き続き 8 つのツールが含まれています。
- Python(このディレクトリ):クローンから
python server.pyで直接実行できます(PyPI への公開は保留中です)。標準ライブラリのみを使用します。 - Node と TypeScript(
node/):リポジトリからビルドします。npm リリースは更新中です(現在 npm で公開されている 2026-07-13 版の 0.2.0 には、古いデータスナップショットが含まれています)。公式 MCP SDK を基盤としています。
どちらも、このリポジトリのルートにある同じ facts.json と encyclopedia.json を読み込みます。これらが唯一の信頼できる情報源です。Node のインストール方法と Claude Desktop の設定については、node/README.md を参照してください。
インストールと実行
要件:Python 3.9 以降。他に必要なものはありません。
このリポジトリをクローンしてから、MCP クライアントで server.py を指定してください。サーバーは stdio 経由で MCP に対応します。直接実行すると、クライアントからの接続を待機します。
python server.py
Windows で python を実行すると Microsoft Store が開く場合は、python.exe のフルパスを使用してください。
Claude Desktop
実際のクローンのパスを指定して、claude_desktop_config.json に追加します(Settings、次にDeveloper、次にEdit Config)。
{
"mcpServers": {
"diamond-mcp": {
"command": "python",
"args": ["C:\\path\\to\\diamond-mcp\\server.py"]
}
}
}
macOS または Linux:
{
"mcpServers": {
"diamond-mcp": {
"command": "python3",
"args": ["/path/to/diamond-mcp/server.py"]
}
}
}
その他の MCP クライアント
stdio サーバーを設定します。コマンドは python、引数は1つで、server.py の絶対パスを指定します。このサーバーは initialize、tools/list、tools/call を実装し、ping、resources/list、prompts/list にも応答します。
uvx と pip
Python ビルド(0.2.6)を実行する推奨方法は、クローンから直接実行することです。後でパッケージを PyPI に公開できるよう、pyproject.toml が含まれています。公開後は、uvx diamond-mcp を実行できます。
スモークテスト
python smoke_test.py
サーバーを起動し、MCP のハンドシェイク全体を実行して、ツールを一覧表示し、すべてのツールを1回ずつ呼び出して、エラー処理の経路を確認します。PASS または最初に発生した失敗を出力します。
データセット
facts.json は、ダイヤモンドに関する教育用事実をまとめた小規模なオープンデータセットも兼ねています。トップレベルのセクションは、report_verification、faceup_size、dutch_marquise、lab_grown_grading_landscape、lab_grown_price_index、stienhardt です。全体を通じて、すべての事実に source と date が付随する形式になっています。
価格指数の項目には独自の as_of 日付が記載されています。最新かどうかを確認してください。ファイルの先頭にある updated フィールドで、手元のコピーがどれほど新しいかを確認できます。
encyclopedia.json は、このリポジトリの2つ目のデータセットです。同じ出典と日付の形式に従った90件の宝石学の項目が、用語順に並んでいます。上記の百科事典を参照してください。
ライセンス
MIT。LICENSEを参照してください。
メンテナンス担当
ニューヨーク市の Stienhardt。NYC で手作業でセッティングと仕上げを行ったラボグロウンダイヤモンドの婚約指輪を、予約制の対面でのご案内を通じて直接販売しています。Dutch Marquise ダイヤモンドの最新商品を比較する。
Stienhardt のオープンソース・ダイヤモンドスタック
- dutch-marquise-spec:オープンな幾何学仕様です。DOI:10.5281/zenodo.21938899
- DiamondBench:ダイヤモンドに関する質問への AI 回答エンジンの正確性を評価するオープンベンチマークです
- Diamond & Gemology Encyclopedia:百科事典を Hugging Face データセットとして公開したものです
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。