দরদেখা — বাংলাদেশের বাজারদর について
দরদেখা(Dordekha)は、バングラデシュの公式な農産物市場価格の日報を、日付と単位を整えたデータとして提供します。地域価格を引用付きで必要とするAIアシスタントやアプリ向けで、地区・品目・日付による検索やデータ品質の表示に対応します。
主な機能
- 01公式の農産物価格を毎日掲載
- 02単位を正規化し異常を表示
- 03地区、品目、日付で検索
- 04地区比較と価格推移の表示
- 05日付、単位、引用URLを付与
活用シーン
- 01地区ごとの農産物の最新価格を確認
- 02地区間で農産物価格を比較
- 03品目の過去の価格推移を確認
- 04市場価格に関する主張を検証
MCP 対応
MCPサーバーは、価格検索、地区比較、価格推移、主張の検証を行うget_market_price、compare_districts、get_price_trend、verify_claimツールを提供します。結果にはクリック可能な出典URLが含まれます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://dordekha.pages.dev/mcpclaude mcp add --transport http mdshipon4045-afk-dordekha https://dordekha.pages.dev/mcp{"mcpServers":{"mdshipon4045-afk-dordekha":{"type":"http","url":"https://dordekha.pages.dev/mcp"}}}Cursor で開く{"servers":{"mdshipon4045-afk-dordekha":{"type":"http","url":"https://dordekha.pages.dev/mcp"}}}VS Code で開く{"mcpServers":{"mdshipon4045-afk-dordekha":{"type":"http","url":"https://dordekha.pages.dev/mcp"}}}{"mcpServers":{"mdshipon4045-afk-dordekha":{"serverUrl":"https://dordekha.pages.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
দরদেখা (Dordekha)
バングラデシュ政府の農産物市場価格 — 毎日更新、単位を補正、検証可能、AI ネイティブ。
農業省(農業マーケティング局、DAM)の公式日次市場価格レポートを基に構築され、AI アシスタントが情報を直接取得して引用できるように公開する、予算ゼロで自律運用するマイクロ SaaS です。
内容
| 層 | 内容 |
|---|---|
| ソース | moa-services.com/agri-service — 農業省の公式 JSON API です。キー不要、Cookie 不要、CSRF 不要です。64 地区 · 447 品目のカタログ(データがあるのは256品目) · 小売+卸売 · 履歴は毎日1日分ずつ増えます |
| 補正 | 単位の正規化(上流の「クインタル」は実際には100 kg)、欠損データの誠実な扱い、古い値の特定、範囲外の平均値の補正と特定 |
| 公開 | サーバーサイドレンダリングのベンガル語 HTML · text/markdown · application/json · 各データに正規パーマリンク · JSON-LD Dataset |
| AI インターフェース | MCP サーバー(ステートレス、仕様 2026-07-28) — 各結果に url が含まれるため、アシスタントはクリック可能な出典を表示できます |
| 運用 | Cloudflare Workers + D1 + KV — すべて無料枠で運用でき、ユーザーの手作業は不要です |
ディレクトリ
src/
index.ts HTTP router: pages, API, MCP, robots, llms.txt, sitemap, openapi
moa.ts upstream client (keyless, retried, 64-district iteration)
units.ts unit normalisation — measured factors + plausibility repair
normalize.ts Bangla numerals, carry-forward detection, anomaly flags
quality.ts what may be published: clamping, range repair, is_midpoint
db.ts D1 access layer — every read falls back to the KV cache
cache.ts KV snapshot, aggregates, master data, history
ingest.ts self-chaining cron job (10 ms CPU budget on the free plan)
resolve.ts a name or a sentence → the right commodity or district
bn.ts Bangla normalisation (nukta, virama, aliases)
render.ts one set of facts → html / markdown / json
docs.ts one content model → html / markdown / json
mcp.ts MCP server: server/discover, tools/list, tools/call
slug.ts Bangla → ASCII transliteration
migrations/ D1 schema
test/ unit tests (75)
tools/ snapshot builder, verification harnesses, live probes
docs/ dataset, methodology, licence letter, audit prompts
実行
npm install
npm test # 25 unit tests
npx tsc --noEmit # typecheck
npx wrangler d1 migrations apply dordekha --local
npx wrangler dev --local --port 8787 \
--var "SITE_ORIGIN:http://localhost:8787" \
--var "SOURCE_NAME:কৃষি মন্ত্রণালয় / কৃষি বিপণন অধিদপ্তর (DAM)" \
--var "SOURCE_API:https://moa-services.com/agri-service"
次に:
POST /internal/master/refresh → মাস্টার ডেটা
POST /internal/ingest/start → ইনজেস্ট শুরু (নিজে নিজে চেইন করে)
GET /health → "আজ ডেটা ঢুকেছে কি না"
API
GET /api/v1/latest?district=47 (জেলা আইডি বা নাম — নাম দিলেও চলে)
GET /api/v1/price?commodity=পেঁয়াজ&district=পাবনা
GET /api/v1/price?commodity=833&district=47&date=2026-10-19
GET /api/v1/search?q=পেঁয়াজ ঢাকা
GET /api/v1/answer?q=পেঁয়াজ ঢাকা (উত্তর + উদ্ধৃতি, একটি অবজেক্টে)
GET /api/v1/series.csv?commodity=602&district=47
GET /api/v1/districts
GET /api/v1/commodities
GET /api/v1/units (ইউনিট কোডের লেজেন্ড)
すべての応答には price_date、unit_bn、is_midpoint と、各行固有の引用可能な url が含まれます。OpenAPI 仕様:/openapi.json
MCP
opencode mcp add dordekha --url https://dordekha.pages.dev/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_market_price",
"arguments":{"commodity":"পেঁয়াজ","district":"পাবনা"}}}
ツール:get_market_price · compare_districts · get_price_trend · verify_claim
MCP Registry に公開済み — io.github.mdshipon4045-afk/dordekha(v1.0.0、ステータス active):
{"mcpServers":{"dordekha":{"type":"http","url":"https://dordekha.pages.dev/mcp"}}}
検索:https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.mdshipon4045-afk/dordekha
Registry への公開手順:docs/PUBLISH-MCP.md
誠実性の原則
- 各数値には、出典、日付、単位の係数が保存されます。
- ソースにデータがない場合、数値を作り出しません。
- 単位を補正した場合は、その旨を明記します。
- 推測や補間は行いません。
- ソースの3番目の数値は「(最小値+最大値)/2」です。これは平均値ではないため、「中間値」と呼び、各行に
is_midpointを付けます。 - 数値に関する主張を手作業で記述せず、レンダリング時にデータから算出します。
詳細:docs/DATASET.md · 方法論:/methodology ページ
📚 ドキュメント
| ファイル | 内容 |
|---|---|
PLAN.md | 決定事項、計画、フェーズ、人手による作業の一覧 |
docs/FAILURE-MODES.md | 障害レジスター+現在の状態 — コードから始める場合は、まずここをご覧ください |
docs/MASTER-PROMPT.md | プロジェクト全体の運営をトップレベルの AI に任せるためのプロンプト |
docs/DEEP-REVIEW-PROMPT.md | コード、ビジネス、法務に関する詳細レビュー用プロンプト |
docs/AUDIT-PROMPTS.md | 4つの監査プロンプト(10月21日に実施) |
docs/DATASET.md | データセットの範囲と方法論 |
docs/licence-letter-DAM.md | DAM/ディシムのライセンス申請書の草案 |
docs/OUTREACH-KIT.md | B2B アウトリーチ:見込み顧客、メールテンプレート、Facebook 投稿 |
docs/PUBLISH-MCP.md | MCP Registry への公開手順 |
検証
npx vitest run # 75 unit tests
$env:BASE="https://dordekha.pages.dev"; node tools/e2e.mjs # 60 live checks
node tools/verify-audit.mjs # 32 audit claims
node tools/peek.mjs # 12 render checks
node tools/product-test.mjs # question → citation → same number
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。