← Back to search

io.github.CSOAI-ORG/landlaw-ai-mcp

CSOAI-ORG Scanned 16d ago

Landlaw Ai tools for AI agents. Capabilities: search land registry, check planning permissio...

? Not scanned yet

Versions

1.0.1latest
first seen Jun 5, 2026
1.0.4
first seen May 19, 2026

Tools 6

search_land_registry
annotations: none low

Search UK Land Registry by address, title number, or postcode. Returns ownership details, tenure type, boundaries, restrictions, and price paid information. Note: this returns structured guidance on what the Land Registry holds and how to access it. For official title documents, use HM Land Registry's portal or Find a Property service. Args: address: Property address (e.g. "10 Downing Street, London"). title_number: HM Land Registry title number (e.g. "NGL123456"). postcode: UK postcode to search (e.g. "SW1A 2AA"). Returns: Land Registry information structure and access guidance. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results.

address string api_key str postcode string title_number string
check_planning_permission
annotations: none low

Check planning permission requirements for a property modification. Determines whether a proposed modification falls under permitted development rights or requires full planning permission. Based on the Town and Country Planning (General Permitted Development) (England) Order 2015 (GPDO). Args: modification_type: Type of modification. Options: single_storey_rear_extension, loft_conversion, outbuilding, change_of_use, solar_panels, new_dwelling. property_type: Property type (detached, semi_detached, terraced, flat). Affects PD limits. listed_building: Whether the building is Grade I, II*, or II listed. conservation_area: Whether in a conservation area. aonb: Whether in an Area of Outstanding Natural Beauty. Returns: Planning permission requirements, PD rights, conditions, and application guidance. Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

aonb bool api_key str property_type str listed_building bool conservation_area bool modification_type str
explain_covenant
annotations: none low

Explain a restrictive or positive covenant in plain English. Takes the covenant wording (typically from a title register or deed) and provides a plain-English explanation, enforceability analysis, and practical implications. Args: covenant_text: The full covenant wording from the title register or deed. covenant_type: Optional hint: "restrictive" or "positive". Auto-detected if not provided. Returns: Plain English explanation, enforceability analysis, and practical advice. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results.

api_key str covenant_text str covenant_type string
calculate_sdlt
annotations: none low

Calculate Stamp Duty Land Tax for a UK property purchase. Applies current SDLT rates including first-time buyer relief, additional property surcharge, and non-UK resident surcharge. Args: purchase_price: Purchase price in GBP. first_time_buyer: Whether the buyer qualifies for first-time buyer relief. Must be purchasing a property of GBP 625,000 or less. additional_property: Whether this is an additional property (second home, buy-to-let). Adds 3% surcharge on all bands. non_residential: Whether the property is non-residential or mixed use. non_uk_resident: Whether the buyer is a non-UK resident. Adds 2% surcharge. Returns: SDLT calculation with band-by-band breakdown. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results. Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.

api_key str purchase_price float non_residential bool non_uk_resident bool first_time_buyer bool additional_property bool
draft_section_notice
annotations: none low

Generate a Section 21 or Section 8 notice template. Produces the required content and validates prerequisites. Note: use the prescribed form (Form 6A for s.21, Form 3 for s.8) for the actual notice. This tool generates the required content and checks validity. Args: notice_type: Either "section_21" or "section_8". landlord_name: Full name of landlord (or landlord's agent). tenant_name: Full name of tenant(s). property_address: Full address of the rental property. tenancy_start_date: Tenancy start date (YYYY-MM-DD). grounds: Required for Section 8 only. List of grounds (e.g. ["ground_8", "ground_10"]). arrears_amount: Amount of rent arrears in GBP (if applicable for Section 8). Returns: Notice template with all required fields and validity checks. Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results.

api_key str grounds string notice_type str tenant_name str landlord_name str arrears_amount string property_address str tenancy_start_date str
check_right_of_way
annotations: none low

Analyze a right of way or easement and explain its implications. Takes a description of a right of way or easement (from title register, conveyance, or physical observation) and explains the legal implications, extent, and practical considerations. Args: description: Description of the right of way/easement. Can be legal text from a deed or a plain description (e.g. "footpath across the garden to the rear gate"). right_type: Type of right: "right_of_way", "easement", "prescriptive", "public_footpath". Auto-detected if not provided. registered: Whether the right is noted on the Land Registry title. Returns: Analysis of the right, its extent, enforceability, and practical implications. Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage. When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards. When NOT to use: Not suitable for real-time production decision-making without human review of results.

api_key str registered bool right_type string description str

Permissions 3

network medium
Server uses network capabilities via: urllib
filesystem low
Server uses filesystem capabilities via: os
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 34

low
Tool 'search_land_registry' has no annotations annotation_checker · 100%
low
Tool 'check_planning_permission' has no annotations annotation_checker · 100%
low
Tool 'explain_covenant' has no annotations annotation_checker · 100%
low
Tool 'calculate_sdlt' has no annotations annotation_checker · 100%
low
Tool 'draft_section_notice' has no annotations annotation_checker · 100%
low
Tool 'check_right_of_way' has no annotations annotation_checker · 100%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3483) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: search_land_registry manifest_parser · 90%
info
Tool: check_planning_permission manifest_parser · 90%
info
Tool: explain_covenant manifest_parser · 90%
info
Tool: calculate_sdlt manifest_parser · 90%
info
Tool: draft_section_notice manifest_parser · 90%
info
Tool: check_right_of_way manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%