LTS MCP Server
Provides Philippine License to Sell (LTS) verification data from official DHSUD records to LLMs. It enables users to search real estate projects, verify license validity, and check developer compliance through natural language queries.
README
LTS MCP Server
A Model Context Protocol server that provides Philippine License to Sell (LTS) verification data to LLMs. Built on Cloudflare Workers with Supabase.
Public, read-only, no authentication required. Data sourced from the Department of Human Settlements and Urban Development (DHSUD) License to Sell registry and cross-referenced with published real estate projects on REN.PH.
Why This Exists
Philippine real estate developers are required by law to obtain a License to Sell (LTS) from DHSUD before marketing or selling condominium units, subdivision lots, and other real estate projects. Buyers can check whether a project has a valid LTS, but the official verification process involves navigating government websites and manually looking up records.
This MCP server makes that data queryable by any LLM. Ask your AI assistant "Does [project name] have a valid License to Sell?" and get an answer backed by DHSUD records.
Tools
| Tool | Description |
|---|---|
lts_search |
Search across DHSUD records and published projects by name, LTS number, developer, or city |
lts_queue |
Browse the DHSUD verification queue with filters (status, region, expiry, score) |
lts_project |
Get the complete LTS picture for a project (by UUID or name) |
lts_stats |
System-wide statistics: queue pipeline health and project LTS counts |
lts_check |
Check if a specific LTS number exists in the system |
lts_filters |
Get available regions and cities for filtering |
Tool Details
lts_search is the universal entry point. It searches both the DHSUD verification queue (scraped records) and the REN.PH projects database simultaneously. Use this when you have a project name, developer name, LTS number, or city and want to find everything related.
lts_queue gives access to the raw DHSUD scrape data. Each record represents an LTS entry from DHSUD's registry, with match status indicating whether it has been linked to a project in the REN.PH database. Supports filtering by match status, region, minimum match score, text search, and expiring-soon windows.
lts_project returns the full LTS picture for a single project: all LTS records with computed fields (is_expired, days_until_expiry), a summary with counts (verified, expired, expiring soon), and the primary LTS number. Accepts either a project UUID or a project name for fuzzy lookup.
lts_stats returns two sections: queue stats from the verification pipeline (total records, pending, auto-matched, manual-matched, no-match, expired, expiring soon) and project LTS stats (total records, verified, expired, expiring within 30 days, projects with active LTS).
lts_check verifies whether a specific LTS number exists. Returns whether it was found in the DHSUD queue, in the verified project LTS table, or both, along with the full record details.
lts_filters returns distinct regions and cities available in the verification queue. Use this before calling lts_queue with region or city filters to get valid values. Optionally pass a region to get only cities within that region.
Response Format
All data responses are wrapped in a standard metadata envelope:
{
"_meta": {
"source": "Department of Human Settlements and Urban Development (DHSUD)",
"source_url": "https://dhsud.gov.ph/",
"dataset": "License to Sell (LTS) Registry",
"last_synced": "2026-03-04"
},
"data": { ... }
}
Error responses (isError: true) are returned as plain text without wrapping.
Paginated Responses
Tools that return lists (lts_search, lts_queue) use a standard pagination wrapper:
| Field | Type | Description |
|---|---|---|
items |
array |
The result records |
total |
number |
Total matching records |
limit |
number |
Page size used |
offset |
number |
Current offset |
hasMore |
boolean |
Whether more results exist |
LTS Status Values
| Status | Meaning |
|---|---|
verified |
LTS confirmed valid by verification process |
unverified |
LTS exists but not yet verified |
expired |
LTS past its expiry date |
none |
Project has no LTS on record |
Match Status Values (Queue)
| Status | Meaning |
|---|---|
pending |
DHSUD record awaiting review |
auto_matched |
Automatically linked to a project |
manual_matched |
Manually linked by a reviewer |
no_match |
No matching project found |
skipped |
Skipped during review |
new_project |
Record suggests a new project not yet in the database |
Connect
Add to your MCP client configuration:
{
"mcpServers": {
"lts": {
"url": "https://lts.godmode.ph/mcp"
}
}
}
Quick test
curl -X POST https://lts.godmode.ph/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lts_check",
"arguments": { "ltsNumber": "HLURB-LTS-0001-2024" }
}
}'
Data Sources
| Source | Description |
|---|---|
| DHSUD LTS Registry | Scraped License to Sell records: LTS numbers, project names, developers, cities, issue/expiry dates |
| REN.PH | Published real estate project database with verified LTS linkages |
The DHSUD verification queue contains scraped records from DHSUD's public registry. These records are matched against REN.PH's project database using a combination of exact LTS number matching, project name matching, and fuzzy scoring. Verified matches are stored in the project_lts table with full provenance.
Last synced: March 4, 2026.
Security
This is a public, read-only endpoint. The Supabase connection uses an anon key (not a service role key), and all data access is enforced through Row Level Security (RLS) policies:
projects: only published projects are visibleproject_lts: all verified/public LTS records are visiblelts_verification_queue: all DHSUD public data is visible
Even if the Worker is compromised, the attacker can only read what RLS allows. No write operations are exposed.
What is a License to Sell?
Under Philippine law (PD 957 and BP 220), real estate developers must secure a License to Sell (LTS) from DHSUD before offering any subdivision lot, condominium unit, or similar real estate project for sale to the public. The LTS confirms that the project has been reviewed for compliance with zoning, land use, environmental, and development standards.
Buying from a project without a valid LTS is one of the most common risks in Philippine real estate. This MCP server makes that verification accessible to AI assistants, chatbots, and any MCP-compatible application.
Related Projects
Part of a suite of Philippine public data MCP servers:
- PSGC MCP - Philippine Standard Geographic Code data
- LTS MCP (this repo) - DHSUD License to Sell verification
- PH Holidays MCP - Coming soon
- BSP Bank Directory MCP - Coming soon
All servers are free, public, and read-only. Data pulled from official Philippine government sources.
Development
npm install
npm run cf-typegen
npm run dev
cf-typegen generates worker-configuration.d.ts (gitignored) with Cloudflare runtime types. Run it once after cloning and again after changing wrangler.jsonc.
Dev server starts at http://localhost:8787. Connect your MCP client to http://localhost:8787/mcp.
Testing
npm test # run all tests
npm run test:watch # watch mode
88 tests across 4 suites covering sanitization (PostgREST filter injection), utility functions, response formatting, and query logic with mock Supabase clients.
Deployment
Before first deploy, set the Supabase secrets:
npx wrangler secret put SUPABASE_URL
npx wrangler secret put SUPABASE_ANON_KEY
Then deploy:
npm run deploy
Type Generation
After changing wrangler.jsonc:
npm run cf-typegen
Contributing and Issues
Found a data discrepancy or a project with incorrect LTS status? Open an issue. DHSUD data is scraped periodically and matched against the REN.PH database. Mismatches, missing records, and edge cases in the matching pipeline are tracked through issues.
If data looks stale, open an issue and it will be refreshed ahead of the next scheduled sync.
Built by
Aaron Zara - Fractional CTO at Godmode Digital
Built REN.PH, a programmatic real estate platform with 60,000+ structured pages covering every Philippine province, city, and barangay. The LTS MCP came out of needing to make DHSUD license verification accessible to AI agents, because buyers deserve to know if a project is licensed before they sign anything.
For enterprise SLAs, custom integrations, or other PH data sources: godmode.ph
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。