bbcom_shop_search_mcp_server

cscartjp/bbcom_shop_search_mcp_server

3.1

If you are the rightful owner of bbcom_shop_search_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

BBcom Shop Search MCP Server is designed to facilitate natural language access to a database of shops, restaurants, and job listings in Miyakojima through AI assistants.

Tools
5
Resources
0
Prompts
0

BBcom Shop Search MCP Server

宮古島の店舗・求人情報を検索するための Model Context Protocol (MCP)サーバー実装です。

概要

この MCP サーバーは、宮古島の店舗、レストラン、求人情報などのデータベースに対して、AI アシスタント(Claude 等)から自然言語でアクセスできるインターフェースを提供します。

機能

提供ツール

検索ツール
  1. searchByCategory - カテゴリー別検索(位置情報によるソート対応)
  2. searchByLocation - 位置情報ベースの半径検索
  3. searchByTags - タグによる検索(AND/OR 条件)
  4. searchByText - フリーテキスト検索
  5. getItemById - ID 指定による詳細情報取得
カテゴリー管理ツール
  1. listCategories - 利用可能なカテゴリー一覧の取得
  2. checkCategory - 特定カテゴリーの存在確認と類似候補の提案

主な特徴

  • PostGIS を使用した高速な地理空間検索
  • 宮古島の主要ランドマークデータベース内蔵
  • 営業時間による絞り込み対応
  • ページネーション対応
  • 距離計算と並び替え機能

セットアップ

必要要件

  • Node.js 18 以上
  • PostgreSQL 14 以上(PostGIS 拡張必須)
  • npm または yarn

インストール手順

  1. リポジトリのクローン
git clone <repository-url>
cd bbcom_shop_search_mcp_server
  1. 依存関係のインストール
npm install
  1. 環境変数の設定
cp .env.example .env
# .envファイルを編集してDATABASE_URLを設定
  1. Prisma クライアントの生成
npx prisma generate
  1. データベースマイグレーション
npx prisma migrate dev

使用方法

開発環境での実行

npm run dev

ビルド

npm run build

テスト

# データベース接続テスト
npm run test:connection

# ツールテスト
npm run test:tools

Claude Desktop との統合

方法1: Desktop Extensions (DXT) を使用(推奨)

DXTファイルを使用すると、ワンクリックでインストールできます。

DXTファイルの作成
  1. 通常版DXTファイル(約67MB)の作成:
npm run dxt:pack
  1. 最適化版DXTファイル(約14MB)の作成:
npm run dxt:pack:optimized
DXTファイルのインストール

生成された.dxtファイルをClaude Desktopにドラッグ&ドロップするだけでインストールできます。 インストール時にDATABASE_URLの設定を求められます。

アイコンのカスタマイズ

icon.pngファイル(推奨サイズ: 256x256または512x512ピクセル)をプロジェクトルートに配置してから、DXTファイルを作成してください。

方法2: 手動設定

Claude Desktop の設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加:

{
  "mcpServers": {
    "bbcom-miyakojima": {
      "command": "node",
      "args": ["/path/to/bbcom_shop_search_mcp_server/dist/server.js"],
      "env": {
        "DATABASE_URL": "postgresql://user:password@host:port/database?sslmode=require"
      }
    }
  }
}

データベーススキーマ

主要テーブル:

  • citadela_items - 店舗・求人情報
  • citadela_categories - カテゴリーマスター
  • landmarks - 宮古島のランドマーク情報

詳細はprisma/schema.prismaを参照してください。

開発

プロジェクト構造

├── src/
│   ├── mcp/
│   │   ├── server.ts          # MCPサーバー本体
│   │   ├── tools/             # 各ツールの実装
│   │   └── schemas/           # Zodスキーマ定義
│   └── utils/
│       ├── geocoding.ts       # ジオコーディング機能
│       └── landmarks.ts       # ランドマークデータ
├── prisma/
│   └── schema.prisma         # データベーススキーマ
└── scripts/                  # テストスクリプト

コマンド一覧

  • npm run dev - 開発サーバー起動
  • npm run build - プロダクションビルド
  • npm run build:optimized - 最適化ビルド(minify + tree-shaking)
  • npm run test:connection - DB 接続テスト
  • npm run test:tools - ツールテスト
  • npm run lint - TypeScript 型チェック
  • npm run typecheck - TypeScript 型チェック
  • npm run dxt:pack - DXTファイルの作成(通常版)
  • npm run dxt:pack:optimized - DXTファイルの作成(最適化版)
  • npm run dxt:validate - manifest.json の検証

ライセンス

ISC

サポート

問題や質問がある場合は、GitHub の Issue セクションに報告してください。