mcpField
N
Nooticr

Nooticr

リモート
mcp.nooticr.comソーシャルメディア0今日更新
リポジトリ公式サイト

Nooticr について

Nooticrは、ソーシャルコンテンツの調査、ブランドへの言及の追跡、調査結果に基づくコンテンツ作成を支援するMCPサーバーです。10のソーシャルネットワークを扱うチームやクリエイター向けに、取得した情報を接続先のモデルへ渡します。

主な機能

  1. 0110のネットワークの投稿を取得
  2. 02文字起こし、映像、コメント、統計を取得
  3. 03ニッチ、クリエイター、トレンドを調査
  4. 04テキストと音声のブランド言及を監視
  5. 05調査に基づくコンテンツ案の作成

活用シーン

  1. 01投稿を比較して成果の違いを調査
  2. 02コメントや動画音声でのブランド言及を追跡
  3. 03ニッチに合うクリエイターや人気音源を発見

MCP 対応

MCPクライアントにソーシャルネットワークの調査・コンテンツ作成ツールを提供します。stdioでのローカル実行と、https://mcp.nooticr.com/mcp のホスト接続に対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.nooticr.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@nooticr/mcp1.26.19

ツール

詳細

@nooticr/mcp

nooticr 用の MCP(Model Context Protocol)サーバーです。

AI アシスタントに 3 つのことを提供します。10 のネットワーク(TikTok、Instagram、YouTube、X、Reddit、LinkedIn、Douyin、Xiaohongshu、Weibo、Bilibili)上の実際のソーシャル投稿を読み取り、その内容(文字起こし、動画のフレーム、コメント、数値)を理解し、学んだことをもとに、フック、撮影するバリエーション、スコア付きの下書き、再利用したスレッドなどを作成できます。

理解するのは私たちではなく、お使いのモデルです。ここにある各ツールは素材を取得し、それをどう扱うかの説明とともに渡します。私たちのモデルに先に意見を求めるものはありません。取得にかかる料金のみをお支払いいただきます。

名前のモニタリングもできます。search_mentions は、選択した期間内にブランド名が含まれるすべてのコメントを、9 つのネットワークで検索します。また、search_spoken_mentions は、TikTok、YouTube、Douyin の動画内で実際に発話された言葉を読み取り、どこにも入力されていない言及を見つけます。

ローカルでは stdio 経由で、ホスト型コネクターとしては https://mcp.nooticr.com/mcp で動作します。nooticr クレジットで請求されます。新規アカウントには 20 クレジットが無料で付与されます。

インストール(リンク 1 つ)

Claude Code — マーケットプレイスを登録してから、プラグインをインストールします。

/plugin marketplace add Nooticr/nooticr-mcp
/plugin install nooticr@nooticr

Claude Code/プラグインを使わない CLI:

claude mcp add nooticr --user -- npx -y @nooticr/mcp
npx @nooticr/mcp login   # one-time sign-in (Google)

Cursor/stdio 対応の MCP クライアント(claude_desktop_config.json、.mcp.json など):

{
  "mcpServers": {
    "nooticr": {
      "command": "npx",
      "args": ["-y", "@nooticr/mcp"],
      "env": { "NOOTICR_BASE_URL": "https://api.nooticr.com" }
    }
  }
}

ツール

169 個のツールが、目的別にグループ化されています。料金は nooticr クレジットで表示され、サーバーの実際の請求額と一致します。

実際に知りたいことに答えるにあるジョブ用ツールは、エンドポイントのラッパーではありません。それぞれがジョブを指定し、そのジョブに必要な呼び出しを実行して、判断の対象ごとに根拠をまとめ、後続のツールで処理できる ID を各項目に付与したうえで、私たちではなくお使いのモデルに分析を渡します。複数の呼び出しを実行するため、料金は取得した内容の合計に応じて発生し、どのツールも引数でその呼び出し数に上限を設定できます。

投稿を読む
ツールクレジット用途
get_social_post1投稿の情報とメディア(contentType、タイトル、キャプション、投稿者、統計、メディアへの直接 URL、インラインサムネイル)です。解釈を加えず、投稿そのものだけを取得したい場合に使います。
get_post_transcript1実際に発話された言葉です。プラットフォームが字幕トラックを公開している場合(TikTok、Douyin、YouTube)は、動画を処理せず、推測ではなくそのまま正確に読み取ります。それ以外の場合や字幕トラックがない場合は、同じ呼び出しで投稿の音声を文字起こしします(30 分以内の投稿)。この処理には、サーバーで音声認識の設定が必要です。文字起こしがなければ料金はかかりません。format: "srt" または "vtt" を指定すると、トラック本来のタイミングに基づいて作成した字幕ファイルも、追加料金なしで返されます。言い回しが重要な場合は、分析の前に使います。
get_post_frames2投稿動画から均等な間隔でサンプリングしたフレームを、実際に確認できる画像として返します。説明文ではありません。ffmpeg が動画をダウンロードせずにストリームを直接開くため、HLS に対応し、期限切れのリンクもその場で再解決します。TikTok、YouTube、Instagram、Douyin、X でライブ環境にて 3/3 の動作を確認済みです。Reddit は動画投稿に対応しています。カルーセルまたはスライドショーの場合は、画像を加工せずそのまま返します。各フレームは、お使いのコンテキストを約 1,200 トークン消費します。
get_post_comments2上位のコメントと、プラットフォームが分類したテーマを、投稿者が固定または「いいね」したコメントとともに返します。ユーザーが書いた内容を読みたい場合に使います。
投稿を理解する
ツールクレジット用途
analyze_post_text2投稿の文字起こし、キャプション、統計情報など、画像以外のすべてを確認できます。2回取得します。投稿そのもの(1クレジット、get_social_post として取得)と get_post_transcript(1クレジット)です。文章と数値で質問に答えられる場合に使います。
analyze_post3動画から抽出したフレームを、モデルが実際に確認できる画像として、文字起こしとあわせて取得します。2回取得します。get_post_frames(2クレジット)と get_post_transcript(1クレジット)です。構図、編集、画面上のテキストなど、ビジュアルが重要な場合に使います。
understand_social_post3同じ2回の取得を行い、なぜ効果があるのかではなく、画面上で実際に何が起きているかの説明を求めます。戦略ではなく出来事を把握したい場合に使います。
summarize_post_comments2コメント欄のすべてのコメント(安定した ID 付き)と、コメントに付ける分類体系を取得します。分類は感情、および各コメントが称賛、苦情、バグ報告、質問、リクエスト、比較、スパムのいずれに該当するかです。get_post_comments を呼び出すため、コメントを直接読む場合と同じ料金です。引用用に各項目を切り詰めず全文表示するには、verbatim: true を渡します。料金は変わりません。
show_comment_review無料モデルが作成した分類を描画します。すべてのコメントとその感情・カテゴリを確認でき、フィルタリングや選択も可能です。リクエストは行わず、渡された内容を描画するだけです。
show_post_analysis無料analyze_post/analyze_post_text/understand_social_post をもとにモデルが作成した分析を描画します。フックの強さ、スクリプトの構成、引用可能な一節、おすすめのハッシュタグなど、作成されたフィールドを表示します。リクエストは行わず、渡された内容を描画するだけです。
compare_social_posts12~5件の投稿のうち、統計情報付きで最初の投稿を取得し、比較は自分で行います。残りの投稿は get_social_post で1件につき1クレジットで取得します。パフォーマンスに差があり、その理由を知りたい場合に使います。
show_compared_posts無料compare_social_posts をもとにモデルが作成した比較を描画します。各投稿のスコア、勝者、相違点、次に実施する価値のあるテストを表示します。リクエストは行わず、渡された内容を描画するだけです。
ニッチまたはクリエイターを調査する
ツールクレジット用途
discover_social_posts29つのネットワークにわたるニッチ分野の最新投稿を、インラインサムネイルとlimit/offsetによるページネーション付きで取得します。確認する投稿を探すときに使います。
get_user_posts21人のクリエイターの最新投稿と統計情報を取得します。アカウントをチェックするときに使います。
search_creators2デザイナー、開発者、写真家など、オーディエンスを持つ人々を、その人たちが何を作っているかを基に検索します。専門分野、ニッチ分野、キーワードで見つけられます。人物のタイプは分かっているものの、名前が分からないときに使います。TikTok、Instagram、Xiaohongshuを検索します。上流側でクリエイター検索に対応していないYouTube、Douyin、X、Reddit、LinkedInは対象外です。
get_similar_creators2すでにうまくいっているクリエイターに似た人を探します。
suggest_creator_identity検索するネットワークごとに2、ハンドルの検索に2(デフォルトで計6)すでに知っている1つのハンドルを基に、他のネットワークにいる同一人物を、各アカウントの根拠とともに提案します。根拠には、両方のプロフィール欄に掲載されたリンク、一方のプロフィール欄で別アカウントに言及していること、同一のハンドル、または一致する表示名があります。提案のみで、統合はしません。何も保存されず、人間が確認します。また、2つのアカウントのフォロワー数が合算されることはありません。TikTok、Instagram、Xiaohongshuが対象です。
discover_sounds2再生可能なプレビュー付きで、トレンドの音源を取得します。TikTokでは音源がランキングを左右する主要なシグナルです。
discover_hashtags2付けるべきハッシュタグを調べます。TikTokのデータはCreative Centerのトレンドボードから取得し、投稿数に加えて上昇中/下降中/安定の傾向も示します。ほかの検索可能な8つのネットワークには上流側にトレンドボードがないため、指定したニッチ分野をリアルタイムで調査してタグを集計します。実際の最新データですが、単一のサンプルなので上昇中/下降中の傾向は示しません。どのデータを取得したかはsourceに示されます。LinkedInは調査できません。
find_hook_pattern2クリエイターの最新投稿を取得し、冒頭の一文をまとめて読めるようにして、穴埋め式のテンプレートに変換します。get_user_postsを1回呼び出します。
search_mentionsネットワークごとに2(Xiaohongshuは5)**ブランドモニタリング。**9つのネットワークを一度に検索し、指定した語句を含むすべてのコメントを、コメントが付いた投稿ごとにまとめます。ブランドはキャプションより返信で言及されることがはるかに多いため、単位となるのは投稿ではなくコメントです。過去の期間を調べるにはsince日付を指定します。また、offset/pageSizeによるページネーションに対応しているため、9つのネットワークの調査結果が一度にすべて返されることはありません。動画内の音声は検索しません。TikTok、YouTube、Douyinで音声内の言及を検索するにはsearch_spoken_mentionsを使います。
watch_creator無料クリエイターをウォッチリストに追加します。ハンドルだけを保存し、データは取得しません。
unwatch_creator無料クリエイターをウォッチリストから削除します。
list_watchlist無料ウォッチ中の相手を、ハンドル、プラットフォーム、メモ、それぞれの最新確認日時とともに表示します。また、各アカウントがどの保存済みクリエイターIDに属するかを、byIdentityで1人ずつにまとめて表示します。
save_creator_identity無料異なるネットワークのアカウントが同一人物のものだとユーザーが確認した後(たとえば、suggest_creator_identityが示した根拠に基づいて確認した場合)、それらを1つのクリエイターIDとして保存します。name、accounts(各要素は{platform, handle, evidence?})、noteを指定します。指定された内容だけをそのまま保存します。すでに別のIDに登録されているアカウントは、そのID名を示して拒否され、移動されることはありません。
list_creator_identities無料ワークスペースに保存されたすべてのクリエイターIDと、アカウント、および各アカウントについて記録された根拠を表示します。identityIdの取得元を確認できます。
update_creator_identity無料保存済みIDの名前変更、メモの変更または削除、アカウントの追加や削除を行います。IDには少なくとも1つのアカウントが必要です。
delete_creator_identity無料保存済みIDを削除します。削除されるのはアカウントのグループ化のみで、アカウントとそのウォッチリスト登録は残ります。
watch_creator_identity無料1つのアカウントではなく人物をウォッチします。保存済みIDのすべてのアカウントが、それぞれ独自の基準値を持つ個別の項目としてウォッチリストに追加され、IDごとにまとめられます。データは取得しません。
unwatch_creator_identity無料保存済みIDのすべてのアカウントをウォッチリストから削除します。個別にウォッチしているアカウントはそのまま残ります。
catch_up_watchlistクリエイターごとに2最後に確認してから、ウォッチ中の全員が投稿した内容を取得します。前回のスナップショットと比較して更新するため、「何が存在するか」ではなく「何が新しいか」が分かります。
create_brand_watch呼び出し無料定期調査を設定し、新しい情報だけをメールで受け取ります。kind: "mentions"(デフォルト)は、term/platformsを対象とするsearch_mentionsの定期調査です。kind: "competitor"は、1人のクリエイター(handle/platform)に対するget_user_postsの定期チェックで、本人の直近の中央値を上回った場合のみメールで知らせます。kind: "report"は、スケジュールに従ってjob: {tool, args}を実行します。niche_reportは実行ごとにレポートをそのままメールで送信し、discover_social_postsは未確認の投稿のみを送信します。kind: "portfolio"は、1つの予算で同じネットワークを対象に最大25個のterms(自社ブランド、製品、競合他社)を調査し、各語句のシェア・オブ・ボイスをまとめたダイジェストを1通送信します。意図的に2回呼び出す仕組みです。最初の呼び出しでは見積もり(実行ごとの料金、実行頻度、1日あたりの料金)とconfirmationTokenが返されます。そのトークンを指定してconfirm: trueで再度呼び出すまで、作成も課金もされません。その後の各実行では、作業に対してサーバーが請求する料金が課金されます。メンションはネットワークごとに2クレジット(Xiaohongshuは5)、競合調査は一律2クレジットです。レポートはniche_reportが3クレジット(この実行ではメールで送信するレポートを作成するためです。ここでniche_reportツールを使う場合、投稿をモデルに渡す料金は2クレジットです)、またはdiscover_social_postsが2クレジット(コメントを開いた投稿ごとに1クレジット追加)です。ポートフォリオの各語句はメンション調査の料金がかかります。その予算は語句間で均等に分割され、語句ではなくネットワークを絞り込みます。また、調査に失敗した語句の料金は返金されます。appIdsを指定すると、ウォッチをワークスペース内の製品に関連付けられます(両方の呼び出しで指定してください)。指定しない場合、ウォッチはワークスペース全体が対象です。
list_brand_watches無料チームメイトのものも含め、ワークスペース内のすべてのブランドモニタリングウォッチを表示します。語句、ネットワーク、実行頻度、実行ごとの料金、これまでに使用したクレジット、実行回数、次回の実行予定日時を確認できます。appIdを指定すると、その製品のウォッチとワークスペース全体のウォッチに絞り込めます。競合ウォッチには、そのアカウントが属する保存済みクリエイターIDが表示され、byIdentityで同一人物のウォッチがまとめられます。
creative_assets_list無料ワークスペースで生成されたクリエイティブアセット(ナレーション、効果音、音楽、画像、動画、合成素材)を新しい順に表示します。URL、種類、寸法または再生時間、生成元も確認できます。appId、kind、briefId、sinceで絞り込み、nextCursorでページを移動できます。
creative_voices_search無料query、language、accent、gender、age、useCaseでElevenLabsの音声ライブラリを検索します。それぞれの音声について、voiceRef、名前、ラベル、言語、アクセント、プレビューURLを返します。ライブラリの音声のみが対象で、クローン音声は対象外です。
creative_voiceover最初に見積もり最大2500文字のナレーションを、焼き込み字幕用の単語ごとのタイミング情報付きで生成します。creative_voices_searchで見つけた音声を使います。最初の呼び出しではクレジットでの見積もりが返され、課金されません。confirm: trueとconfirmationTokenを指定して再度呼び出すと生成されます。実際の使用量に基づいて精算され、見積もり額を超えることはありません。
creative_sfx最初に見積もり説明文から短い効果音(0.5~10秒)を生成します。creative_voiceoverと同じ、見積もり後に確認する手順です。
creative_music最初に見積もり5~60秒のインストゥルメンタル音楽をジョブとして生成します。見積もりを確認した後、creative_job_statusで状態を確認します。デプロイ環境によっては無効化されており、その場合は無効であることが通知されます。アーティストや曲ではなく、雰囲気、テンポ、楽器を説明してください。
creative_video最初に見積もりpromptから短い動画クリップを1本(3~30秒、ドラフト品質)ジョブとして生成します。見積もりを確認した後、creative_job_statusで状態を確認します。オプションでfirstFrameAssetIdまたは最大3つのreferenceAssetIds(画像アセット)、aspect(9:16または16:9)、audio(ambientまたはnone)を指定できます。クリップは動画モデルが対応する最も近い長さでレンダリングされ、その長さに基づく見積もり額で精算されます。生成のみで、アップロードした動画の編集は行いません。
creative_image最初に見積もりGPT Image(低品質)で、promptから1~4枚の静止画像を、size(デフォルトは縦長の1024x1536)を指定して生成します。オプションでtransparentを指定できます。最初の呼び出しではクレジットでの見積もりが返され、課金されません。confirm: trueとconfirmationTokenを指定して再度呼び出すと生成されます。実際の使用量に基づいて精算され、見積もり額を超えることはありません。新しいassetsとcreativeCreditsが返されます。プロンプトに長い文章を含めず、実在の人物ではなく架空の人物を指定してください。
creative_image_edit最初に見積もりpromptを使って、既存の画像アセット1~4枚(imageAssetIds)を編集または合成します。オプションでmaskAssetIdを指定できます。creative_imageと同じ、見積もり後に確認する手順です。新しいアセットとcreativeCreditsが返されます。
creative_compose最初に見積もりクリエイティブアセット(クリップ、静止画、ナレーション、音楽、効果音)を編集し、完成した9:16、4:5、1:1の動画またはフィード用静止画にします。プラットフォームのセーフゾーン内に配置する音声同期字幕、製品のブランドカラー、ナレーションに重ねる音楽、任意のエンドカードを追加できます。最大12セグメント、60秒、効果音6つに対応し、価格を抑えたプレビューにはdraft: trueを指定します。レンダリング料金は一律です。見積もりを確認した後、creative_job_statusで状態を確認します。公開は行いません。
creative_settings_get無料ワークスペースのクリエイティブ支出上限(1日、1か月、1回の呼び出しあたりの上限、音楽が有効かどうか)と、過去24時間および今月の支出額を取得します。読み取り専用です。オーナーまたは管理者はダッシュボードで設定を変更できます。
creative_brief_create無料1つの製品について、クリエイティブブリーフ(brief、platforms、任意のhook、audience、variants、budgetCredits、slotAt)を登録します。Creative Producerの従業員がキューを処理するか、チームメイトがCreativesで作業を引き継ぎます。
creative_brief_list無料下書き、選択済みアセット、納品済みアセットとともに、クリエイティブブリーフを表示します。status(古い順、キューの処理順)またはappIdで絞り込めます。
creative_brief_update無料ブリーフの状態を更新(in_progress、awaiting_pick、delivered、failed、canceled)し、下書きや納品物を関連付けます。IDの一覧は、ブリーフに登録されていた内容を置き換えます。採用する案はダッシュボードで人が選択します。
creative_job_status無料jobIdで非同期クリエイティブジョブの状態(キュー待ち、実行中、完了、失敗、キャンセル)を確認します。完成したアセットと、見積もり、請求、返金されたクレジットも表示されます。pollAfterSecondsの後に状態を確認してください。
sheets_create無料接続済みのGoogleアカウントに、名前付きタブと各タブのヘッダー行を備えたGoogleスプレッドシートを作成します。IDとURLが返されます。ファイルの所有者はNooticrなので、以降の書き込みに承認は不要です。製品のGoogle Sheets接続が必要です。
sheets_list無料接続から参照できるスプレッドシート(Nooticrが作成したもの、または顧客が選択したもの)と、承認なしで編集できるかどうかを表示します。
sheets_read無料スプレッドシートのA1範囲(例:Ledger!A1:F200)を読み取ります。最大10000セルです。
sheets_append_rows無料タブの最終行の後に、型付きの行を追加します。Nooticrが作成したファイル、または顧客が編集を許可したファイルは無料です。顧客が選択したそれ以外のファイルは、承認待ちになります。
sheets_update_range無料A1範囲を型付きの値で上書きします。承認ルールはsheets_append_rowsと同じです。
sheets_add_sheet無料スプレッドシートに空のタブを追加します。承認ルールはsheets_append_rowsと同じです。
mention_trend無料ウォッチで時間の経過とともに確認された内容を示します。ここにあるほかの機能では取得できない情報です。それ以外の読み取り機能はすべて現在の情報を扱います。実行ごとに1つのデータポイントを記録します。実行日時、見つかったメンション数、新規メンション数、およびネットワークごとの両方の件数が含まれるため、「どのネットワークが伸びているか」と「投稿が途絶えたのか、調査を停止したのか」を区別できます。競合ウォッチでは、各データポイントにその実行で測定した中央値が記録され、「本人の中央値を上回った」が「その中央値が2倍になった」という情報に変わります。複数回の実行で検出されたメンションも表示します。調査の実行時にすでに課金されているため、支払い済みの情報を読み取る際に再度課金しないよう、無料で提供しています。
set_brand_watch_alerts無料watchIdで、ウォッチの調査結果をチームに通知する方法を設定します。email(ウォッチのメールアドレス)、slack(Nooticrの設定でワークスペースが接続したSlack)、minNew(通知を送るために1回の実行で見つける必要のある新規項目数)を指定します。各実行の結果は、ダッシュボードのウォッチ用スレッドにも投稿されます。メールアドレスやURLを受け取らないため、投稿内で読み取った情報によってウォッチの通知先が変更されることはありません。
update_watch_portfolio無料watchIdでポートフォリオウォッチの語句を追加または削除します。合意した実行ごとの予算は変わらないため、新たな確認は不要です。語句を増やすと予算はさらに細分化されます。実行で到達できなくなったネットワークがあれば、応答に記載されます。
stop_brand_watch無料watchIdまたはtermでウォッチを停止します。すぐに停止され、次回の実行は行われず、追加の課金もありません。
niche_report2ニッチ分野の最新投稿と統計情報を取得し、主要な形式、フックのパターン、誰も取り上げていないテーマを読み取れるようにします。discover_social_postsを1回呼び出します。何を作るか決めるときに使います。create_brand_watchのレポートとしてスケジュールした場合、実行ごとにメールで送信するレポートを作成するため、3クレジットです。
analyze_creator_profile2クリエイターの最新投稿と統計情報を、詳細分析の材料として取得します。ニッチ分野、テーマ、フックの定型、特に成果の高い投稿と低い投稿、オーディエンスの属性が分かります。get_user_postsを1回呼び出します。
get_wikipedia_pageviews無料Wikipediaの注目度を確認します。Wikimedia公式のページビュー数から、最大5件のWikipedia記事について、1日ごとまたは1か月ごとの閲覧者数を取得します(ボットは除外されます)。各記事の時系列、合計、平均、ピーク、期間の前半と後半の変化を表示します。検索量や需要ではなく、記事の閲覧者数であることも応答に明記されます。
get_news_volume無料ブランド、競合他社、トピックがどれほど報道されたかを取得します。期間内のGDELT世界ニュースインデックスにおける1日あたりの記事数、最大2つの他の対象と比較した各対象の報道シェア、最新の見出しを表示します。閲覧者数ではなく記事数を集計します。
get_search_trends無料Google公式のTrends APIから、最大5つの検索語句の関心度を0~100の同一尺度で取得します。サーバーが同API(招待制のアルファ版)を利用できるようになるまで無効です。利用できるようになった後も、Trendsのページを読み取ることはせず、not_configuredエラーを返します。
list_watch_mentions無料ブランドウォッチが保存したテキストを、新しい順に表示します。プラットフォーム、投稿者、投稿の文面、リンク、感情分析結果、実行で検出された日時が含まれます。ウォッチ、日付、語句で絞り込めます。調査の実行時にすでに課金されているため、無料です。
check_disclosure無料スポンサー付きキャプションが、クリエイターの市場で求められる方法でパートナーシップを開示しているかを確認します(フランスの「Publicité」または「Collaboration commerciale」、ドイツの「Werbung」、その他の地域の「#ad」)。開示の有無または不明確さ、検出された文言、使用すべき文言を表示します。キャプションのみを読み取ります。
実際に抱えている疑問に答えてもらいましょう
ツールクレジット用途
export_report無料セッションで見つかった内容から、ドキュメントに貼り付けられるレポートを作成します。投稿、コメント、リスティングを、ツールが返したとおりに、画像、リンク、数値を含むカードとして、独自の分析の間に配置します。Markdown、埋め込みリソース(nooticr://report/<id>)としての単独で使えるHTMLドキュメント、およびその両方を構造化された結果にも返します。何も取得しません。
measure_audience_overlap4 + 開いた投稿1件につき2(デフォルトで16)1つのネットワーク上の2つのアカウントが同じ人々とやり取りしているかを調べます。それぞれの最近の投稿に付いたコメント、その両方にコメントした人、さらに各方向の重複(あなたの投稿にもすでにコメントしている相手のコメント投稿者数と、相手の投稿にもコメントしているあなたのコメント投稿者数は異なります)を示します。フォロワーではなく、いくつかの投稿に反応したコメント投稿者を測定し、その旨を明記します。postsPerCreatorが料金を左右します。
answer_my_audience2 + 開いた投稿1件につき2(デフォルトで14)search_mentionsの逆です。 自分の投稿の下で待っている質問を調べます。最近の投稿を取得し、それぞれのコメントを読み、コメントが付いた投稿ごとにまとめます。各コメントには安定したIDが付き、質問や依頼に見えるものにはフラグを付けて先頭に並べます。見つけて返信案を作成しますが、自ら返信を投稿することはできません。返信案は人が貼り付けるか、テキストを確認した後にdraft_comment_replyとpost_comment_replyを使って送信します。limitで開く投稿数の上限を指定します。これが料金を左右します。
prepare_handoff無料トラッカーへの引き継ぎです。 あなたが分類した項目(コメントでのバグ報告や、動画で口頭で述べられた苦情など)を、ホストが接続しているGitHub、Jira、LinearのいずれかのMCPサーバーから登録できるよう、正確なtitle、body、labelsに変換します。nooticrは何も登録せず、トラッカーの認証情報も保持しません。課題は次にコーディングエージェントが読むため、本文では引用をコードフェンスで囲み、指示ではなく第三者からの報告として位置付けます。連絡先は伏せられ、@handlesと#numbersは、登録時に誤って誰かに通知されないよう無効化されます。また、2回目の調査を1回目と重複しないようにするsearchFirst文字列も含まれます。リクエストは送信しません。
list_comments_to_answer無料接続済みの自分のアカウントに寄せられ、まだ誰も返信していない最近のコメントを、新しい順に表示します(capabilities: ["manage_comments"]で接続したYouTubeに対応します。他のネットワークは理由とともにunsupportedに返されます)。読み取り専用です。
draft_comment_replytextを指定した場合は無料、nooticrが作成する返信1件につき11件のコメントへの返信案を保存します。投稿はされません。作成された返信はワークスペースのブランドボイスに従い(複数の製品がある場合はappIdで製品を選択)、そのrationaleも含まれます。ブランドボイス、製品、または作成のためのguidanceがない場合は、料金なしで作成を拒否します。まずユーザーに提示するdraftIdとconfirmationTokenを返します。commentIdsを指定すると、1つのアカウントの最大10件のコメントに対する返信案を一度に作成します。それぞれに固有のdraftIdとトークンが付き、作成を見送ったコメントとその理由も一覧表示します。
post_comment_reply無料保存済みの返信案をあなたのアカウントから投稿します。draftId、confirm: true、confirmationTokenが必要で、ユーザーが正確なテキストに同意した後にのみ投稿されます。各コメントへの返信は最大1回です。
show_audience_replies無料人が対応できるよう、返信案を投稿ごとにまとめ、それぞれについてあなたがどうすることにしたかも併せて表示します。何も送信せず、何も取得しません。
show_standings無料モデルがcompare_creatorsまたはwatchlist_standingsから読み取った順位表を表示します。クリエイターごとに1行で、対象期間と評価基準となった中央値も示します。rankingには並べ替えた軸が記録され、tooThinは対象期間が短すぎるクリエイターを最下位ではなく未順位として表示します。比較対象に含まれないことと、最下位になることは同じではありません。リクエストは送信しません。
show_trend無料モデルがmention_trendから読み取ったトレンドを表示します。tooShortは方向を判断するには点数が足りない系列を示し、edgeIsRecordStartは会話の始まりではなく記録の始まりを左端としていることを示します。どちらかを隠すグラフは、この表示が代わりに防げる誤りです。リクエストは送信しません。
track_creator2クリエイターが何を公開し、そのうちどれが生の閲覧数(主にフォロワー数を反映するもの)ではなく、そのクリエイター自身の中央値を上回ったかを調べます。対象期間にかかわらず、投稿一覧は1つです。そのクリエイターがウォッチリストに登録されている場合は、前回の確認以降に新しく追加されたものにも印を付け、その印を進めます。これはcatch_up_watchlistが保持する印とは別の印です。
compare_creatorsクリエイター1人につき2(4~10)2~5人のクリエイターを、比較に適した1つの軸で並べて比較します。各投稿の比率を、そのクリエイター自身の中央値と比較します。クリエイターごとに、評価対象の期間、中央値、その中央値を超えた投稿の割合、超えた場合にどれほど上回ったか、すべての比率、最も高い投稿と最も低い投稿を返します。順位付けはしません。「どれほど頻繁にヒットするか」と「ヒットしたときの規模」は通常一致せず、短い期間でのヒット率は、どちらにしても投稿1件で決まることがあるため、すべての数値に期間を添え、判断はあなたに委ねます。
watchlist_standingsウォッチリスト登録済みのクリエイター1人につき2ウォッチリスト登録済みの全員について、同じ比較を行います。クリエイターごとに1回ずつ実行する代わりに、1回の呼び出しで「誰が動いたか」を確認できます。ウォッチリストの読み取りは無料ですが、データ取得には料金がかかるため、実行前に合計額を確認します。catch_up_watchlistが「何が新しいか」に答えるのに対し、こちらは「どうだったか」に答えます。
find_collaborators2、シード指定時は4コラボレーション候補の絞り込みリストを作成します。キーワード検索と、すでに条件に合うクリエイターに似た候補を統合し、それぞれどの検索で見つかったかを表示します。候補ごとに、プロフィール欄から抽出したリンクも含まれます。リンクは種類ごとに分類され、開くとどれだけ情報が得られるかに基づいて並べ替えられます(コードを読むためのリポジトリ、本人のサイト、本当のリンクが掲載されたリンク集など)。そのため、候補の審査ではフォロワー数を見直すのではなく、実績を確認できます。ここではリンクを取得しません。評価対象の本人が管理するフィールドから抽出されたものなので、ホストが開き、その旨を結果に明記します。オーディエンスの重複は測定しません。候補1人につき約8クレジットかかるため、その旨を結果に明記し、指標を捏造せず、最終候補にはmeasure_audience_overlapを案内します。
find_people_with_problemプラットフォームごとに6問題を自分の言葉で説明している人(見込み顧客、初期ユーザー、あなたの製品で苦情を解決できる人など)を見つけます。問題を、人が実際に言いそうな表現で入力すると、そのトピックではなく、苦情のような形をした投稿を検索します。トピックで検索すると、その話題についてのマーケティング投稿が見つかります。それを探すのがdiscover_social_postsです。クエリを、苦情で使われるさまざまな言い回し(率直な表現、「ほかの人も同じですか」という質問、「このためのツールはありますか」という問いかけ)に広げ、各投稿がどの検索で見つかったかを表示します。これは幅広い検索であり、フィルターではありません。投稿が返された後、判断するのはあなたです。対象外の投稿も多く含まれます。ワークフローの悩みを文章で説明する人が多いredditをデフォルトで検索します。各プラットフォームでは、クエリの形ごとに1回ずつ検索します。デフォルトでは3種類で、検索1回につき2クレジットです。ここでは検索できないのはlinkedinです。上流にキーワードによる投稿検索機能がありません。verbatim: trueを渡すと、項目を省略せず全文表示し、引用しやすくします。料金は変わりません。
show_collab_shortlist無料あなたが評価した候補を表示順に並べ、誰に連絡するかをユーザーに尋ねます。スコアはnooticrの評価としてではなく、あなたのモデルによる評価として示します。何も開かずに評価された候補には、未検証の印が付きます。リクエストは送信しません。
benchmark_post31件の投稿を、クリエイター自身の最近の投稿分布と比較します。基準値からは対象の投稿を除外します。中央値、四分位数、比率、パーセンタイルを返すため、「これは失敗ではなく、通常の結果です」と回答できます。すでに選んだ2つのURLを比較するcompare_social_postsとは、異なる問いに答えます。
content_ideas_from_audience2 + 読み取った投稿1件につき2 + 2(デフォルトで12)需要と供給を比較します。コメント投稿者が明示的に求めているものを、ニッチの調査で、すでに何が作られているかを示す結果と並べます。誰も求めていないギャップはノイズであり、誰も提供していない要望は機会です。ニッチを指定しない場合は、最もよく使われているハッシュタグを代わりに使います。
detect_spoken_mentions21本の動画で声に出して言及されたすべてのブランド。 音声の文字起こしと投稿文を並べて表示し、モデルが各ブランドについて、発言の逐語的な引用文、クリエイターによる位置付け、発言・記述・両方のいずれで言及されたかを一覧表示できるようにします。クリエイターが字幕を有効にしていない場合でも、音声を文字起こしするため動作します。get_post_transcriptに1クレジット、get_social_postに1クレジットかかります。文字起こしを作成できない場合は料金がかかりません。
search_spoken_mentionsニッチで絞り込んだプラットフォーム1つにつき2 + クリエイターハンドル1件につき2 + 文字起こし1件につき1、maxTranscriptsまで入力された言葉ではなく、発言された言葉を探すsearch_mentionsの逆です。 候補投稿を絞り込み(ニッチ調査、指定したハンドル、ウォッチリストのいずれか、または複数を利用)、再生数の多い候補だけを上限まで文字起こしし、その言葉から検索語を探します。対象はTikTok、YouTube、Douyinで、クリエイターが実際に字幕を有効にしている場合に限ります。候補が何件見つかり、何件を文字起こしし、何件が一致したかを報告するため、費用の内訳が明確です。
Amazonで市場を調査する

ここまでで扱ったのは、ソーシャルコンテンツです。こちらはマーケットプレイス、つまり、同じオーディエンスが実際に何を購入し、なぜ返品したのかを語る場所を読み取ります。目的はカテゴリに関する判断です。アシュワガンダを検討しています。何が購入の決め手になり、何が購入をためらわせるのか。既存商品が優れている点は何か、どこに空白があるのか。 こうした答えはすべてレビュー文の中にあるため、作業単位は商品をひとつ調べることではなく、カテゴリ全体をスキャンすることです。

収集には、実際に時間がかかります。各商品ページはAmazonのボット対策を通過する実際のブラウザーレンダリングであり、ページ間の処理速度はマシンの性能ではなく、Amazonが許容するペースで決まります。レビュー付きの10件の商品ページを処理するには、数秒ではなく数分かかります。そのため、スキャンは準備ができた結果を返し、残りについてはscanIdを返します。

ツールクレジット用途
scan_amazon_category収集した出品ごとに3(デフォルトは30件)指定したカテゴリを調査します。価格、星評価の分布、Amazon 独自のレビュー観点別件数、レビュー本文に加え、価格の幅、評価の幅、複数ブランドに共通して現れる観点とそのブランド数、各出品の評価のうち星1〜2の割合(スクレイピングで取得した少数のレビューではなく、星評価の分布から読み取ります)を算出します。カテゴリを検索するには query を、顧客が挙げた競合を指定するには asins を渡します。両方を渡すこともできます。指定された競合は先頭に配置されます。料金は引数で決まるため、使用前に合計を確認します。
amazon_scan_status無料実行中の収集を scanId で再開し、これまでに収集した出品と同じ集計結果を取得します。無料なのは、scan_amazon_category がポーリングを要求するためです。回答の後半に課金すると、サーバー側の待機時間に対して料金を請求することになるためです。
get_amazon_product3ASIN または URL で指定した1件の出品を取得します。価格、評価、星評価の全分布、特徴、仕様、Amazon のレビュー要約と観点別内訳、レビューを返します。
scan_marketplace_category収集した商品ごとに3(デフォルトは30件)同じカテゴリを、AliExpress、Cdiscount、Flipkart、Mercado Libre、Lazada、Otto、Rakuten、Trendyol、Jumia、Vinted、Temu の11サイトでも調査します。Vinted は小売ではなく中古品販売のため、rating は販売者を評価するものであり、スキャン結果の ratingScope にその旨が示されます。商品レビューとして読み取らないでください。marketplace でサイトを選びます。複数のストアフロントがあるサイトでは market でストアフロントを指定します。引数名はサイトごとに実際の選択肢を示すため、モデルが Otto に Lazada の地域を指定することはできません。同じ集計を行い、使用前に同じように確認します。
marketplace_scan_status無料scanId と同じ marketplace を指定して、実行中のマーケットプレイスの収集を再開します。amazon_scan_status と同じ理由で無料です。
get_price_history無料スキャンのたびに保存された観測データから、商品の価格、または metric で指定した評価、reviewCount、在庫状況の推移を取得します。marketplace と id は get_marketplace_product と同じ方法で指定します。from/to のデフォルトは過去30日間です。最も古い時点から順にデータを返し、最小値、最大値、最初の値、最後の値、および最初から最後までの変化を示します。保存済みデータのみを読み取ります。スキャンされたことのない商品は recorded: false を返します。
marketplace_changes無料同じ marketplace と query で前回スキャンしてから、カテゴリ内で変化した内容を示します。検索結果に加わった商品や外れた商品、価格や順位が変わった商品を確認できます。保存済みの最新2回のスキャンを読み取るため、新たな取得は行いません。カテゴリを一度しかスキャンしていない場合は、前回の実行がないことを示します。
track_price無料ここですでに取得した出品(get_marketplace_product と同じ方法で marketplace と id を指定)を、ワークスペースの価格履歴ページで追跡します。competitorOf を指定すると、ワークスペースが追跡している自社出品の1つと比較できます。productLine では出品をグループ化できます。再度追跡すると、指定したフィールドのみが変更されます。新たな取得は行わないため、まだ取得されていない商品は、記録を残す取得を行うよう求めて拒否されます。
untrack_price無料追跡中の出品の追跡を停止します。ワークスペース自身のスキャン結果にも含まれる出品は、スキャンで確認した出品としてページに残ります。追跡のみされていた出品は削除されます。追跡されていない出品を指定しても何も起こりません。
get_marketplace_product312サイトのいずれかから、ID または URL で指定した商品1件を取得します。価格、評価、星評価の全分布、仕様、レビューを返します。
show_amazon_category_insights無料お使いのモデルが作成した調査結果(購入の決め手、障壁、各ブランドの強み、空白領域、ポジショニングの切り口)を出品やレビューと並べて表示します。これにより、人が商品をクリックして、主張を元となった文章と照らし合わせて確認できます。結論はお使いのモデルによるものとして明示され、nooticr による商品の評価として提示されることはありません。scanId を指定すると、モデルが再送信した内容ではなく、スキャン自体から出品を再読み込みします(無料)。調査結果が参照しているものの、スキャンに含まれていない ASIN にもフラグを付けます。scanId を指定しない場合、カードには出品が検証されていないことが表示されます。
show_marketplace_category_insights無料他の11マーケットプレイス向けの同じカードを表示します。お使いの調査結果を、そのサイトの出品やレビューと並べ、正しいサイト名を付けて表示します。scanId と marketplace を指定するとスキャンから再読み込みするため、内容を再入力する必要はありません。
コンテンツを作成する
ツールクレジット用途
generate_hook_ideas2、または無料冒頭文を書くための元投稿とその文字起こしです。URL の代わりにトピックを指定すると、何も取得せず、費用もかかりません。
show_hooks無料generate_hook_ideas でモデルが作成したフックを、それぞれの手法と、誰の目を引き止めるのかとともに描画します。リクエストは行わず、渡された内容を描画するだけです。
evaluate_social_draft無料評価基準と照らし合わせたあなたの下書きです。フック、明瞭さ、見返り、具体性、適合性をそれぞれ 1~10 で採点し、実施する価値のある 3 つの修正案と、書き直した冒頭文も提示します。何も取得しません。文章はすでにあなたのものだからです。コンテンツができる前に実行する唯一のツールです。
adapt_post_for_platform2ほかの媒体向けに書き換えるための元投稿とその文字起こしです。X のスレッド、LinkedIn の投稿、カルーセルのスライド、YouTube のメタデータ、ニュースレターに対応します。
show_repurposed_post無料adapt_post_for_platform でモデルが作成した書き換え済みのコピーを、媒体ごとに 1 件ずつ描画します。リクエストは行わず、渡された内容を描画するだけです。
generate_post_variants2成功した投稿とその文字起こしをもとに、フック、変更する切り口、順序付けられたショットの展開、CTA からバリエーションを作成します。
show_variants無料generate_post_variants でモデルが作成したバリエーションを、それぞれのフック、切り口、展開、CTA とともに描画します。リクエストは行わず、渡された内容を描画するだけです。
アカウント
ツールクレジット用途
nooticr_getting_started無料このアカウントの状況(残高、接続済みアカウント、ウォッチリスト)と、価格および使用例を添えた次のおすすめの呼び出しを確認できます。サーバーの instructions は、すべてのホストにこのツールを案内します。
check_nooticr_credits無料残高と請求 URL を確認できます。
nooticr_settings_read無料デフォルトのソーシャルプラットフォームと結果件数を読み取ります。
nooticr_settings_update無料引数が省略された場合に、対応する検索で使うデフォルトのプラットフォームと結果件数を保存します。
list_tool_runs無料ツール呼び出しの履歴を確認できます。実行内容、成功したかどうか、各呼び出しで実際に消費されたクレジット(無料、返金済み、キャッシュ済み、または再実行された呼び出しでは 0)が表示されます。scope: "workspace" を指定すると、オーナーと管理者はすべてのメンバーの実行履歴を確認できます。
get_tool_run無料履歴から ID を指定して 1 件の実行を取得し、エラーの全容を確認できます。
get_usage_report無料期間内の実行記録を集計できます。ツール別、日別の呼び出し総数、失敗数、実際に消費されたクレジット、および直近の失敗が表示されます。scope: "workspace" を指定すると、ワークスペースのオーナーと管理者向けに、各シートの行が追加されます。
nooticr_login無料認証エラーで呼び出しに失敗した場合に、アカウントを再接続します。
list_social_connections無料接続済みのアカウントと、各接続で実際に許可されている操作(アカウントの読み取り、投稿の公開、コメントの管理)を、はい、いいえ、不明のいずれかで確認できます。「公開」は AI 従業員の投稿に使われる権限です。このツールで投稿が公開されることはありません。投稿は、Nooticr ダッシュボードの受信トレイで AI 従業員の schedule_post アクションを承認したとき、またはその従業員の公開に自動操縦を有効にしている場合に自動で公開されます。「コメントの管理」にはプラットフォーム上の権限が表示されます。このツールは何も投稿しません。返信が公開されるのは、ユーザーが確認した下書きに対して post_comment_reply を使った場合だけです。不明は、権限の記録が始まる前に付与されたことを意味します。拒否ではなく、「試してみる」と解釈してください。また、接続できるプラットフォームも表示します。これは nooticr が読み取るネットワークより少ない範囲です。
connect_social_account無料ユーザーが開いて 1 つのアカウントを接続するためのリンクを発行します。ユーザーは自分のブラウザーでプロバイダーに接続を承認します。承認されるまで何も接続されず、認証情報がこのツールやモデルのコンテキストを通ることもありません。呼び出すたびに新しいリンクが発行され、古いリンクは再利用できません。YouTube の場合、capabilities: ["manage_comments"] を指定すると、list_comments_to_answer と post_comment_reply に必要な権限の付与も求めます。
hire_employee呼び出し無料ワークスペース内でスケジュールに沿って働く AI 従業員(例:ソーシャルメディアマネージャー)を雇用します。仕様上、呼び出しは 2 回必要です。最初の呼び出しでは何も作成されず、見積もりと confirmationToken が返されます。ユーザーが同意した後に限り、そのトークンを使って confirm: true を指定し、もう一度呼び出してください。サブスクリプションで雇用する場合(level と currency でプランを選択)、見積もりには hireId も含まれます。確認時には、トークンがこの ID に紐付けられているため、変更せずに送り返してください。自動操縦が有効でない限り、公開アクションは承認されるまで保留されます。実行料金は雇用したユーザーに請求され、月間予算が上限となります。
list_employees無料AI 従業員のステータス、スケジュール、次回実行、残り予算を確認できます。includeFired: true を指定すると、解雇された従業員も含まれます。
pause_employee無料AI 従業員を一時停止します(一時停止中も記憶とスレッドは保持されます)。resume: true を指定すると再開します。雇用した本人またはワークスペース管理者のみが操作できます。
fire_employee無料AI 従業員を完全に解雇します。実行が停止され、承認待ちのアクションは破棄されます。最初の呼び出しでは実行内容の説明だけが返されます。confirm: true を指定して確定してください。
list_teams無料AI 従業員チームのステータス(一時停止中の場合はその理由)、メンバー、承認待ち、未完了の引き継ぎタスク、含まれる作業の使用割合を確認できます。teamId の取得元も確認できます。
get_team_status無料1 つのチームの詳細を確認できます。レベル、状態、支払い状況を含むメンバー、今週の計画、概要のバージョンと不足している内容、変更可能かどうかが表示されます。
list_team_templates無料ワークスペースで作成できるチーム、その役割、すぐに開始できるかどうかと必要な条件、各レベルの月額料金を確認できます。goal を指定すると、「チームを作成」ページがおすすめするチームも確認できます。雇用は行いません。
get_team_draft無料チームの下書きを取得します。「チームを作成」ページで編集するものと同じで、これまでの回答、現在のステップ、開始に必要な項目、ページへのリンク、現在の料金が表示されます。
update_team_draft無料JSON マージパッチを使って、回答、選択したチーム、またはステップを下書きに保存します。開始も課金も行いません。
hire_team呼び出し無料チームを開始します。仕様上、呼び出しは 2 回必要です。最初の呼び出しでは、見積もり(メンバー、レベル、料金、合計、承認待ちの内容)と confirmationToken が返されます。確認後の呼び出しで、支払い待ちのチームが作成されます。支払いは Nooticr ダッシュボードの「チーム」ページで完了してください。それまでは誰も稼働しません。
update_team_brief無料チームの作業内容を更新します。パッチは概要の次のバージョンとして保存され、返信には、どのメンバーがいつ変更を反映するかが示されます。
pause_team無料チームを一時停止します(実行は停止しますが、サブスクリプションは停止しません)。または、一時停止中のチームを再開します。
fire_team無料チームを解散します。最初の呼び出しでは実行内容の説明だけが返されます。confirm: true を指定して確定してください。返金はありません。
crm_upsert_creator無料クリエイターをクリエイターパイプラインに追加するか、登録済みのクリエイターを更新します(platform と handle の組み合わせで照合します)。渡したフィールドのみが変更され、新しいクリエイターのステータスは prospect になります。言及した数値はすべて evidence に記録してください。
crm_list_creators無料クリエイターパイプラインを、最終更新日時の新しい順に確認できます。各クリエイターの最後のやり取りも表示されます。status、appId、query、dueBefore で絞り込めます。
crm_update_status無料クリエイターのパイプラインステータスを変更し、その理由を記録します。do_not_contact は人が変更しない限り維持されます。AI 従業員が設定できるのは prospect、shortlisted、paused のみです。
crm_log_interaction無料クリエイターに関するメモ、審査結果、連絡文の下書き、返信、納品物を記録します。AI 従業員は outreach_sent を記録できません。
list_pending_actions無料AI 従業員が承認待ちのアクションと、公開、送信、変更される内容のプレビューを確認できます。必要に応じて employeeId を 1 つ指定できます。
get_employee_audit無料1 人の AI 従業員の監査履歴を新しい順に確認できます。実行、モデル呼び出しとその費用、ツール呼び出し(引数は伏せられます)、読み取った情報源、承認と承認者による編集、実行したアクションと外部 ID、設定変更、一時停止、エラーが表示されます。from/to、types、runId、actionId で絞り込めます。verify: true を指定すると、改ざん検知用ハッシュチェーンを再検証します。ワークスペースのオーナーと管理者のみが利用できます。
approve_action無料actionId で指定した承認待ちアクションを承認します。最初の呼び出しではプレビューと confirmationToken が返され、何も実行されません。確認後、保存されたアクションが 1 回だけ実行されます。
reject_action無料承認待ちのアクションを拒否します。従業員が今後に活かせる任意のメモを追加できます。
connect_store無料ワークスペースのオーナーまたは管理者が開いて、Amazon のセラーアカウント、Shopify のショップ、または WooCommerce のストアを接続するためのリンクを発行します。ストアで接続を承認します。承認されるまで何も接続されず、認証情報がこのツールを通ることもありません。PrestaShop のストアはキーで接続するため、チャットからではなく、ダッシュボードの設定で接続します。
list_store_products無料接続済みストア(Amazon、Shopify、WooCommerce、PrestaShop)の商品カタログを読み取ります。商品名、説明、ステータス、価格、Amazon の出品上の問題が表示されます。読み取り専用です。
get_sales_and_traffic無料接続済み Amazon ストアの最大 90 日分(1 日単位)の売上とトラフィックのレポートを取得します。セッション数、ページビュー数、コンバージョン率(セッションあたりのユニット数の割合)、カートボックス獲得率、販売数、売上が、合計、日別、商品別に表示されます。Amazon はレポートを作成してから返すため、初回の呼び出しでは in_progress が返され、1 分後に呼び出すツールが案内される場合があります。
get_account_health無料Amazon のセラーアカウントの健全性評価と、各パフォーマンス指標(注文不良率、出荷遅延率、キャンセル率、有効な追跡情報の割合)を、Amazon 独自の目標値と照らして確認できます。目標に達していない指標も表示されます。
get_fba_inventory無料SKU ごとの FBA 在庫数を確認できます。出荷可能、入荷中、引当済み、出荷不可、合計の各数量が表示されます。読み取り専用です。
list_connected_reviews無料自分のアカウントで接続したレビューサイト(Trustpilot、Judge.me、Yotpo、Okendo、Google Business Profile)にある、自社のレビューを確認できます。星評価の分布、平均評価、星 1~2 の割合が表示されます。未接続のプラットフォームでは not_connected エラーが返されます。
draft_review_reply無料Trustpilot または Google Business Profile のレビュー 1 件に対する公開返信の下書きを保存し、承認を待ちます。返信内容のガードチェック(リンク、連絡先情報、文書化されたポリシーに記載のない救済措置がないか)が先に実行されます。draftId と confirmationToken が返されます。投稿は行いません。
discord_list_channels無料接続済み Discord サーバーのテキストチャンネルを確認できます。
discord_read_messages無料サーバー内の 1 つのチャンネルで、最近のメッセージを新しい順に確認できます。ボットが Discord のメッセージコンテンツへのアクセス権を持たない場合は、何も言わずに終わるのではなく、チャンネルを読み取れないことが示されます。
draft_discord_reply無料Discord メッセージ 1 件への返信の下書きを保存し、承認を待ちます。draftId と confirmationToken が返されます。投稿は行いません。
post_drafted_reply無料正確な文面に同意した後、保存済みのレビューまたは Discord への返信を事業者として公開します。draftId、confirm: true、confirmationToken が必要です。各レビューまたはメッセージへの返信は 1 回だけです。
create_product無料自分のワークスペースに商品を作成します。これは、自分のアカウントを操作する他のすべてのツールが処理対象を持つために必要なレコードです。必ず呼び出し元セッションのワークスペースに作成され、指定した別のワークスペースに作成されることはありません。name と slug は必須です。それ以外のフィールドはすべてスネークケースで、キーの完全一致で読み取られます。そのため、キャメルケースの websiteUrl を指定しても反映されません。ブランドプレイブックは作成しません。
update_product無料商品のフィールドにパッチを適用します。省略した引数の列は変更されないため、フィールド名を指定しないことで値を空にすることはできません。結果には実際に書き込まれた内容が一覧表示されます。フィールド名のスペルを間違えた場合は、何も起きないまま終わるのではなく、変更されなかったフィールドとして表示されます。
独自の製品

上記はすべて、他の人のコンテンツを読み取るものです。これらは独自のコンテンツを読み取って生成します。製品も異なり、使用されるクレジットも異なります(上記の個人用 MCP クレジットではなく、ワークスペースのプランに含まれる AI クレジットです)。料金は、対応するダッシュボードのボタンとまったく同じように請求されます。

ツールクレジット用途
list_own_apps無料ワークスペース内のすべてのプロダクトです。複数ある場合や、下記の別のツールで appId を求められた場合は、最初にこれを呼び出してください。
create_product無料ワークスペースに新しいプロダクトを作成します。name/slug が必須で、description、website_url、niche、product_type、ストア掲載情報のフィールドは任意です(snake_caseです。下記の注記を参照してください)。ワークスペース ID は不要です。常に自分のワークスペースに作成されます。ブランドプレイブックは生成されません。生成するには analyze_product を呼び出してください。
update_product無料プロダクトのフィールドを更新します。省略した引数の列は変更されません。フィールド名は create_product と同じ snake_case です。
get_scheduled_posts無料コンテンツパイプライン内にある、自分の予約済み投稿と下書きです。タイトル、ステータス、予約時刻、承認ステータスを確認できます。公開待ちの投稿がわかります。
get_post_performance無料公開済みの自分の投稿とエンゲージメント指標です。閲覧数、いいね数、コメント数、シェア数、保存数、インプレッション数、フォーマット、プラットフォーム、投稿日に加え、閲覧数ではなく順位付けに使う指標 engagementPerView((いいね数+コメント数+シェア数+保存数)÷閲覧数)を確認できます。リーチ、視聴時間、フォロワー数は含まれません。解釈には growth_brief を併用してください。
get_video_stats無料接続されているすべてのクリエイターのうち、直近で同期された動画パフォーマンス指標です。閲覧数、いいね数、コメント数、シェア数と累計を確認できます。最後の同期データを読み取るだけで、新たな同期は実行しません。
get_google_analytics_data無料プロダクトの GA4 同期データです。リアルタイムではなく、nooticr に最後に同期された時点のデータです。プロパティ、日付範囲、同期された行数、セッション数、ユーザー数、キーイベント数、デフォルトのチャネルグループごとの収益、約13か月分の週ごとのセッション数とキーイベント数を確認できます。
get_search_console_data無料最後に同期された時点の Search Console データです。期間中のサイト全体のクリック数、インプレッション数、クリック率、平均掲載順位(クエリ行の合計ではなく、サイト全体の値)、最大50件のクエリとその数値、約16か月分の週ごとのクリック数とインプレッション数を確認できます。同期時に取得できなかった数値は省略され、0として扱われることはありません。
get_search_performance無料Google 検索における自分のプロダクトのサイトのデータです。接続済みの Search Console からリアルタイムで取得し、クエリ、ページ、国、デバイス、日付ごとのクリック数、インプレッション数、CTR、掲載順位を確認できます。filters と compare_to_previous を使用できます。引数は snake_case で、app_id は必須です。site は、接続済みアカウントでアクセスできる場合に、同じサイトの別の Search Console プロパティ(URL プレフィックスのプロパティと並ぶドメイン プロパティ)を指定します。inspect_url と get_sitemaps にも適用されます。
inspect_url無料自分のサイトのページが Google にインデックス登録されているかを確認します。判定、カバレッジ、Google 側と自分側の正規 URL、最終クロール日時、robots と取得の状態を確認できます。接続済みサイトの URL のみ対象です。1回の呼び出しにつき最大20件、エージェントの実行1回につき最大20件です(各 URL でサイト固有の日次検査枠を消費します)。
get_sitemaps無料自分のサイトに送信されたサイトマップと、送信数、インデックス登録数、エラー、警告を確認できます。1つのサイトマップの詳細には url を指定します。読み取り専用で、サイトマップを送信することはできません。
get_page_speed無料自分のサイトのページに関する Core Web Vitals です。十分なデータがあれば実ユーザーフィールドデータ(LCP、INP、CLS)に加えて、ラボスコアと最大の改善効果を確認できます。strategy は mobile(デフォルト)または desktop です。
get_posthog_analytics無料最後に同期された時点の PostHog ページビューの推移です。投稿の日付とサイトのトラフィックを照らし合わせることができます。
list_app_reviews無料日次同期で保存された、自分のアプリに対する App Store と Google Play のレビューです。星評価、テキスト、地域、アプリのバージョン、返信済みかどうかに加え、星評価の分布と各ストアに表示される評価を確認できます。
get_tracked_conversions無料自分のサイトまたはアプリから Nooticr に送信された、UTM タグ付きイベント(リンクのクリック、登録、購入、インストール)の件数です。最大90日分をキャンペーン、ソース、メディアごとに確認できます。件数のみで、個人データは含まれません。
get_content_plan無料プロダクト向けに生成済みの場合、保存された週間コンテンツプランを取得します。存在しない場合は plan: null です。
get_brand_playbook無料設定済みの場合、プロダクトのブランドプレイブック(名前、説明、プレイブックのテキスト)を取得します。ダッシュボードまたは analyze_product で設定できます。読み取り専用です。存在しない場合は available: false です。
review_post無料公開前に下書きを評価します。フックの強さ、フックの A/B 比較、ビジュアルとストーリーテリングに関する所見、書き換えたフックやキャプションを確認できます。課金されません。ダッシュボードの公開前レビューと同じです。
draft_postプランの AI クレジットトピックに基づいた、すぐに使える下書き(タイトル、キャプション、ハッシュタグ、スライドごとの台本)を作成します。プロダクト名に基づいて生成されます。テキストのみを返し、保存はしません。
growth_briefプランの AI クレジット平易な言葉でまとめたブリーフです。最も重要なインサイト、成果、リスク、次のアクションを、実際の投稿履歴と同期済みの分析データに基づいて提示します。
generate_content_planプランの AI クレジットすでに成果を上げた内容に基づき、クリエイター向けに1週間分の日ごとのコンテンツプランを作成します。保存されるため、後から get_content_plan で取得できます。
generate_captionsプランの AI クレジット動画用の画面上のキャプションを表示タイミングとともに作成します。トランスクリプトと、開始時刻・終了時刻付きの行を返します。キューデータのみを返します。
analyze_productプランの AI クレジットプロダクトの AI 分析を開始します。自社ウェブサイトの抜粋を取得し(nooticr 内のデータだけではなく、実際に外部へアクセスします)、投稿と全体のパフォーマンスを読み取って、結果をブランドプレイブックとして保存します。バックグラウンドで実行され、jobId を返します。analyze_product_status で状態を確認してください。プランの AI クレジットを10消費します。各ワークスペースの初回分析は無料です。
analyze_product_status無料analyze_product で開始したジョブの状態を確認します。state(pending/thinking/done/error)を返し、完了後は分析結果も返します。無料です。費用はジョブ開始時にすでに請求されています。
list_social_connections無料接続済みのソーシャルアカウントと、それぞれに許可されている操作(読み取り、公開、コメント管理)を確認できます。公開は AI 従業員を通じて行われるほか、ダッシュボードでその投稿を承認するか、その従業員の自動運転での公開を有効にしている場合は自動で行われます。ここから公開することはできません。接続可能なプラットフォームも一覧表示します。
connect_social_account無料アカウントを接続するためのリンクを取得します。プロバイダー側で承認する必要があります。承認するまで接続されず、認証情報がこのツールを経由することもありません。capabilities: ["manage_comments"] を指定すると、YouTube にコメント管理の許可を求めます。
課金の仕組み
  • 新規アカウントには無料クレジットが20付与されます。
  • 各ツールの料金は、上流から取得するデータ量に応じて設定されており、初回の呼び出しから課金されます。2回の取得に分岐するツールでは、両方の分がかかります。analyze_postの場合、フレーム分が2、トランスクリプト分が1で、説明にもその旨が記載されています。初回利用は無料ではありません。この付与分はAI呼び出し向けでしたが、AI呼び出しはありません。
  • 失敗した呼び出しは自動的に返金されます。実行中に中断された呼び出しへの課金は最大1回までで、再試行は冪等です。
  • プラットフォーム管理者には、クレジットの引き落としが一切適用されません。

Claude/ChatGPT チャット内のインタラクティブカード

投稿を返すすべてのツールは、チャット内にインラインのインタラクティブカードも表示します(MCP Apps の ui://nooticr/view リソースを、サンドボックス化された iframe 内に表示します)。

  • 動画投稿(TikTok/IG/YouTube/Douyin/LinkedIn)— サムネイルをポスター画像として表示するインラインの <video> プレーヤーで、再ホストされた恒久的な MP4 を再生します(期限切れになる CDN トークンはありません)。
  • カルーセル/スライドショー — すべてのスライドを横スクロールできる帯状に表示し、画像数のチップも表示します。
  • 単独の画像 — インラインでサムネイルを表示します。
  • テキストのみの投稿(LinkedIn/X)— 投稿本文をスタイル付きの引用ブロックで表示します。
  • 公式ブランドロゴ — 各カードには、絵文字の代わりにプラットフォームの実際のロゴ(simple-icons)をブランドカラーで表示します。

search_mentionsは、モニタリングが閲覧ではなくトリアージを目的としているため、異なるビューを表示します。

  • 各行は、何かを発信した人物を表します。 ネットワークのロゴが付いた人物の画像、その後にハンドル名と投稿時刻(タイムスタンプではなく、「今日の午後7時25分」のような形式)、続いて該当する語句を本文中のすべての箇所で強調表示したコメント、最後に「いいね」と返信の数が表示されます。ブランド名が複数回登場するコメントには、×Nバッジが付きます。
  • 各投稿にはリーチが表示されます。 25Kの賛成票を集めたスレッドに付いた同じ文章と、誰にも見られていない投稿に付いた文章とでは、問題の大きさが異なります。画面上のほかの情報からは、その違いはわかりません。
  • ネットワークごとの件数はフィルターです。 クリックすると、そのネットワークに絞り込めます。何も返さなかったネットワークも表示されますが、絞り込んでも行き止まりになるためクリックできません。フィルタリングと並べ替えでは、すでに取得したデータから表示を再描画します。ビューで再クエリが実行されることはありません。
  • 集中投稿はまとめて表示されます。 ほぼ同一の返信が連続する1つの投稿(たとえば、組織的なファンキャンペーン)は、最初の数件を表示して残りを開けるようにするため、ほかの4つのネットワークが画面から押し出されることはありません。
  • コメントは選択でき、その選択内容はエージェントが利用します。 コメントを個別に選択するか、スレッド全体を一度に選択して送信できます。ビューはホストに、ツールが発行したコメントのIDを渡すため、モデルはまさにそのコメントに返信したり、エスカレーションしたり、分析したりできます。選択内容はフィルタリングや並べ替えの後も維持されます。
  • さらに読み込むと、ツールが返したnextOffsetからページを読み込みます。

モデル/プレーンテキストのクライアント向けには、インラインサムネイルも表示されます。

  • get_social_post/understand_social_post/analyze_post — 最大4フレームをインライン表示します(ポスター画像+カルーセルのスライド)。完全なmediaItems[].preview_urlとthumbnailUrlは、モデルが推論できるようstructuredContentに含まれたままです。
  • discover_social_posts/get_user_posts/analyze_creator_profile — 返された各投稿のサムネイルを、タイトル/キャプションと再生数/「いいね」数/コメント数とともに、最大4件まで一度にインライン表示します。「次」または「もっと表示」と伝えると、Claudeはoffset/limitによるページネーションを指定して再呼び出しします。「2番目の投稿を分析して」と伝えると、ClaudeはそのURLに対してanalyze_postまたはunderstand_social_postを呼び出します。
  • 一括分析 — 「4件すべて分析して」または「この3件をまとめて理解して」と依頼すると、ClaudeはURLごとにanalyze_post/understand_social_postを並列で1回ずつ呼び出し、結果を要約します。大量のデータを一括処理する場合は、discover_social_postsを実行してから、各URLに対してanalyze_postを追加で実行します。

思考するのは、あなた自身のモデルです

ほかのモードはありません。すべてのツールは、分析の基盤となる素材そのものを取得コストで返し、モデル自身に推論を促します。ここから当社のモデルが呼び出されることはないため、ここで判断を販売することもありません。

ビジュアルツールの場合、返されるのは実際のフレームです。説明ではなく、実際の画像コンテンツブロックをトランスクリプトと組み合わせて返します。Claude Codeでの計測では、1280×720のフレームあたり約1,200トークンで、8つのフレームを正しく順番どおりに読み取れました。20フレームでも、100万トークンのコンテキストの約2.4%です。

ツール返される内容クレジット
analyze_post画像としてのフレーム、トランスクリプト、統計情報3(2 + 1)
summarize_post_commentsID付きのコメントと、使用するラベル2
analyze_creator_profileクリエイターの最近の投稿とその数値2
evaluate_social_draftあなたの下書きと、評価に使用するルーブリック無料

上記の料金は、二重に記載するのではなく、各ツールが実行する取得処理に基づいて算出されます。src/shared/evidence.ts の EVIDENCE_PLANS と planCost を参照してください。evaluate_social_draft にはプランがありません。すでに手元にあるテキストをレビューするため、取得するものも課金するものもありません。

show_comment_review を使うと一連の処理が完了します。分類結果を渡すと、それを表示します。すべてのコメントに感情とカテゴリが付き、フィルタリングや選択ができます。無料で、リクエストも実行しません。

高額な呼び出しの前に確認を求めます

ほとんどのツールは説明に料金が記載されているため、呼び出しの料金は事前に確認できます。ただし、料金が引数、またはリクエストに記載されないリストによって決まるため、料金を説明に記載していないツールが6つあります。

  • search_mentions は検索するネットワークごとに課金されるため、「自分のブランドをモニタリングして」というだけで、9つすべてを検索すると21クレジットかかります。
  • catch_up_watchlist はクリエイターごとに課金されるため、料金はウォッチリストの件数によって決まります。
  • answer_my_audience、content_ideas_from_audience、measure_audience_overlap は開いた投稿ごとに課金されます(デフォルトではそれぞれ14、12、16クレジット)。そのため、最大値ではなく、実際の投稿数が判明してから一度だけ確認します。
  • search_spoken_mentions はネットワーク、ハンドル、トランスクリプトごとに課金されるため、到達し得る最大額で確認を求めます。
  • create_brand_watch は、金額がどれほど少なくても確認を求めます。合意の対象が、1回限りの実行ではなく継続的な課金だからです。

最初の5つのツールで6クレジットを超える場合は、MCP の elicitation を通じて先に確認を求めます。クライアントに金額が表示され、承認するか拒否するかを選べます。拒否しても料金はかからず、エラーにもなりません。elicitation に対応していないクライアントでもブロックされず、これまでどおり呼び出しが実行されます。

このしきい値を超える2つのルールもあります。定期ウォッチでは、継続的な契約そのものが承認対象となるため、必ず確認を求めます。また、ダイジェストをメールで送信するウォッチでは、実際に人がダイアログを確認して承認していない限り、deliverTo アドレスを受け付けません。支出については「確認できる人がいない」という回答でも問題ありませんが、送信先アドレスについてはそうではありません。

前提条件

  • Node.js >= 18(Node 22でテスト済み)
  • nooticr アカウント(初回サインイン時に自動作成されます。Google サインインは npx @nooticr/mcp login から行います。新規アカウントにはサーバーがデフォルトのワークスペースとアプリを自動作成するため、ダッシュボードは不要です)
  • nooticr サーバーへのアクセス。デフォルトではクラウド API(https://api.nooticr.com)を使用します。ローカル開発では NOOTICR_BASE_URL に独自のデプロイ先を指定してください。

クイックスタート

# 1. Sign in with your nooticr account (Google sign-in opens in your browser)
npx @nooticr/mcp login
#    or with email/password:
npx @nooticr/mcp login --email [email protected] --password '...'

# 2. Add it to your MCP client (see install section above) — or run it manually:
npx @nooticr/mcp            # stdio (default; for Claude Desktop / Cursor)
npx @nooticr/mcp --http     # remote HTTP with OAuth (for OpenAI Agents SDK)

login は nooticr のトークンを ~/.config/nooticr-mcp/credentials.json に保存します(モード 0600)。ブラウザーが自動的に開かない場合は、表示された URL を手動でブラウザーにコピーしてください。

サーバーでの実行(ブラウザーなし)

login と OAuth フローは、どちらも最初に一度ブラウザーが必要です。また、どちらもリフレッシュトークンによって維持される15分間のアクセストークンを残します。サーバー側で実行するインテグレーションには適していません。サーバー側では同意画面を完了できず、リフレッシュの連鎖が途切れた場合は手動で修復する必要があるためです。

もう1つの方法は API key です。ブラウザーで mcp.nooticr.com/dashboard にアクセスして発行するか(サインインし、キーに名前を付けてコピーします)、サインインできるマシンから一度だけ次のコマンドを実行して発行します。

npx @nooticr/mcp login                                  # the one interactive step
npx @nooticr/mcp api-key create --name "aybee-prod"     # prints the key, once

その後、デプロイ環境に渡します。ほかに設定するものはなく、更新も不要です。キーは取り消すまで有効です。

# stdio, as a subprocess of your own service
NOOTICR_API_KEY=nk_... npx @nooticr/mcp

サーバーでは、環境変数を使うのがおすすめです。すべてのコンテナーランタイムとシークレットマネージャーがすでに環境変数を注入でき、再デプロイ時に破棄されるディスク上に何も残さずに済むためです。環境変数の設定が面倒な場合(ラップトップや、シェルの環境を引き継がない Claude Desktop などのクライアントの場合)は、代わりに認証情報ファイルにキーを保存します。

npx @nooticr/mcp login --api-key nk_...

書き込み前にサーバーに対してキーを検証するため、入力ミスがあればその場で修正できます。その後は環境変数とまったく同じように動作し、ブラウザーも更新も不要で、取り消すまで有効です。このファイルには認証情報が1つだけ保存されるため、以前の login が残したセッションは置き換えられます(NOOTICR_API_KEY が設定されている場合は、そちらが引き続き優先されます)。

# or against the remote endpoint, as an ordinary bearer token —
# no /authorize, no PKCE, no redirect URI
POST https://mcp.nooticr.com/mcp
Authorization: Bearer nk_...

ダッシュボードの API keys カード、または CLI から管理できます。

npx @nooticr/mcp api-key create --name "staging" --expires-in-days 90
npx @nooticr/mcp api-key list
npx @nooticr/mcp api-key revoke <id>

すべてのコマンドで、スクリプト用に --json を指定できます。知っておくと便利な点をいくつか紹介します。

  • キーが表示されるのは api-key create のとき 一度だけ です。nooticr はハッシュのみを保存するため、再表示できません。list ではキーを見分けられるよう、先頭部分(nk_1a2b3c4d…)が表示されます。
  • キーには、作成者のスコープ(作成者のアカウントと、その時点で所属していたワークスペース)が適用されます(--workspace-id を指定すると、所属する別のワークスペースを選択できます)。
  • キーを使って、キーを作成したり取り消したりすることは できません。これは意図的な仕様です。キーが漏えいしても、元のキーを取り消した後まで有効な代替キーを発行できないようにするためです。
  • --expires-in-days は任意です。指定しない場合、キーは自動的には期限切れになりません。
  • 取り消しは API に直ちに反映されます。ホストされたリモートエンドポイントでは、「このキーは有効」という判定が最大5分間キャッシュされますが、取り消されたキーでツール一覧を確認できるだけです。アカウントにアクセスするすべての呼び出しは、その場で nooticr-server に対して検証されます。

Claude Desktop での使用方法

npx @nooticr/mcp login を実行した後、claude_desktop_config.json に次の設定を追加します。

{
  "mcpServers": {
    "nooticr": {
      "command": "npx",
      "args": ["-y", "@nooticr/mcp"]
    }
  }
}

トークンは login が書き込んだ認証情報ファイル(または NOOTICR_ACCESS_TOKEN)から取得されます。クライアントがシェルの環境変数を引き継がない場合は、環境変数を明示的に設定します。

{
  "mcpServers": {
    "nooticr": {
      "command": "npx",
      "args": ["-y", "@nooticr/mcp"],
      "env": {
        "NOOTICR_BASE_URL": "http://localhost:8080"
      }
    }
  }
}

Cursor での使用方法

.mcp.json(プロジェクトルート)または ~/.cursor/mcp.json に設定します。

{
  "mcpServers": {
    "nooticr": {
      "command": "npx",
      "args": ["-y", "@nooticr/mcp"]
    }
  }
}

サーバーを追加した後、ターミナルで npx @nooticr/mcp login を実行します。Cursor はサーバーを環境変数付きで起動するため、保存された認証情報を取得できます。

リモート/HTTP で使用する場合は、Cursor を OAuth 対応の HTTP モードに接続できます。npx @nooticr/mcp --http を実行し、サーバー URL を http://localhost:3457/mcp に設定してください。リモートクライアント(Cursor を含む)は http://localhost:3457/.well-known/oauth-authorization-server から OAuth エンドポイントを検出し、「Sign in with Google」ページを開いて、取得したアクセストークンを保存します。

OpenAI Agents SDK での使用方法

HTTP トランスポートを起動します。

npx @nooticr/mcp --http --port 3457

Python:

from agents import Agent, Runner
from agents.mcp import RemoteMCPClient

async def main():
    async with RemoteMCPClient(
        url="http://localhost:3457/mcp",
        auth_provider="oidc",  # OAuth flow opens your browser once
    ) as client:
        agent = Agent(name="nooticr", mcp_servers=[client])
        result = await Runner.run(
            agent,
            "Analyze this video: https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        )
        print(result.final_output)

TypeScript(Agents SDK):

import { Agent } from "agents";
import { RemoteMCPClient } from "agents/mcp/client";

const client = new RemoteMCPClient({
  url: "http://localhost:3457/mcp",
  authProvider: "oidc", // opens the browser for the OAuth flow
});

const agent = new Agent({
  name: "nooticr",
  mcpServers: [client],
});

const result = await agent.run(
  "Analyze this video: https://vm.tiktok.com/abc123/",
);
console.log(result.output);

Agents SDK でローカルの stdio プロセスを使う場合は、StdioMCPClient を使用します(Python の場合:StdioMCPClient(command="npx", args=["@nooticr/mcp"]))。

コマンドライン

nooticr-mcp                    Start in stdio mode (default transport)
nooticr-mcp --stdio            Same as above
nooticr-mcp --http [--port N]  Start the remote HTTP transport with OAuth (default port 3457)
nooticr-mcp login              Sign in to nooticr via Google in your browser
nooticr-mcp login --email ... --password ...   Password login
nooticr-mcp login --api-key nk_...             Sign in with an API key, no browser
nooticr-mcp api-key create [--name N] [--expires-in-days D] [--workspace-id W] [--json]
                               Mint a key for a server with no browser
nooticr-mcp api-key list [--json]         List this account's keys
nooticr-mcp api-key revoke <id> [--json]  Revoke one
nooticr-mcp --help             Show help

環境変数

変数デフォルト値説明
NOOTICR_BASE_URLhttps://api.nooticr.comnooticr サーバーのベース URL(末尾のスラッシュは削除されます)
NOOTICR_ACCESS_TOKEN—nooticr の JWT アクセストークン。以下のすべてより優先されます
NOOTICR_API_KEY—api-key create で取得した nooticr API キー。ブラウザー不要、更新不要、取り消されるまで有効です。認証情報ファイルより優先されます(login --api-key がファイルに保存したキーも含む)
NOOTICR_CREDENTIALS_FILE~/.config/nooticr-mcp/credentials.jsonトークンの保存先
NOOTICR_PUBLIC_URLhttp://localhost:3457OAuth メタデータで公開されるベース URL(HTTP モード)
NOOTICR_PORT3457--http と login 用のポート
NOOTICR_TRANSPORTstdiostdio または http(--http と同じ)

認証の仕組み

stdio モード(Claude Desktop、Cursor):サーバーは見つかった最初の認証情報を使用します。優先順位は NOOTICR_ACCESS_TOKEN、NOOTICR_API_KEY、login が書き込んだ認証情報ファイルの順です。このファイルには、最後に login が書き込んだ認証情報が1つ保存されます。API キー(login --api-key)またはセッションのいずれかです。期限切れのセッショントークンは保存済みのリフレッシュトークンで更新され、nooticr API からの 401 は更新後に1回再試行されます。API キーは、どこから取得したものであっても更新されません。期限切れにならないため、API キーに対する 401 は取り消されたか、入力を間違えたことを意味し、再試行しても問題を覆い隠すだけです。

API キー(すべてのトランスポート、ブラウザー不要):ベアラートークンとして送信するか、NOOTICR_API_KEY を設定します。nooticr-server はキーを所有者と、そのキーの対象となるワークスペースに関連付けます。以降のすべての認可チェックでは、サインイン済みセッションの場合とまったく同じ情報が参照されます。サーバーでの実行を参照してください。

HTTP モード(OpenAI Agents SDK、リモートクライアント):サーバーは独自の OAuth 2.0 認可サーバーを実行します(Authorization Code + PKCE S256、パブリッククライアント、MCP 2025-03-26 仕様に準拠)。

  • GET /.well-known/oauth-authorization-server — メタデータ
  • GET /authorize — リクエストを検証し(loopback または https のリダイレクト URI)、ブラウザーを nooticr の Google サインインに転送します
  • GET /oauth/callback — 独自の loopback コールバック。nooticr の完了コードを nooticr JWT に交換し、ワンタイムコードを付けて MCP クライアントにリダイレクトします
  • POST /token — PKCE を検証し、nooticr セッションに紐付けられた不透明なベアラートークンを発行します(有効期間は1時間)
  • すべての MCP RPC で、ベアラートークンがセッションマップに照らして検証されます。ベアラーが API キーの場合は、呼び出し元自身の認証情報として nooticr-server に転送されます。これにより、このエンドポイントをブラウザーなしで利用できます

対応 URL

  • TikTok:tiktok.com/*、vm.tiktok.com/*(および www./m. サブドメイン)
  • Instagram:instagram.com/*(リール、投稿、カルーセル)、instagr.am/*
  • YouTube:youtube.com/*(/shorts/ を含む)、youtu.be/*、m.youtube.com/*
  • X:x.com/*、twitter.com/*
  • Reddit:reddit.com/*、redd.it/*
  • Weibo:weibo.com/*、weibo.cn/*
  • Douyin:douyin.com/*
  • Xiaohongshu:xiaohongshu.com/*、xhslink.com/*
  • Bilibili:bilibili.com/*、b23.tv/*
  • LinkedIn:linkedin.com/*(投稿、プロフィール URL)

すべてのツールはこれらのホストを受け付け、動画、画像、カルーセル、スライドショー、テキストの投稿を処理します。

トラブルシューティング

  • Not authenticated with nooticr / 401:npx @nooticr/mcp login を実行するか、 NOOTICR_API_KEY を設定してください(サーバーで実行するを参照)。
  • unknown, revoked or expired nooticr API key:このキーは、このアカウントで有効なものではありません。npx @nooticr/mcp api-key list で、失効済みのものも含め、すべてのキーとその状態を確認できます。
  • API keys cannot manage API keys:api-key create/list/revoke にはサインイン済みのセッションが必要なため、NOOTICR_API_KEY に設定されたキーも、login --api-key で保存されたキーも無視されます。先に npx @nooticr/mcp login を実行してください。
  • 402 のペイウォール/insufficient MCP credits:nooticr アカウントのクレジットが不足しています。料金はツールに記載されています。投稿の検索または文字起こしは 1 クレジット、検索と 1 回の取得を行うツールは 2 クレジット、フレームと文字起こしの両方を取得する 2 つのツールは 3 クレジットです。すべてのツールで、最初の呼び出しから課金されます。 check_nooticr_credits、または nooticr ダッシュボード( https://nooticr.com/settings?tab=billing)からチャージしてください。
  • リフレッシュトークンの期限切れ:保存されているリフレッシュトークンが nooticr サーバーに拒否されました。再認証するために、npx @nooticr/mcp login を再度実行してください。
  • Could not reach the nooticr server:NOOTICR_BASE_URL に接続できないか、値が誤っています。
  • HTTP モードでクライアントに「Bad Request」または接続エラーが表示される:ポートが NOOTICR_PUBLIC_URL と一致していること、またクライアントが先にトークンを取得していることを確認してください(OAuth フローを一度ブラウザーで完了する必要があります)。

プラットフォームへの登録

すぐに貼り付けて使える設定と、Claude Desktop、Cursor、OpenAI Agents SDK 用の登録パッケージについては、docs/SUBMISSION.mdを参照してください。

公式 MCP レジストリーのエントリー com.nooticr/mcp は、リリースごとに server.json のバージョンと一致している必要があります。バージョンのずれの確認(npm run registry:check)と公開スクリプト(npm run registry:publish)については、docs/registry-publishing.mdを参照してください。

セキュリティに関する注意事項

  • 認証情報ファイルはモード 0600、ディレクトリは 0700 で書き込まれます。
  • OAuth リダイレクト URI はループバック(http://localhost、 http://127.0.0.1、http://[::1])または https:// URL に制限されます。また、/authorize エンドポイントには PKCE(S256)が必要です。
  • 認証コードと PKCE チャレンジは一度だけ使用でき、有効期間は短く設定されています(メモリ内)。
  • アクセストークンは不透明なランダム値で、メモリ内のセッションマップに紐付けられており、 1 時間で期限切れになります。サーバーを再起動すると、すべてのセッションが無効になります。
  • API キーは sha256 ハッシュとして保存され、平文では保存されません。そのため、データベースダンプを API に再送しても使用できません。API キーは 1 つのアカウントと 1 つのワークスペースにスコープが限定され、キーの発行時ではなく現在の所有者のロールが適用されます。また、キーを使ってキーを作成または失効させることはできません。
  • 認証情報ファイル、NOOTICR_ACCESS_TOKEN、NOOTICR_API_KEY は絶対に共有しないでください。

開発

npm install
npm run build    # tsc
npm test         # vitest (66 unit tests, mocked fetch — no network)

これらはスタブバックエンドに対する単体テストです。Rust も Postgres も API キーも使わない、実際の MCP プロトコルによるエンドツーエンドテストでは、npm run test:e2e-smoke:fixture を実行します。このコマンドは、このリポジトリの実際にビルドされた CLI を起動し、純粋な Node 製の nooticr-server 代替実装を相手に、stdio 経由で動作させます。これについて、またその上位のティア(実際の nooticr-server に対して npm run test:e2e-smoke を実行)については、docs/testing/agentic-e2e-testing.md を参照してください。実際のモデルにサーバーを操作させ、1 回の呼び出しではなく、たどるツールの一連の流れを検証しながら全体のジャーニーを実行する方法については、npm run test:quests と docs/testing/tool-chaining-quests.md を参照してください。また、tests/e2e/agentic-visual*.e2e.ts では、実際のツール呼び出し結果を使って、アクセス可能なすべてのウィジェットビューを実際のブラウザーに表示し、ホスト向けのボタンをすべて実際にクリックします(npx playwright test tests/e2e/agentic-visual.e2e.ts tests/e2e/agentic-visual-full-app.e2e.ts)。このテストで実際の製品バグが 6 件見つかり、同じドキュメントに記録されています。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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