Back to Browse

Dordekha MCP Server

Developer ToolsModerate5.4MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Official daily Bangladesh agricultural market prices — unit-normalised, dated, citable.

About

Official daily Bangladesh agricultural market prices — unit-normalised, dated, citable.

Remote endpoints: streamable-http: https://dordekha.pages.dev/mcp

Security Report

5.4
Moderate5.4Moderate Risk

দরদেখা is a Cloudflare Worker MCP server exposing read-only Bangladesh agricultural price data from an official government JSON API, with keyless upstream access and no hardcoded secrets in the reviewed code. Reviewed code shows only read-only tools with no shell execution, eval, or data exfiltration; the main caveats are that the server is unauthenticated by design (public data), the index.ts file was truncated so its full review is incomplete, and the package.json lists imapflow and nodemailer which are unused in the reviewed code and warrant a dependency justification. Supply chain analysis found 7 known vulnerabilities in dependencies (1 critical, 2 high severity).

6 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

database

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

দরদেখা (Dordekha)

বাংলাদেশের সরকারি কৃষি বাজারদর — প্রতিদিন, ইউনিট-সংশোধিত, যাচাইযোগ্য, AI-নেটিভ।

একটি zero-budget, self-operating micro-SaaS যেটা কৃষি মন্ত্রণালয়ের (কৃষি বিপণন অধিদপ্তর, DAM) অফিসিয়াল দৈনিক বাজারদর রিপোর্ট থেকে তৈরি হয়, এবং AI সহকারীদের জন্য এমনভাবে প্রকাশ করে যাতে তারা সরাসরি আমাদের থেকে তথ্য নিতে ও উদ্ধৃতি দিতে পারে।


কী আছে

স্তরকী
উৎসmoa-services.com/agri-service — কৃষি মন্ত্রণালয়ের অফিসিয়াল JSON API। keyless, no cookie, no CSRF। ৬৪ জেলা · ৪৪৭ পণ্যের ক্যাটালগ (যার তথ্য আছে ২৫৬) · খুচরা + পাইকারি · ইতিহাস প্রতিদিন ১ দিন করে বাড়ে
সংশোধনইউনিট নরমালাইজেশন (upstream "কুইন্টাল" আসলে ১০০ কেজি), গ্যাপ-সততা, পুরোনো মান চিহ্নিতকরণ, ব্যাপ্তির বাইরের গড় সংশোধন ও চিহ্নিতকরণ
প্রকাশserver-rendered বাংলা HTML · text/markdown · application/json · প্রতি তথ্যের canonical permalink · JSON-LD Dataset
AI ইন্টারফেসMCP server (stateless, spec 2026-07-28) — প্রতিটি ফলাফলে url, তাই অ্যাসিস্ট্যান্ট ক্লিকযোগ্য উৎস দেখায়
অপারেশনCloudflare Workers + D1 + KV — পুরোটা free tier-এ, ইউজারের হাত দিতে হয় না

ডিরেক্টরি

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, status 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


সততার নীতি

  1. প্রতিটি সংখ্যার সাথে উৎস, তারিখ ও ইউনিট-গুণক সংরক্ষিত থাকে।
  2. যেখানে উৎসে তথ্য নেই, সেখানে কোনো সংখ্যা তৈরি করা হয় না।
  3. যেখানে ইউনিট সংশোধন করতে হয়েছে, সেটি স্পষ্ট লেখা থাকে।
  4. কোনো অনুমান বা ইন্টারপোলেশন করা হয় না।
  5. উৎসের তৃতীয় সংখ্যা "(ন্যূনতম+সর্বোচ্চ)/2" — এটি গড় নয়, তাই "মধ্যম-পরিমাণ" বলা হয় এবং প্রতিটি সারিতে is_midpoint থাকে।
  6. কোনো সংখ্যার দাবি হাতে-কলমে লেখা থাকে না — রেন্ডারের সময় ডেটা থেকে গোনা হয়।

বিস্তারিত: docs/DATASET.md · পদ্ধতি: /methodology পাতা


📚 ডকুমেন্ট

ফাইলকী
PLAN.mdসিদ্ধান্ত, পরিকল্পনা, ফেজ, মানবিক কাজের তালিকা
docs/FAILURE-MODES.mdফেইলার রেজিস্টার + বর্তমান অবস্থা — কোড থেকে শুরু করলে এখানেই যান
docs/MASTER-PROMPT.mdএকটি শীর্ষস্তর AI-কে পুরো প্রজেক্ট চালানোর দায়িত্ব দেওয়ার প্রম্পট
docs/DEEP-REVIEW-PROMPT.mdগভীর কোড + ব্যবসা + আইনি পর্যালোচনার প্রম্পট
docs/AUDIT-PROMPTS.mdচারটি অডিট প্রম্পট (২১ অক্টোবরে চালানো হয়েছে)
docs/DATASET.mdডেটাসেটের পরিধি ও পদ্ধতি
docs/licence-letter-DAM.mdDAM/ডিসিম লাইসেন্স চিঠির খসড়া
docs/OUTREACH-KIT.mdB2B আউটরেচ: প্রোসপেক্ট, ইমেইল টেমপ্লেট, ফেসবুক পোস্ট
docs/PUBLISH-MCP.mdMCP 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

Reviews

No reviews yet

Be the first to review this server!