lupaph-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lupaph-mcpFind farm lots under ₱1M in Batangas"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LupaPH MCP Server
Philippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.
Tools
Tool | What it does |
| Search verified PH property listings by province, type, price |
| Full details of a specific listing |
| Overview of available listings in a province |
| Full title transfer cost breakdown (CGT, DST, transfer tax, registration) |
| Accurate PH real estate legal rules (ownership, CARP, SPA, title verification) |
| Search lupaph.com buying guides and articles |
Related MCP server: Repliers MCP Server
Install
The LupaPH MCP works with any MCP-compatible AI assistant. The config JSON is identical for all clients:
{
"mcpServers": {
"lupaph": {
"command": "npx",
"args": ["-y", "lupaph-mcp"]
}
}
}Claude Desktop
Config file location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
claude mcp add lupaph -- npx -y lupaph-mcpCursor
Add to .cursor/mcp.json in your project or home directory.
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json.
Cline (VS Code)
Open Cline → MCP Servers → Add Server → paste the config JSON.
Continue
Add to .continue/config.json under mcpServers.
Zed
Add to ~/.config/zed/settings.json under context_servers.
Manual install
npm install -g lupaph-mcp
lupaph-mcpExample prompts
Find farm lots under ₱1,000,000 in BatangasCalculate transfer costs for a ₱3,500,000 property in a provinceWhat are the CARP rules for buying agricultural land in the Philippines?Can an OFW buy land in the Philippines without going home?Show me beach properties available in PalawanWhat documents do I need to verify a land title in the Philippines?Legal topics available
ownership_rights— Who can own land (OFWs, dual citizens, foreigners)title_verification— TCT vs Tax Declaration, Registry of Deeds, encumbrancestransfer_costs— CGT, DST, transfer tax breakdowncarp_agricultural— CARP rules, DAR clearance, tenant rights, conversionspa_remote_buying— Special Power of Attorney, apostille, consularisationfinancing— Pag-IBIG, bank loans, developer financingdeceased_owner— Estate settlement, extrajudicial settlementbrokers_lawyers— When you need each, how to verify a PRC licence
Data source
All listing data is live from lupaph.com — verified lots, farm land, beach properties, and bank foreclosures across all 83 Philippine provinces.
License
MIT
Available Tools
6 toolscalculate_transfer_costA
Calculate the full Philippine land title transfer costs (CGT, DST, transfer tax, registration fee, notarial fee) for a given property price.
| Name | Required | Description | Default |
|---|---|---|---|
| zonal_value | No | BIR zonal value in PHP (if known — defaults to selling price) | |
| location_type | No | Province = 0.5% transfer tax, City = 0.75% | province |
| selling_price | Yes | Agreed selling price in PHP |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states the tool calculates costs, implying a read-only, non-destructive operation. However, it does not disclose any behavioral traits such as whether it modifies data, rate limits, or authentication needs. The description is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence that is concise, front-loaded with the purpose, and contains no unnecessary words. It efficiently communicates the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description does not explain the return format or any edge cases (e.g., handling of missing zonal_value, zero price). Given the tool calculates multiple fees, the lack of output details is a significant gap. The description should be more complete to compensate for the missing output schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds value by listing the cost components but does not provide additional detail beyond what the schema descriptions offer. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates full Philippine land title transfer costs, listing specific cost components (CGT, DST, transfer tax, registration fee, notarial fee) for a given property price. It effectively distinguishes from sibling tools that provide legal info or listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when wanting to compute transfer costs for a property, but does not explicitly state when to use it over alternatives, nor does it provide prerequisites or exclusions. Sibling tools are different enough that the purpose is clear, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_legal_infoA
Get accurate Philippine real estate legal information — ownership rules, title verification, CARP, SPA requirements, transfer costs, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Legal topic to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It states 'accurate' information but does not disclose whether it's read-only, requires authentication, or any potential rate limits. Minimal behavioral context beyond purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is clear and front-loaded with the core purpose. Could be more structured (e.g., bullet points) but efficient for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one enum parameter and no output schema, the description adequately covers the scope of topics. It does not describe the return format, but that is reasonable given the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described enum parameter. The description lists example topics but does not add meaning beyond the schema's own descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'accurate Philippine real estate legal information' and lists specific topics that align directly with the enum values. It distinguishes itself from sibling tools like calculate_transfer_cost and search_listings by focusing on legal information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Usage is implied by the topic list, but no 'when not to use' or comparisons to siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listingA
Get full details of a specific Philippine property listing by its slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Listing slug from search results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'Get full details' without specifying what is included, return format, or any behavioral constraints like rate limits or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words, front-loaded with clear action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description is mostly complete for a simple fetch operation. However, it could improve by noting what 'full details' entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter (slug) with description 'Listing slug from search results'. The tool description adds context (specific Philippine property listing, by slug) but does not significantly enhance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), resource (full details of a specific Philippine property listing), and method (by slug). It distinguishes from sibling tools like search_listings and get_province_listings_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a slug from search results but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_province_listings_summaryA
Get a summary of available listings and property types for a Philippine province.
| Name | Required | Description | Default |
|---|---|---|---|
| province | Yes | Province slug, e.g. "cavite", "laguna", "cebu" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must cover behavior. It indicates a read-like operation (summary), but does not disclose aggregation details, pagination, or performance. Adequate but basic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words. It is appropriately front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one param, no output schema), the description adequately conveys what it returns (summary of listings and property types) and the geographical scope. Missing details on exact return structure or pagination, but not critical for this function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'province', including an example of acceptable values. The tool description itself adds no additional parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a summary of listings and property types for a Philippine province, using a specific verb ('Get') and resource. It distinguishes from siblings like 'search_listings' which implies detailed search rather than summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'search_listings' or 'get_listing'. The description lacks context on whether this is for overviews or specific detail retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_guidesB
Search lupaph.com real estate guides and articles about buying land in the Philippines.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | No | Article category, e.g. "buying-guide", "ofw-guide", "legal-guide" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says the tool searches guides, but does not mention pagination, sorting, default behavior for missing category, or response structure. The default limit of 5 is not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded and efficient, though it does not elaborate on usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and minimal parameter info, the description should provide hints about the return format or result structure. It does not, leaving the agent uncertain about what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (category has description, limit does not). The tool description does not add any parameter meaning beyond the schema. The limit parameter's purpose and constraints are not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'real estate guides and articles about buying land in the Philippines', which distinguishes it from sibling tools like search_listings (which searches properties) and get_legal_info (which likely provides legal info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when searching for guides/articles), but it does not explicitly state when not to use or mention alternative tools. The context is clear but lacks exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsB
Search verified Philippine real estate listings on lupaph.com by province, type, price, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | newest | |
| type | No | Property type | |
| limit | No | Number of results (max 20) | |
| search | No | Full-text search query | |
| province | No | Province slug, e.g. "cavite", "batangas", "cebu", "davao-del-sur" | |
| max_price | No | Maximum price in PHP | |
| min_price | No | Minimum price in PHP | |
| is_foreclosure | No | Filter bank foreclosure properties only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the tool searches and lists filters but does not disclose read-only behavior, authentication requirements, rate limits, or side effects. The schema provides defaults and max results but the description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 12-word sentence that front-loads the action. While very concise, it omits details that could be added without much verbosity. No wasted words, but could be slightly expanded for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 8 parameters and no output schema, the description only mentions a few filter options and fails to describe the return format, pagination, or default behavior. The schema covers parameter details, but the description lacks sufficient context about the tool's overall function and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 88%, so most parameters have descriptions. The description loosely lists 'province, type, price, and more' but adds no new meaning beyond what the schema already provides. Baseline of 3 is appropriate as the description does not significantly enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches listings by province, type, price, and more, specifying the resource (verified Philippine real estate listings on lupaph.com). It distinguishes from sibling tools like calculate_transfer_cost, get_legal_info, and search_guides which have different scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_listing for a single listing or get_province_listings_summary for aggregated data. The description does not mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
calculate_transfer_cost - First observed
get_legal_info - First observed
get_listing - First observed
get_province_listings_summary - First observed
search_guides - First observed
search_listings
TDQS
Each tool has a clearly distinct purpose: cost calculation, legal info, listing details, province summary, guides search, and listings search. No ambiguity between them.
All tool names follow a consistent 'verb_noun' pattern with underscores, such as calculate_transfer_cost, get_legal_info, and search_listings.
With 6 tools, the server is well-scoped for a Philippine real estate information service, covering key operations without being excessive or insufficient.
The tool set covers core functionalities: cost calculation, legal queries, listing details, province summaries, guides, and search. Minor gaps like user account tools or market comparisons are beyond the server's informational focus.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native real estate discovery with structured property search and market intelligence.
- mcpOAuthai.parceled
Real estate data for AI agents: US parcel boundaries (tiles), owners, sale history, permits, hail.
UK area & property intelligence for AI agents: reports, EPC, comparables, with source provenance.
AI virtual staging for real estate — stage rooms, beautify floor plans, classify images.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides 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.8MIT

Repliers MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceProvides AI assistants access to real-time MLS data via the Repliers API, enabling natural language property search, market statistics, and listing details.15217MIT
Fabrica MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceGives AI agents access to tokenized real property data on the Fabrica protocol, enabling property search, lending market analysis, and portfolio exploration.MIT- FlicenseAqualityCmaintenanceVerified Singapore property, tax, affordability, salary, and location data for AI agents. 17 MCP tools, x402 micropayments, source provenance on every response. Singapore live now, more markets coming. Categories: Finance, Real Estate, Data, Singapore, x402, Payments, Government Data171-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/janmalmstrom/lupaph-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server