LTS MCP Server

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.

Category
Visit Server

README

LTS MCP Server

Cloudflare Workers TypeScript Tests License: MIT

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 visible
  • project_lts: all verified/public LTS records are visible
  • lts_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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured