Skip to main content
Glama
sanookjung

datawarehouse-dbd-mcp

by sanookjung

datawarehouse-dbd-mcp

MCP server สำหรับ datawarehouse.dbd.go.th ของกรมพัฒนาธุรกิจการค้า (DBD) — ค้นหาและดึงข้อมูลนิติบุคคลไทย, นิติบุคคลต่างประเทศ, งบการเงิน, รายชื่อกรรมการ, ผู้ถือหุ้น, สถิติการจดทะเบียน ฯลฯ เป็น tool ผ่าน Model Context Protocol.

An MCP server that wraps the public Thai Department of Business Development data-warehouse API as a clean set of tools. Documentation is primarily in Thai; code comments are in English.

คุณสมบัติ / Features

  • 🔎 ค้นหานิติบุคคล ตามชื่อหรือเลขทะเบียน 13 หลัก

  • 🏢 ดึงข้อมูลพื้นฐาน เช่น สถานะ, ที่ตั้ง, ทุนจดทะเบียน, ทรัพย์สิน, กำไรสุทธิ

  • 👥 กรรมการ, ผู้ลงนาม, ผู้ถือหุ้น/หุ้นส่วน

  • 📜 ประวัติการเปลี่ยนชื่อ, ทุนจดทะเบียน, การควบรวม/แปรสภาพ

  • 💰 งบการเงิน (basic/charts/submit history)

  • 🌏 นิติบุคคลต่างประเทศ ที่ได้รับใบอนุญาตในไทย

  • 📊 สถิติการจดทะเบียน, การจัดอันดับ, รายงานรายพื้นที่

  • 🏷️ TSIC (Thai Standard Industrial Classification) lookup

  • 🤝 Supply chain / partner network จาก /partner endpoints

  • 📈 Industry benchmarks ค่าเฉลี่ย/มัธยฐานรายอุตสาหกรรม

Related MCP server: Enterprise Operation Insight MCP Server

สถาปัตยกรรม / Architecture

DBD ใช้ Incapsula WAF + ส่งคำตอบเป็นซองเข้ารหัส AES-GCM. โครงสร้างของ MCP server นี้ออกแบบให้เป็น wrapper REST API ที่บางและเรียบง่าย:

src/
├── index.ts        เริ่ม MCP server (stdio transport)
├── session.ts      bootstrap session ครั้งเดียวด้วย Playwright headless
│                   ดึง Incapsula cookies + JWT แล้วใช้ Bun fetch ทำ request ต่อ
├── crypto.ts       ถอดรหัสซอง AES-GCM + HKDF-SHA256 + zlib inflate
├── tools.ts        นิยาม MCP tools พร้อมคำอธิบายภาษาไทย/อังกฤษ
└── api/
    ├── company.ts     /v1/company-profiles/* (search, directors, partners, …)
    ├── financial.ts   /v1/fin/* (งบการเงิน)
    ├── foreign.ts     /v1/foreign/* (นิติบุคคลต่างประเทศ)
    ├── biztype.ts     /v1/biztype/* (TSIC)
    ├── investment.ts  /v1/investment/* (การลงทุนต่างชาติ)
    ├── area.ts        /v1/area/* (รายพื้นที่)
    ├── stats.ts       /v1/stats/* (สถิติ)
    ├── bizpartner.ts  /v1/partner/* (supply chain)
    ├── bizopp.ts      /v1/bizopp/* (industry benchmarks)
    └── util.ts        ฟังก์ชันช่วย (split juristic ID เป็น 2 ส่วน)

Playwright ใช้แค่ตอน bootstrap session (ครั้งแรก) เพื่อผ่าน WAF challenge. หลังจากนั้นทุก request ไปยัง /api/* ใช้ Bun fetch ตรง — เร็ว, เบา.

การติดตั้ง / Installation

ต้องการ Bun v1.3+ และจะติดตั้ง Chromium ให้อัตโนมัติ สำหรับใช้ bootstrap session.

bun install
# postinstall จะรัน playwright install chromium ให้

ถ้าจำเป็นติดตั้ง Chromium ด้วยตนเอง:

bunx playwright install chromium

การใช้งาน / Usage

รันแบบ stdio

bun src/index.ts

ตั้งค่าใน Claude Desktop

แก้ไข ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "dbd": {
      "command": "bun",
      "args": ["/absolute/path/to/datawarehouse-dbd-mcp/src/index.ts"]
    }
  }
}

ตั้งค่าใน Claude Code

claude mcp add dbd -- bun /absolute/path/to/datawarehouse-dbd-mcp/src/index.ts

รายการ Tool ทั้งหมด / Tool reference

Tool

คำอธิบาย

search_juristic

ค้นหานิติบุคคลไทยจากชื่อ/เลข 13 หลัก

get_juristic_profile

ข้อมูลพื้นฐาน (สถานะ, ที่ตั้ง, ทุน, กำไร, ฯลฯ)

get_juristic_directors

รายชื่อกรรมการ

get_juristic_signatories

ผู้มีอำนาจลงนาม

get_juristic_objectives

วัตถุประสงค์การประกอบกิจการ

get_juristic_partners

ผู้ถือหุ้น / หุ้นส่วน

get_juristic_capital_history

ประวัติเปลี่ยนทุนจดทะเบียน

get_juristic_name_history

ประวัติเปลี่ยนชื่อ

get_juristic_mergers

การควบรวม / แปรสภาพ

get_juristic_liquidators

ผู้ชำระบัญชี

get_juristic_nationalities

สัดส่วนสัญชาติผู้ถือหุ้น

get_financial_basics

งบการเงินรายการสำคัญ (ระบุ fiscalYear ปี ค.ศ. เพื่อเจาะจง)

get_financial_submit_history

ประวัติการนำส่งงบการเงิน

get_financial_charts

ข้อมูลกราฟแสดงผลทางการเงิน

search_foreign_juristic

ค้นหานิติบุคคลต่างประเทศ

get_foreign_profile

ข้อมูลพื้นฐานนิติบุคคลต่างประเทศ

get_foreign_business_types

ประเภทธุรกิจที่ได้รับใบอนุญาต

get_foreign_directors

กรรมการนิติบุคคลต่างประเทศ

list_biztypes

รายการ TSIC ทั้งหมด

get_biztype

รายละเอียดประเภทธุรกิจ (TSIC) ตามรหัส

get_biztype_overview

overview ของประเภทธุรกิจ

get_area_summary

สรุปนิติบุคคลรายพื้นที่

get_register_stat

สถิติการจดทะเบียน

get_juristic_ranking

การจัดอันดับนิติบุคคล

get_industry_fin_benchmark

ค่าเฉลี่ย/มัธยฐานรายการการเงินรายอุตสาหกรรม

get_industry_fin_ratios

ค่าเฉลี่ย/มัธยฐานอัตราส่วนการเงินรายอุตสาหกรรม

get_supply_chain

เครือข่ายคู่ค้า (supply chain)

ตัวอย่าง / Examples

// ค้นหา "ปตท"
{
  "name": "search_juristic",
  "arguments": { "keyword": "ปตท" }
}

// ดึงข้อมูลพื้นฐาน PTT (เลขทะเบียน 0107544000108)
{
  "name": "get_juristic_profile",
  "arguments": { "juristicId": "0107544000108" }
}

// ดึงประวัติทุนจดทะเบียน
{
  "name": "get_juristic_capital_history",
  "arguments": { "juristicId": "0107544000108" }
}

ข้อจำกัด / Limitations

  • Tier anonymous: server นี้ใช้ token แบบ ROLE_ANONYMOUS ที่ DBD เปิดให้ สาธารณะ. บาง endpoint จะคืนผลลัพธ์ว่าง ([] หรือ field เป็น null) สำหรับ ผู้ใช้ที่ไม่ได้ล็อกอิน. ข้อมูลภาพรวม/ค้นหา/งบการเงินรายการสำคัญยังใช้ได้

  • Incapsula challenge: เปิด session ใหม่จะใช้เวลา 3–5 วินาที (โหลด Chromium ผ่าน WAF). หลังจาก warm-up แล้ว request ต่อ ๆ ไปเป็น HTTP fetch ปกติ; JWT จะรีเฟรชอัตโนมัติก่อนหมดอายุ

  • Response encryption: response บาง endpoint เข้ารหัสเป็น envelope {kid,salt,iv,ct} AES-GCM + HKDF-SHA256, ถอดรหัสฝั่ง client (crypto.ts)

  • ไม่ใช่ API ทางการ: เป็นการ wrap endpoint ภายในของหน้าเว็บ. ถ้า DBD เปลี่ยนโครงสร้าง เซิร์ฟเวอร์นี้อาจต้องปรับตาม

License

MIT. โครงการนี้ไม่ได้รับการสนับสนุนหรือร่วมมือกับกรมพัฒนาธุรกิจการค้าโดยตรง — เป็นเครื่องมือ open-source ที่ช่วยให้นักพัฒนาเข้าถึงข้อมูลสาธารณะของ DBD ได้ง่ายขึ้น

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    Enables querying Chinese enterprise business data including company profiles, shareholder information, investments, branch offices, and key personnel through fuzzy search and detailed lookups.
    4
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive data insights into enterprise operations, including company trends, financing history, market rankings, and sentiment analysis. It enables users to perform keyword-based searches and evaluate business scale, tax qualifications, and competitive project profiles.
    3
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to the Finnish company registry (PRH/YTJ) to search for businesses and retrieve detailed information using Business IDs. It enables users to perform industry-specific searches and track recent company registrations through official government open data.
    12
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Search companies, officers, and filing history across 140+ jurisdictions worldwide using the OpenCorporates API.
    5
    25
    MIT