Discogs MCP Server について
Discogs MCP Server は FastMCP で構築された MCP サーバーで、Discogs API に接続して音楽カタログの操作や検索を行います。MCP クライアントから Discogs データを照会・管理したい利用者向けで、npx、ローカルの Node、Docker で実行できます。
主な機能
- 01Discogs API による音楽カタログ操作
- 02Discogs データの検索機能
- 03stdio と HTTP ストリーミングの転送モード
- 04Discogs コレクションの編集機能
- 05初期設定で1ページ5件の結果返却
活用シーン
- 01Claude Desktop からアルバムやコレクション情報を照会
- 02LibreChat や LM Studio で Discogs ツールを有効化
- 03MCP Inspector によるローカルサーバーのテスト
MCP 対応
本プロジェクトは MCP サーバーであり、Discogs 関連のツールを MCP クライアントに公開します。ツール一覧は TOOLS.md にあります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Discogs MCP サーバー
Discogs API 用の MCP サーバーです。音楽カタログの操作や検索機能などを利用できます。
クイックスタート
Claude デスクトップアプリでこの MCP サーバーをすぐに使い始めたいだけで、開発やサーバーの自分での実行に関心がない場合は、Node.js がインストールされており、Discogs の個人用アクセストークンを用意できていることを確認して、Claude の設定セクションに進んでください。そのセクションの NPX 方式を使用します。
目次
謝辞
この MCP サーバーは、MCP サーバー構築用の TypeScript フレームワークである FastMCP を使用して構築されています。MCP と MCP サーバーの使用方法について詳しくは、FastMCP ドキュメントおよび公式 MCP ドキュメントを参照してください。
利用可能なツール
利用可能なツールの一覧はこちらをご覧ください:TOOLS.md
注意事項
- Discogs API ドキュメントは完全ではなく、一部のエンドポイントは十分に文書化されていないか、内容に不整合がある場合があります。
- API エンドポイントとレスポンス形式が非常に多いため、考えられるすべてのレスポンスについて型安全性を検証することはできません。型に関する問題に気付いた場合は報告してください。
- この MCP サーバーでは、Discogs コレクション内のデータを編集できます。慎重に使用し、実行前に操作内容を確認してください。
- Discogs API の
per_pageのデフォルト値は50ですが、一部のクライアントでは処理に多すぎるデータとなる場合があります。そのため、このプロジェクトではdiscogs.config.defaultPerPageの値を5に設定しています。プロンプトでより多くのデータを要求できますが、大きなレスポンスの処理に苦労するクライアントもあることに注意してください。
前提条件
- Node.js(Node.js
20.x.xでテスト済みですが、18.x.xでも動作するはずです)node --versionで Node.js のバージョンを確認してください。
- Docker(任意。Node や依存関係を扱わずに、ローカルの Docker イメージを実行する場合に使用します)
セットアップ
- リポジトリをクローンします
.env.exampleを基に、ルートディレクトリに.envファイルを作成します.envに次の必須環境変数を設定します:DISCOGS_PERSONAL_ACCESS_TOKEN:Discogs の個人用アクセストークン
Discogs の個人用アクセストークンを取得するには、Discogs Settings > Developers ページに移動し、トークンを確認するか、新しいトークンを生成します。トークンを共有しないでください。OAuth のサポートは今後のリリースで追加される予定です。
.env.example にあるその他の環境変数は任意で、適切なデフォルト値が設定されています。特別な要件がない限り、設定する必要はありません。
SERVER_HOST:サーバーをバインドするホストアドレス(デフォルト:0.0.0.0)。コンテナ/マシンの外部からの接続を許可するには0.0.0.0に設定し、ローカルホストのみに制限するには127.0.0.1に設定します。
サーバーをローカルで実行する
オプション 1:ローカル開発
-
依存関係をインストールします:
pnpm install -
利用可能なコマンド:
pnpm run dev:ホットリロードを有効にして開発サーバーを起動しますpnpm run dev:stream:HTTP ストリーミングモードで、ホットリロードを有効にして開発サーバーを起動しますpnpm run build:本番用ビルドを作成しますpnpm run start:本番用ビルドを実行しますpnpm run inspect:MCP Inspector を実行します(検査のセクションを参照)pnpm run format:コードのフォーマットをチェックします(prettier)pnpm run lint:リンターを実行します(eslint)pnpm run test:vitest を実行しますpnpm run test:coverage:vitest v8 のカバレッジを実行しますpnpm run version:check:package.json のバージョンと src/version.ts が一致していることを確認します
オプション 2:Docker
-
Docker イメージをビルドします:
docker build -t discogs-mcp-server:latest . -
コンテナを実行します:
docker run --env-file .env discogs-mcp-server:latestHTTP ストリーミングトランスポートモードの場合:
# The port should match what is in your .env file # By default, the server listens on 0.0.0.0, allowing connections from outside the container docker run --env-file .env -p 3001:3001 discogs-mcp-server:latest stream
検査
ローカルの MCP サーバーをテストするには、MCP Inspector を実行します:
pnpm run inspect
これにより、http://127.0.0.1:6274 で MCP Inspector が起動します。ブラウザーでこの URL にアクセスすると、ローカルの MCP サーバーを操作できます。
MCP Inspector の詳細については、公式ドキュメントをご覧ください。
MCP クライアント
今後、クライアントの設定例を追加する予定です。特定のクライアント向けの設定を希望する場合は、新しい issue を作成してリクエストするか、この README を編集するプルリクエストを作成してください。
Claude Desktop の設定
Claude > Settings > Developer > Edit Config で claude_desktop_config.json を見つけ、使用したいオプションに応じて、次のいずれか1つだけを追加します:
NPX
npm レジストリから直接実行します。
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": [
"-y",
"discogs-mcp-server"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
ローカル Node
この方法を使用する前に、依存関係をインストールしておく必要があります(pnpm install)。
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": [
"tsx",
"/PATH/TO/YOUR/PROJECT/FOLDER/src/index.ts"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Docker
この方法を使用する前に、Docker イメージをビルドしておく必要があります。
{
"mcpServers": {
"discogs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/PATH/TO/YOUR/PROJECT/FOLDER/.env",
"discogs-mcp-server:latest"
]
}
}
}
ローカルコードを変更した場合は、変更を反映するために Claude を再起動する必要があります。また、MCP ツールの実行にはユーザーの介在が必要なため、新しいツールにアクセスするたびに Claude が許可を求めます。通常は、チャットごとに各ツールにつき一度だけ許可すれば十分です。無料版を使用している場合、チャットが長くなると、1つのチャット内で扱えるコンテキスト量が Claude によって制限されるため、ツールの実行時にエラーが頻繁に発生することがあります。
LibreChat
librechat.yaml 設定ファイルの mcpServers セクションに、次の内容を追加します:
discogs:
type: stdio
command: npx
args: ["-y", "discogs-mcp-server"]
env:
DISCOGS_PERSONAL_ACCESS_TOKEN: YOUR_TOKEN_GOES_HERE
LM Studio
チャットの Settings を開きます。Program タブに、デフォルトで Install が選択されたドロップダウンがあります。Edit mcp.json を選択し、mcpServers セクションに次の内容を追加します:
"discogs": {
"command": "npx",
"args": [
"-y",
"discogs-mcp-server"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_GOES_HERE"
}
}
保存すると、Program タブにサーバーを有効にする mcp/discogs トグルが表示されます。各チャットボックスには Integrations メニューがあり、そこで MCP サーバーを有効にすることもできます。
TODO
- OAuth のサポート
- 不足しているツール:
- 在庫のアップロード
ライセンス
この MCP サーバーは MIT License の下でライセンスされています。MIT License の条項に従う限り、このソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。