mcpField
M
mainstreet-mcp

mainstreet-mcp

ローカル
nyclaw.ioビジネス・マーケティング01 日前に更新

mainstreet-mcp について

mainstreet-mcpは、小規模事業者のAIアシスタントに設定済みの事業情報を提供し、呼び出し側の情報に基づくステートレスなワークフロー確認キットも備えます。`business.yaml`で情報を設定し、業種別のツールで営業時間やサービス、予約方法などを照会できます。

主な機能

  1. 01`business.yaml`で事業情報を設定
  2. 02業種別プリセットの作成と設定検証
  3. 03営業時間、提供内容、FAQの検索
  4. 04予約方法の提示と問い合わせ受付
  5. 05見積もり追跡、請求差異、注文引き継ぎの確認

活用シーン

  1. 01AIアシスタントに営業時間やサービスを回答させる
  2. 02業種に応じた問い合わせツールを設定
  3. 03提供された情報から見積もりや請求書の確認案を作成
  4. 04注文引き継ぎ情報を確認し、レビュー用の案を作成

MCP 対応

MCPクライアントに共通の事業ツールと業種別ツールを提供し、CLIからstdioでワークフローキットを実行できます。キットは呼び出し側が渡した構造化情報を評価し、確認結果と未送信の下書きを作成します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbmainstreet-mcp.mcpb0.1.4
npmmainstreet-mcp0.1.4

ツール

2

掲載時のツール一覧 · 今日に更新

このツールにパラメーターはありません。

詳細

Main Street MCP

M8ven Score

小規模事業者の AI アシスタント(ChatGPT、Claude など)が、営業時間、メニュー/サービス、よくある質問、スタッフ、予約方法など、その事業自体について信頼できる回答を得られる、業種特化型の無料 MCP サーバーです。事業者ごとに business.yaml ファイルを 1 つ用意するだけで、実行にあたってコードを変更する必要はありません。

クイックスタート(事業主向け)

  1. Node.js 20 以降をインストールします(または、すでにインストールされているバージョンを使用します。node -v で確認してください)。

  2. 業種に応じた初期設定ファイルを生成します。

    npx -y mainstreet-mcp init --industry restaurant
    

    restaurant を該当する業種に置き換えてください。対応業種:restaurant、dental、law-firm、home-services、salon-spa、fitness-studio、real-estate-agent、auto-repair、insurance-agency、church。

    カレントディレクトリに business.yaml が作成されます。事業者の正式名称、営業時間、メニュー/サービス、よくある質問などを実際の内容に合わせて編集してください(別の名前で保存する場合は --out <path> を使用します。その場合、以降のすべてのコマンドに --config <path> が必要です)。

  3. 編集内容に問題がないか確認します。

    npx -y mainstreet-mcp validate
    

    ファイルに問題がある場合(YAML の形式が不正、業種名のタイプミス、該当しないフィールドなど)は、スタックトレースではなく、具体的で読みやすいエラーが表示されます。

  4. AI アシスタントに接続します。stdio サーバーを起動するローカル MCP クライアント(例:Claude Desktop)の場合は、次のようなエントリーを追加します。

    {
      "mcpServers": {
        "my-business": {
          "command": "npx",
          "args": ["-y", "mainstreet-mcp", "--config", "/absolute/path/to/business.yaml"]
        }
      }
    }
    

    代わりに HTTP 経由で提供する場合(例:ホスト環境にデプロイする場合)は、次を実行します。

    npx -y mainstreet-mcp serve --http --port 3000
    

    HTTP サーバーは 127.0.0.1 にのみバインドし、すべてのリクエストで Host/Origin ヘッダーを検証します。ローカルでのテスト以外で使用する場合は、前段にリバースプロキシを配置してください。

AI アシスタントに提供される機能

業種に関係なく、すべての事業者が 7 つの共通ツールを利用できます。

  • get_business_profile — 名称、説明、連絡先情報、住所、ポリシー
  • check_open_status — 現在(または指定した時刻)の営業状況を、事業者のタイムゾーンに基づいて返します。深夜にまたがる営業時間や、祝日・例外日の上書き設定にも対応します
  • search_offerings — 事業者が販売・提供するものをフリーテキストで検索します
  • answer_question — 設定されたよくある質問を検索します。一致する内容を確信を持って見つけられない場合は、推測せずに found: false を返します
  • list_staff — 設定されたスタッフ、役職、略歴、資格
  • get_booking_options — 実際の予約方法(電話/オンライン/直接来店/メール)
  • submit_inquiry — 顧客がメッセージを残せるようにします。受け付ける前に、レート制限、サニタイズ、業種固有のガードレールによる審査が行われます

さらに、各業種プリセットでは、その業種に適した、プラグイン可能なツールモジュールであるいくつかの機能が有効になります。

業種機能/ツール
restaurantmenu → get_menu
dentalinsurance_accepted → check_insurance_accepted
law-firmpractice_areas → list_practice_areas(法律上の助言ではない旨の免責事項が必ず付記されます)
home-servicesservice_area → check_service_area、price_estimate → get_price_estimate
salon-spaclass_schedule → get_class_schedule
fitness-studioclass_schedule → get_class_schedule
real-estate-agentlistings → search_listings
auto-repairservice_area、price_estimate、insurance_accepted
insurance-agencycoverage_lines → list_coverage_lines
churchservice_times → get_service_times

すべてのツールには outputSchema があり、structuredContent を返すため、呼び出し元のエージェントは解析が必要な文章ではなく、型付きデータを受け取れます。

ガードレール

一部のプリセットでは、共通のサニタイズ(HTML/制御文字の除去、文字数上限、レート制限)に加え、受け付ける前に submit_inquiry メッセージを審査します。

  • dental — SSN の形式に一致するパターンを含むメッセージと、臨床・健康に関する詳細なキーワードを含む長文を拒否し、代わりに患者にオフィスへ電話するよう案内します。
  • law-firm — メッセージを1行/280文字に制限します(トピックのみで、案件の詳細は含めません)。
  • salon-spa/fitness-studio — 健康・医療に関する詳細なキーワード(妊娠、けが、服薬など)を含むメッセージを拒否し、代わりにスタッフへ直接伝えるよう顧客に案内します。

price_estimate の出力には常に is_estimate: true と免責事項が含まれ、確定見積もりとして提示されることはありません。

インストール

Claude Desktop(ワンクリック、ターミナル不要)

リリースページから最新の mainstreet-mcp.mcpb をダウンロードして(または自分でビルドして — 下記の mcpb/ を参照)、ダブルクリックします。Claude Desktop がデスクトップ拡張機能のインストール確認画面を開き、business.yaml を保存するフォルダーを指定するよう求めます。再度見つけられるフォルダーならどこでもかまいません。Documents で問題ありません。Node.js のインストールやターミナルは不要です。

インストール前に business.yaml を用意する必要はありません。 フォルダーが空の場合、サーバーはセットアップモードで起動します。Claude に「自分のビジネスをセットアップして」と頼むと、業種の一覧を表示し、そのフォルダーにスターターファイルを書き込み、営業時間、サービス、料金などの情報を聞き取って入力します。完了したら拡張機能を一度オフにしてからオンにすると、ビジネスツールが表示されます。選んだフォルダーはそのまま使い続けます。

.mcpb を自分でビルドするには:

npx @anthropic-ai/mcpb pack mcpb build/mainstreet-mcp.mcpb
Claude Code(プラグイン)

同梱のプラグインをインストールすると、MCP サーバーが登録され、business.yaml の作成に必要な情報を聞き取る setup-my-business スキルが追加されます。

claude plugin install ./plugin

プラグインの MCP 設定では、プロジェクトのルート(${CLAUDE_PROJECT_DIR}/business.yaml)に business.yaml があることを想定しています。これは init が作成する場所と同じです。そのディレクトリから setup-my-business スキルを実行するか、npx -y mainstreet-mcp init --industry <yours> を実行してください。

Claude Code(プラグインなしで MCP を直接追加)
claude mcp add mainstreet -- npx -y mainstreet-mcp --config /absolute/path/to/business.yaml
汎用 JSON 設定(任意の MCP クライアント)

JSON 設定から stdio サーバーを起動する任意のクライアント(Claude Desktop の手動設定、その他の MCP クライアント)向け:

{
  "mcpServers": {
    "my-business": {
      "command": "npx",
      "args": ["-y", "mainstreet-mcp", "--config", "/absolute/path/to/business.yaml"]
    }
  }
}

設定例

examples/ には、対応する各業種の動作する <industry>.business.yaml が1つずつあります。これらは init がコピーするファイルと同じもので、E2E テストスイートでも使用されます。

開発

npm install
npm run build     # tsc -> dist/
npm test          # builds, then runs node --test against dist/test/*.test.js

技術スタック:@modelcontextprotocol/[email protected](MCP 仕様 2026-07-28)、TypeScript の strict/ESM、すべてのスキーマと設定の検証に Zod、business.yaml の解析に yaml を使用します。依存関係はすべて正確なバージョンに固定されています(^ は使用しません)。

プロジェクト構成
  • src/config/schema.ts — business.yaml の Zod スキーマ(BusinessConfigSchema)と型。
  • src/config/load.ts — 設定ファイルを読み込み、検証します。機能ごとの設定や、業種と機能の互換性チェックも含みます。
  • src/hours.ts — タイムゾーンを考慮した営業中/営業時間外の判定(Intl ベース)、日付をまたぐ営業時間、日付ごとの例外、次の営業開始/終了時刻の先読み。
  • src/search.ts — search_offerings と answer_question で使用する、再現率を優先したフリーテキスト検索。
  • src/inquiries.ts — InquirySink:submit_inquiry 用のサニタイズ、レート制限、ガードレールフック、ファイル/Webhook への配信。
  • src/capabilities/* — プラグイン可能な 9 つの機能モジュール(それぞれに設定スキーマとツール登録があります)。
  • src/presets/* — 10 種類の業種プリセット:有効にする機能、サーバーに挿入される指示テキスト、各種 guardHooks。
  • src/tools/universal.ts — すべてのビジネスで利用できる 7 つの共通ツール。
  • src/server.ts — createServer(config):読み込み済みの設定から McpServer を構築します。
  • src/cli.ts — mainstreet-mcp のエントリーポイント(デフォルトは stdio、init、validate、serve --http)。
  • src/test/*.test.js(.ts からコンパイル)— 単体テスト(スキーマ、検索、営業時間、問い合わせ/ガードレール)に加え、各サンプル設定でビルド済み stdio サーバーを起動し、実際の MCP クライアント SDK で操作する E2E テストスイート。
テストに関する注意事項
  • npm test は単体テストと E2E テストスイート(src/test/e2e.test.ts)の両方を実行します。examples/ 内の各ファイルについて、StdioClientTransport 経由で子プロセスとして dist/cli.js を起動し、tools/list を呼び出した後、登録済みのすべてのツールを呼び出して、isError がなく structuredContent を返すことを検証します。
  • serve --http はローカルポートをバインドします。一部のサンドボックス化されたシェルでは、デフォルトでこれがブロックされます。EPERM/listen エラーが発生した場合は、そのようなサンドボックスの外でテストしてください。

ステータス

プリセット、機能、共通ツール、CLI、および 10 個すべてのサンプル設定が構築され、検証済みです(ビルド、単体テスト、E2E stdio テスト、CLI の validate 成功/失敗パス、HTTP のスモークテストはすべて成功しています。正確な出力についてはビルドの最終レポートを参照してください)。これは初回ビルドであり、まだ公開もデプロイもされていません。

ワークフローキット:呼び出し元が提供する事実からレビュー用パケットを作成

バージョン 0.1.4 では、ステートレスなキットが 3 つ追加されました。各キットは、analyze_workflow と prepare_workflow_draft の 2 つのツールだけを公開します。明示されたサンプルポリシーに基づいて、提供された構造化データを評価し、入力が十分な場合に未送信のレビュー用ドラフトを作成します。プロバイダーアカウント、ライブソースの検証、ストレージ、メッセージ、資金移動、フルフィルメントの変更は含まれません。MCP ホストからツールの入力がモデルプロバイダーに送信される場合があります。まず架空の入力を使用し、組織のデータ規則に従ってください。

npx -y [email protected] kit quote-followup
npx -y [email protected] kit invoice-discrepancies
npx -y [email protected] kit order-handoff

設定済みの MCP サーバーごとに、1 つのキットを使用してください。架空のデモを試すか、対象を限定した実装を依頼してください。これらの無料キットには、顧客システムとの接続は含まれません。カスタム統合を依頼する前に、標準の CRM、会計、または注文管理ソフトウェアをご確認ください。

{ "mcpServers": { "quote-review": { "command": "npx", "args": ["-y", "[email protected]", "kit", "quote-followup"] } } }

次のように依頼してください。「提供されたタイムスタンプとフォローアップポリシーを使って、この見積もりをレビューしてください。ツールが準備完了と示した場合に限り、ドラフトを作成してください。」公開されているツールスキーマの必須フィールドをすべて送信し、不明な事実には null を使用してください。needs_review は情報源の確認が必要であることを意味し、no_action は提供された事実やポリシーに基づくとドラフトの作成は不要であることを意味します。入力例と想定される状態は dist/workflows/core.js に含まれています。これらの初期キットは、主要通貨単位あたり 100 セントとして、USD、EUR、GBP、CAD、AUD に対応しています。その他の通貨には、別途レビュー済みのルールが必要です。金額は整数のセント単位で、通貨は一致している必要があり、日付には UTC の ISO 秒単位または 3 桁のミリ秒単位を使用します。7 日間の鮮度期間と、本番前に支払いを済ませるルールは、業務に合わせて確認するサンプルポリシーです。asOf は呼び出し元から提供されるものであり、ライブクロックや検証タイムスタンプではありません。

これらの CLI キットは、互換性のある MCP ホストで stdio を使用します。デスクトップバンドルでは、従来の業務設定フローが維持されますが、ワークフローキットが自動的に有効になるわけではありません。コマンドを変更すると、キットが切り替わります。ホストの正確な設定方法については、デモのインストール手順をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。