Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Call before you post: ships a draft to Threads/Bluesky/Mastodon only after a person approved it.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"thth": {
"command": "uvx",
"args": [
"thth"
]
}
}
}ターミナルでこれを実行します
claude mcp add thth -- uvx ththプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"thth": {
"command": "uvx",
"args": [
"thth"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"thth": {
"type": "stdio",
"command": "uvx",
"args": [
"thth"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント aokings で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(5.12.6)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, topo^alpin
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
THTH は、自分の SNS アカウントで調べる・投稿する・予約する・振り返るためのコマンドラインツールです(Threads・Bluesky・Mastodon・X)。
CLI なので、Claude Code などの AI アシスタントがそのまま操作できます。同梱の MCP サーバーとスキルは、その操作を楽にするための補助です。THTH は何を書くかを決めません。頼まれたときだけ動きます。
THTH が断るときは、なぜ断ったか・どうすれば通るか・どうすればもっと良くなるかを、丁寧に前向きに返します(原則: 前向きな断り)。
English: README.en.md · サイト: https://thth.me · 文書の索引: docs/README.md
| Threads | Bluesky | Mastodon | X | |
|---|---|---|---|---|
| 投稿・予約 | ○ | ○ | ○ | ○ |
| 削除 | ○ | ○ | ○ | ○ |
| 返信とインサイト(表示・いいね・返信などの数)の取得 | ○ | ○ | ○ | 数だけ(3.16.0・THTH から出した投稿) |
キーワード検索(thth topics --search・thth where) | ○ | ○ | ○ | - |
言及(thth mentions) | ○ | ○ | ○ | - |
| プロフィールと場所の検索 | ○ | - | - | - |
thth topics <アカウント> --search <語> で、その語の件数・投稿者の数・最新の投稿を見ます。Threads では --tag を付けると、その語をトピックに付けた投稿の件数・投稿者の数・最新と最古の時刻だけを見ます(本文と投稿者は出しません。--keep で数と日付を where --keep と同じ project の置き場に残します・5.7.0)。thth where は「次にどこで話すか」を、自分がすでに絡んだ相手を重ねて探します。X の行には投稿者のフォロワー数(「フォロワー 1.2 万」)と投稿数も付きます(--json は author_followers・author_posts。保存しません)。thth send で今すぐ、thth schedule で予約、--reply-to で返信です。stuck に出します。何も試みなかった回で「復旧」と言わなくなりました(リリースノート 5.12.3)。--json・MCP・thth.me の答えのどれでも、理由と、その口で本当に打てる直し方と、より良くする一手を返します。招待で入った口座には最初の 14 日の慣らし(1 日の公開の上限が半分)が掛かります(リリースノート 5.12.0)。thth plaza post … --preview で、範囲を問わず置く中身(本文・観測の欄・下書き・範囲の既定)を何も書かずに見られます。置いた本人は thth plaza hide --as で自分の 1 件を隠せます。糸・seeds・広場の観測に Threads のリンクのクリック(投稿から 72h・訪問とは別の欄・言える本数/Threads の本数)を、project のダッシュボードにサイトへの参照元(host と数だけ)を出します。hub が 1 日 1 ファイルで送る訪問の控えを、糸の期間(seeds は --days の窓)に重なる日だけ足し、欠けた日は 0 と混ぜず日の数で言います(リリースノート 5.11.0)。replies_within_hours= を書けば、段の名が何でも返信を数えます(告知の本数では済みになりません)。全部の段を満たした糸は「済んだ」になり、動かなくても停滞と言いません。済んだ糸は閉じる(任意)か広場に置く候補として出ます。ダッシュボードの要対応に、時刻を過ぎて出ていない原稿も並びます。媒体で取れない数(Bluesky・Mastodon の views)は「取れない」と言います(リリースノート 5.10.0)。thth scenario seeds が、直近 28 日(--days)の自分の投稿と糸から、次の糸の種を 4 つの列で並べます——返信の多かった投稿・訪問の多かった告知(GA4 の数を取り込んでいなければ「言えない」)・よく見られた投稿・閉じた糸で宣言にあって使わなかった媒体。数の多い順に並べるだけで、選ぶのは窓口と人です。媒体をまたいで比べず、5 本に満たない群は比べを言いません。他人の返信の本文と名前は出ません(リリースノート 5.9.0)。thth plaza post <アカウント> --kind measure --from scenario <糸の id> で、閉じた糸 1 本の段ごとの本数・媒体ごとの反応(thth after と同じ計算)・本記事への訪問・広告の段(始めた本数と予算。使った額とリンクのクリックは記録に無いので「言えない」)を、道具が観測として付けて置きます。人や LLM の解釈は --body-file で、観測の欄には入りません。糸を閉じると thth observe の次の一手にこの命令が出て、同じ持ち主のほかの project は thth plaza digest の「糸の結果」で、使った媒体と試していない媒体つきで読めます(リリースノート 5.8.0)。- boost: ads・広告の口座の記録を読むだけ)とセルクマの段(- selfbm: hatena_bookmark target=own・自分の記事か他人のページかを分けて数える)が書けます。段の日本語の名(告知・セルクマ・広告)も出ます。thth scenario site-import --file が hub の GA4 の数(hub.site_visits/1)を受け取り、原稿の名前と thread: で糸に結んで、thth scenario show・thth dashboard campaign に「本記事への訪問(GA4・hub 経由)」を出します。結ばれない campaign は数だけ、取れない数は 0 と言いません。thth scenario・show・dashboard campaign の 1 行目は流れの型の skill thth-flow(thth scenario skill --print)です(リリースノート 5.7.0)。thth ads insights が反応の内訳(いいね・リアクション/コメント/シェア/写真を開いた/ページへのいいね)・サイトへの誘導(リンククリック・サイトへ出たクリック・頁が開いた)・1 件あたりの額・効率(frequency・cpm・ctr・cpc ほか Meta の計算済みの値)・動画の見られた深さを出します。clicks はリンクのクリックではありません。数が 0 か、計測が無くて分からないかを分けて書きます(site.why)。--by age-gender|region|country|placement|device|hour で内訳、thth ads estimate で出す前の見積もり、thth ads doctor・show でピクセルの有無と最後に動いた時刻を読みます(読むだけ)。thth ads boost --utm-campaign <原稿のファイル名> でリンクに有機の投稿と同じ campaign の UTM(utm_medium=paid)を付けます。広告を出す LLM 向けの手順は skill thth-ads(skills/thth-ads/・thth ads skill --print)で、広告の命令の次の一手(next_steps)とエラーの文は先頭でそれを示します(リリースノート 5.6.3)。thth ads boost は全部 PAUSED で作り、始めるのは thth ads activate の 2 段だけです。thth ads watch は成績を読み続け、指定の額か表示数に達したら thth ads stop と同じに止めます(--until で必ず終わる)。spend_cap・月の上限・旗を上げる命令はありません。例外は 1 つで、止めた印を外す thth ads resume は 2 段+hub の承認の番号が必須です(masaru 11/02・外すのは印だけで、広告は PAUSED のまま)(リリースノート 5.6.2)。thth archive <口座> --from --title <曲名> [--max-total 20] [--json] で 2006 年からの他人の公開投稿を読みます(id・URL・時刻・本文・handle・保存しない)。--count-only は件数だけ(1 回 0.010 USD)。返った本数で月の X 予算に数え、1 日の本数は x_archive_daily_reads(既定 0=読まない)で別に縛ります。timer からは叩きません(リリースノート 4.5.0)。thth approve --confirm・thth revoke・thth.me の予約と取り消しは、VM の承認の台帳(state/<口座>/approvals.json)に書き、repo の原稿は書き換えません(thth approvals <口座> で見られます)。口座の台帳を require_gate: true にすると、hub の承認の番号(--approval A261021-25)の無い確定を断ります(リリースノート 4.4.1)。reply_follow で変えられる)(リリースノート 4.4.0)。thth account resume で戻せば次の timer で出ます(リリースノート 4.3.1)。publish_at を今か過去にしてまとめて承認する」だけです(リリースノート 4.3.0)。thth bookmark batch-resume で今すぐ見直せます。sparse-checkout の定義の外には記録を書かず、直し方を言います(リリースノート 4.2.2)。thth bookmark edit で THTH が付けたブックマークのコメントとタグを 2 段の承認で直す。31 バイトを超えるタグは予告して断る。上限の設定は台帳の limits と別名で書け、断りに根拠と通し方が付きます(リリースノート 4.2.0)。thth bookmark batch の 1 段目で全件の一覧と digest を見て 2 段目で確定。timer が上限の中で時刻を散らして付けます(口座ごと)。あわせて、上限と連投の柵の土台(媒体の特性の台帳)を入れました(リリースノート 4.1.0)。announces・{article_url})とはてなブックマークを記事に結びます。記事を直せば thth article diff で差分を見て、承認して更新します。はてなの画面で手直しされていれば上書きせず thth conflict で止まります。反応は thth article reactions で記事ごとに。SNS だけの口座の動きと承認の指紋は変わりません(リリースノート 4.0.0)。thth send --reply-to(thth.me の send_request も)が急な連投(burst)を超えるとき、口座を止めずにその 1 件を窓が空く時刻の順番待ちに並べ、timer が出します。止めるのは返信でない投稿の連投だけです(リリースノート 3.25.0)。thth schedule は、--production が無ければ下書きを置いて lint だけにします(send と同じ)。過去の時刻の予約はサーバも断ります(リリースノート 3.24.0)。thth events <口座|project> --after --json で出来事(公開・返信・言及・止まり・予算)を取りこぼさず読み直し、thth summary で数を 1 つにまとめます。observe --json は sections_by_name で節を名前で引けます(リリースノート 3.23.0)。topics --search・where)・thread・mentions は他人の投稿の本文を切らずに画面と --json に出します(保存はしません)。Threads の検索は --since・--until・--media で絞れます。thth.me の鍵でも thread・where・who が使えます。VM で打つ thth send にも安全装置(間隔・1 日の上限・連投)が掛かります(リリースノート 3.21.0)。thth collect が投稿後 1 時間〜30 日の決まった時点で返信とインサイトを取得し、thth replies・thth measured で読みます。thth repost・unrepost・like・unlike(3.15.0 から)。Threads は再投稿だけ(Threads の API にいいねが無い)。Bluesky は両方。Mastodon と X のいいねは、そのアカウントを認可し直してから(リリースノート 3.15.0)。thth where … --also|--aggregate --keep で語ごとの数だけを日付つきで残し(5 未満は欠測・本文や名前は残さない)、thth where-log [--budget N --medium x] で当たり率と翌日の配り直しを見ます。--ja・--question・--no-replies で表示を絞ります(X の --ja は検索に lang:ja を足して読む本数を減らす)(リリースノート 3.18.0)。thth list create|add|remove|show(3.17.0 から・X だけ)。公開のリストは作らない。足す・外すは人が選んだ少数だけ(1 回 10 人まで)。アカウントを認可し直してから(リリースノート 3.17.0)。thth community search <語…> で探し、thth send --community か queue の front-matter community_id: で出す(3.19.0 から・X だけ)。参加は X の画面で先に(API に参加の口は無い)。返信とは同時に使えない。各コミュニティの規則は人が読んで守る(リリースノート 3.19.0)。thth trends [--woeid N] [--max N](既定は日本)と thth counts <語> [--granularity hour|day](直近 7 日)(3.19.0 から・X だけ・1 回の有償の読み取り・保存しない)。運営(gotoq)から届いた招待リンクを開き、招待の媒体(Threads・Mastodon・Facebook ページ・Instagram)で認可します。そのあとターミナルで次を打ちます。
pip install thth
thth login
ブラウザが開くので、アカウント名とアカウントのシークレットを入れて許可します。以後は自分のアカウントにそのまま使えます。
thth posts <アカウント>
thth topics <アカウント> --search コーヒー thth send <アカウント> --text "こんにちは"
Facebook ページと Instagram では thth doctor・thth dm・thth live・thth page cta・thth like・thth edit・thth reply hide も同じように使えます(書く命令は手元と同じ二段確認)。広告(thth ads)はまだこの道にありません。
サーバーも Meta アプリも git も要りません。手順の全体は 招待されたら にあります。
アカウントの台帳を自分の機械に置き、下書きのファイルを承認してから timer で出す運用もできます。承認は 2 段(本文と digest を見せる → その digest で確定)で、記録は VM の承認の台帳に残ります(4.4.1 から利用者の repo には書きません)。準備は 統一ガイド、日々の使い方は プロジェクトのセッション向け にあります。
claude mcp add thth -- thth-mcp
MCP の道具は CLI の写しで、同じ thth コマンドを呼ぶだけです。スキル(skills/thth/)は「投稿する前に何を見るか」「返信をどう扱うか」をアシスタントに教えます。記事を軸に告知・セルクマ・広告までつなぐ流れと、印(UTM)・測り方は skills/thth-flow/ が教えます。広告を出すときの手順は別のスキル(skills/thth-ads/・pip で入れた場合は thth ads skill が場所を出します)です。キーはアシスタントに渡しません。thth login が手元に置いたキーを thth コマンドが使います。
アシスタントが誤って走っても、アカウントごとのガードで止まります。
| ガード | 既定 |
|---|---|
| 投稿の最短間隔(返信には掛けない) | 6 時間 |
| 1 日の投稿 | 8 件 |
| 1 日の削除 | 5 件 |
| 急な連投 | 10 分に 3 件を超えたらアカウントを止める |
| 夜間 | 22:00〜07:00 は今すぐの投稿をしない |
夜間でも出したい原稿(運休・中止などの緊急の知らせ)は、queue の front-matter に urgent: true を書いて承認します。timer は夜間だけを越えて出し、最短間隔・1 日の本数・停止は今までどおり守ります。札は承認の対象に入るので、承認のあとに付けた原稿は出ません。
アシスタントが変えられるのは、厳しくする向きだけです。緩める・止まったアカウントを戻す・キーを発行し直すのは、オーナーが https://thth.me/activity でアカウントのシークレットを使って行います。
topics --search・where・thread・who)の本文と投稿者は、その場で見せるだけで保存しません。where … --keep のときだけ、語ごとの数(件数・問いの形・分類・also の当たり)を日付つきで project の私有の置き場に残します(5 未満は欠測冒頭だけを表示しています。続きはリポジトリで読めます