Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Japanese agriculture policy, subsidies and rice advance payments. 日本の農業政策・補助金・米の概算金
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://agri-ja.net/mcpターミナルでこれを実行します
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"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"agri-ja": {
"type": "http",
"url": "https://agri-ja.net/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://agri-ja.net/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン agri-ja.net で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, SSTracker free youth training
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Free youth sports drills, practice plans and age-group answers for parents and coaches.
作者のリポジトリから書かれたとおりにコピーしたものです。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
プライベートプロジェクト用。コンテンツの著作権は各出典に従ってください。