Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Japanese agriculture policy, subsidies and rice advance payments. 日本の農業政策・補助金・米の概算金
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://agri-ja.net/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http agri-ja https://agri-ja.net/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"agri-ja": {
"url": "https://agri-ja.net/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"agri-ja": {
"type": "http",
"url": "https://agri-ja.net/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://agri-ja.net/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน agri-ja.net แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Apify MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Next.js 15(App Router)+ TypeScript + Tailwind CSS v4 で構築した農業情報メディアの静的サイトです。記事本文は content/articles/*.md の frontmatter と HTML 本文で管理します。Git リモートは GitHub を想定しています(Vercel の Git 連携とも相性がよいです)。
メディア方針・未決バックログ・SEOメモは docs/メディア方針と実装メモ.md にまとめています(実装・運用時の参照用)。
ターミナルでこのフォルダに移動できる前提です。あなたが用意するのは 名前・メール・GitHub のトークン だけです(トークンは GitHub に一度も載せない でください)。
cd nogyo-media
cp setup.secrets.env.example setup.secrets.env
setup.secrets.env を開き、GIT_USER_NAME・GIT_USER_EMAIL・GH_TOKEN を埋めます。
gh auth login 済みなら、GH_TOKEN を空にしても push できます。 npm run setup:first-push
setup.secrets.env に VERCEL_TOKEN=...(Vercel → Account Settings → Tokens)を追加し: npm run setup:vercel
注意: setup.secrets.env は .gitignore 済みです。絶対にコミット・共有しないでください。 漏れたらトークンはすぐ無効化し、作り直してください。
microCMS は使わず、ファイルベースのみで公開します。
記事作成/記事化入力/ に元PDFを置きます。
チャットで「このPDFを記事化開始」と指示するか、nogyo-media で次を実行します。
npm run article:start -- "../記事化入力/<ファイル名>.pdf"
実行すると次が作られます。
記事/元資料/記事と元資料/<ファイル名>/<ファイル名>_解説記事.html(雛形)<ファイル名>_作業メモ.md記事/元資料/記事と元資料/<ファイル名>/<ファイル名>_解説記事.html を完成させ、内容を確認します。
補足:
タイトル / 日付 / タグ / 読了目安 / 目次 / 共有操作 はサイト側で共通表示されます。 内に本文を記述し、 や先頭 は原則不要です(重複表示を避けるため)。npm run article:stage -- "../記事/元資料/記事と元資料/<ファイル名>" <slug>
例:
npm run article:stage -- "../記事/元資料/記事と元資料/25_物流革新に向けた取組の推進" logistics-innovation-promotion
このコマンドで次を作成/更新します。
content/source-html/ .htmlcontent/articles/ .md(sourceHtmlFile 参照型)補足:
stage-article-for-web.sh は、HTML 内の data:image やローカル画像を public/article-images/ / に書き出し、HTML の src を公開用パスへ差し替えます。url(data:...) は変換対象外のため、含まれている場合はエラーで停止します。prepare-article-assets.py)。AVIF は環境によってデコードされず真っ白になることがあるため、public/article-images/**/*.avif と source-html 内の .avif 参照は `npm run build` 前の検証で失敗します。scripts/render-pdf-page-to-png.py(要 pymupdf)があります。公開は コミット と push の2段階に分かれています。article:publish はコミットまでで止まり、push しません。
npm run article:publish -- <slug> # 1記事=1コミット。push はしない
npm run article:push -- --dry # 溜まっているコミットの内容を表示(push しない) npm run article:push # その日の分をまとめて1回だけ push
publish-article.sh は content/articles/ .md に加えて、sourceHtmlFile が指定されている場合は対応する content/source-html/*.html も一緒にコミットします。あわせて 記事一覧 CSV(public/articles-index.csv)も再生成してコミットし、最後に未 push のコミット数を表示します。
push は1日1回にまとめてください。 Vercel の課金は読者のアクセス量ではなく push 回数(ビルドCPU時間) でほぼ決まります(1 push ≈ $0.14、Pro の月間クレジットは $20)。記事を3本出す日も、コミットを3つ積んでから最後に
npm run article:pushを1回だけ実行します。「1記事=1コミット」は revert しやすさのために維持し、push だけをまとめるのが原則です。使い切るとサイトが停止します(2026-08-10 に実際に3日22時間停止)。
なお push を実行してよいのは、ユーザーから「push して」「公開して」と明示的に指示があったときだけです。指示がなければコミットまでで止め、「公開待ち」として報告します。
push は「投げて終わり」にしません。次の2つを push 直後に必ず済ませます。
npm run build が通っても本番に出たとは限りません。クエリを付けないプレーンな本番URLで、記事・図版・sitemap 掲載を確認します(?cb= などを付けるとキャッシュやルーティングが変わり「未反映」と誤判定します)。デプロイが数時間生成されないことが実際にあります。承認待ち → 公開済 にし、公開コミット 列にコミットハッシュを入れます。2 を飛ばすと、push は済んでいるのに台帳では「承認待ち」のままという行が溜まり、次に誰かが見たとき「まだ公開されていない記事」に見えます。2026-08-25 の棚卸しでは、この形のずれが3件見つかりました(うち1件は、コミットされないまま作業ツリーに4日間残っていた変更)。台帳はコミット直後ではなく push 直後に更新してください。コミットしただけの段階では、まだ公開されていないためです。
トップ・新着・カテゴリ・タグのハブページと、全公開記事を タイトル / URL / 公開日 の3列で出力します(ハブページの公開日列は空)。
| 項目 | 内容 |
|---|---|
| ファイル | public/articles-index.csv |
| 本番URL | https://agri-ja.net/articles-index.csv |
| 手動更新 | npm run articles:csv |
自動更新のタイミング
npm run article:publish … 記事 push 時に CSV も同じコミットへ含めるnpm run build … Vercel デプロイ前にも再生成(push 忘れがあっても本番 CSV は最新化)記事の元データは content/articles/*.md の frontmatter(title / slug / publishedAt)です。記事 URL は /articles/ 形式です。
cd nogyo-media
npm install npm run dev
ブラウザで http://localhost:3000 を開きます。
本番ビルド:
npm run build
npm start
.)で問題ありません。親フォルダに複数プロジェクトがあるモノレポのときだけ nogyo-media などサブフォルダを指定します。環境変数は現状のファイルベース記事のみでは不要です。ドメインやプレビュー URL は Vercel のプロジェクト設定から追加できます。
| タイミング | あなたがすること | 自動で行われること |
|---|---|---|
| 最初の1回 | 上記「はじめての公開まで」どおり setup.secrets.env を用意し、npm run setup:first-push。自動デプロイ用に Vercel でリポジトリを Import(または npm run setup:vercel で CLI デプロイ)。 | setup:first-push がコミットと GitHub への反映まで実行。 |
| 2回目以降 | 記事やコードを直して git push するだけ。 | Vercel が自動でビルド・本番反映(プルリクならプレビュー URL も自動)。GitHub Actions(.github/workflows/ci.yml)が npm run lint と npm run build を実行し、失敗したら赤く表示される。 |
| 依存ライブラリ | 特に何もしなくてよい(任意で Dependabot の PR をレビューしてマージ)。 | Dependabot(.github/dependabot.yml)が週1で更新案の PR を出す。 |
GitHub 上のリポジトリの Actions タブで、ワークフロー「CI」の成否を確認できます。Vercel のダッシュボードで各デプロイのログも見られます。
現在の標準運用では microCMS を使いません。 content/articles と content/source-html のファイルベース運用で公開します。
microCMS を有効にする場合も、各記事の tags に読者タグを1〜3個含めないとビルドに失敗します。
https://agri-ja.net/mcp で、記事と公開データを MCP(Model Context Protocol) のツールとして提供しています。実体は app/mcp/route.ts の1ファイルだけです。
search_articles / get_article / rice_advance_payment / find_subsidycontent/)。記事を publish すればMCP側も自動で最新になります。/mcp は実行時に content/ を読む唯一のルートなので、next.config.ts の outputFileTracingIncludes から外さないでください(外すと本番で ENOENT)。利用のしかた(案内するとき): Claude / ChatGPT / Cursor の「カスタムコネクタ」に https://agri-ja.net/mcp を登録するだけです。所在は /llms.txt でも告知しています。
計測: MCP経由の利用は GA4 にも Search Console にも映りません。Vercel の Function Logs に出る [mcp] が唯一の計測点です。
net.agri-ja/agri-ja として登録済み(2026-08-07・status active)。名前空間は GitHub ではなく agri-ja.net のドメイン認証(HTTP方式) で取っています。
public/mcp-registry-auth → next.config.ts の rewrites で /.well-known/mcp-registry-auth として配信(Vercel は `public/` 配下のドットディレクトリを配信しないため、public/.well-known/ に直接置くと本番で404になります)~/.config/mcp-registry/agri-ja-key.pem と agri-ja-privkey.hex(リポジトリ外。コミットしない)~/.local/bin/mcp-publisherツールを追加・変更したら server.json の version を上げて再公開します:
cd nogyo-media
~/.local/bin/mcp-publisher validate ~/.local/bin/mcp-publisher login http --domain agri-ja.net --private-key "$(cat ~/.config/mcp-registry/agri-ja-privkey.hex)" ~/.local/bin/mcp-publisher publish curl -s "https://registry.modelcontextprotocol.io/v0.1/servers?search=agri-ja"
動作確認(ローカル):
curl -s -X POST http://localhost:3000/mcp \
-H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
app/ — App Router のページ・レイアウトcomponents/ — ヘッダー・ヒーロー・カード・サイドバーcontent/articles/ — 記事 Markdown(frontmatter + HTML 本文)lib/articles.ts — 記事データ層lib/categories.ts / lib/tags.ts — カテゴリ・読者タグ・テーマタグ正規語彙(THEME_TAG_REGISTRY)記事の tags には 読者タグ(生産者向け / 小売向け / 流通向け / 消費者向け)を 必ず1〜3個 含めてください。テーマタグは docs/theme-tags.md の正規語彙から 0〜3個 付けます。未登録タグや読者タグ個数違反はビルド時にエラーになります。
新規記事のテーマタグ提案: python3 scripts/suggest-theme-tags.py
プライベートプロジェクト用。コンテンツの著作権は各出典に従ってください。