io.github.resuly/daleads-mcp
The DA Leads MCP server provides tools to query Australian development applications (DAs) and access address-level property intelligence through the DA Leads API.
Search DAs: Filter development applications by state, council, category, suburb, postcode, date range, status, and residential/commercial type, with pagination.
Get DA details: Retrieve full details of a specific DA by its ID.
Find nearby DAs: Discover DAs within a specified radius of a given latitude/longitude.
List categories: Browse trade categories with their record counts.
List councils: View councils with coverage statistics, DA counts, and last activity dates.
Get dataset statistics: Obtain overall counts, date ranges, and breakdowns by state and category.
Run SQL queries (Pro plan): Execute read-only SELECT statements on the DA dataset for custom aggregations (limited to 1000 rows, 10-second timeout).
Property intelligence: Get a comprehensive address-level profile covering planning zones, overlays, heritage, flood and bushfire hazards, environment, transport, utilities, administrative boundaries, public housing, nearby DAs, points of interest, and risk scores, with optional component selection (requires API key).
Keyless samples: Inspect example full property intelligence and flood score responses without an API key.
Sandbox addresses: List 12 real addresses across all Australian states that can be queried for free without consuming quota.
All tools are accessible via MCP clients like Claude and Cursor.
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., "@io.github.resuly/daleads-mcpFind development applications near Melbourne CBD"
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.
DA Leads MCP
DA Leads MCP lets Claude, Cursor and other MCP clients query Australian development applications and address-level property intelligence through the DA Leads API.
It exposes 36 tools for DA search, canonical project search and monitoring, nearby applications/projects, council and category lookups, read-only SQL analysis, generic entitlement-filtered property intelligence, the closed public Full Property contract, focused Noise, Flood, Bushfire and Walkability screening, score-free Property Core, Suburb Signals, SA2 scenarios, Neighbourhood Context, Solar Resource, keyless samples and sandbox addresses.
Install
Run without installing globally:
uvx daleads-mcpOr install with pipx:
pipx install daleads-mcp
daleads-mcpRelated MCP server: mcp-datagov-au
Configuration
Paid tools use a DA Leads API key. The property sample tools work without a key.
{
"mcpServers": {
"da-leads": {
"command": "uvx",
"args": ["daleads-mcp"],
"env": {
"DALEADS_API_KEY": "dk_live_xxx"
}
}
}
}DALEADS_API_KEY is the only environment variable read by this package. Treat
it as a secret. It is sent only to the fixed official HTTPS API endpoint at
https://daleads.com.au/api.
For Claude Code 2.1+, add the stdio server to the current project with:
claude mcp add --scope project da-leads -- uvx daleads-mcpKeyless sample tools work immediately. For paid tools, launch Claude Code from
an environment that already provides DALEADS_API_KEY; do not commit a real
key to the project MCP configuration.
Official Skills
The 10 canonical Agent Skills live in skills/. A repository checkout exposes the
same files to Codex through .agents/skills/ and to Claude Code through
.claude/skills/; both directories are thin relative symlinks, so there is only
one maintained instruction source. The Skills guide agents through subject
identity, coverage, attribution and product-specific limits. They do not grant
an API entitlement or expand data rights.
Tools
Development applications
search_das — Search Australian development applications with filters, newest
first. Parameters: state (NSW, VIC, QLD, SA, WA, TAS, NT, ACT), council (full
council name, e.g. City of Melbourne), category (trade category, e.g.
Renovation / Extension), suburb, postcode, since (ISO date YYYY-MM-DD,
lodged on or after), status_group (pending, advertised, approved,
rejected, other), is_residential (bool), page (default 1), limit
(per page, default 20, max 100). Returns {data: [DA record, ...], meta: {total, page, per_page, pages}}. Each record carries id, address, suburb,
postcode, council, state, trade_category, lodgement_date, status,
status_group, latitude, longitude, info_url and document links; paid plans add
description, summary, sub_category, cost_of_development, decision fields,
number_of_dwellings, building_type, storeys and the full documents list.
Applicant names are never returned on any plan.
get_da — Retrieve one development application in full. Parameters: da_id
(integer record id, as returned by search_das or nearby_das). Returns
{data: DA record} with the same field set as above.
nearby_das — Find development applications within a radius of a point,
nearest first. Parameters: lat, lng (WGS84 decimal degrees), radius_km
(default 5, max 50), category, since, status_group, page, limit
(max 100). Returns the same {data, meta} shape as search_das, with an extra
distance_km on each record.
list_categories — List every trade category with its record count, for
discovering valid category values. No parameters. Returns {data: [{name, slug, is_residential, record_count}, ...], meta: {total}} — categories such as
Renovation / Extension, Swimming Pool / Spa, Granny Flat / Secondary Dwelling
and Demolition.
list_councils — List councils with coverage and freshness, for discovering
valid council values. Parameters: limit (max councils to return, default 50).
Returns {data: [{council, state, record_count, last_lodgement, last_fetched}, ...], meta}.
get_stats — Coverage summary for the whole dataset. No parameters. Returns
{data: {total_records, records_last_7_days, date_range: {earliest, latest}, by_state: [...], by_category: [...]}}.
sql_query — Run a read-only SQL query for custom aggregation the filter
tools cannot express. Pro plan only. Parameters: query (a single SELECT
against the das table), params (optional list of values for %s
placeholders). Available columns: id, address, address_suburb, address_postcode,
council_name, council_reference, state, trade_category, sub_category,
application_type, is_residential, lodgement_date, status, cost_of_development,
decision_date, decision_status, on_notice_from, on_notice_to,
number_of_dwellings, lot_count, land_use, building_type, storeys, latitude,
longitude, data_source, date_fetched, documents, info_url. Description and
summary are deliberately unavailable here because council free text can contain
personal contact details. SELECT only, capped at 1000 rows with a 10 second
timeout. Returns {columns: [...], rows: [[...], ...], row_count, truncated}.
Project intelligence
These tools use the same DALEADS_API_KEY as every other paid tool. The API
enforces the key's project_intelligence entitlement and rights-cleared field
projection; the MCP package does not maintain a second capability list.
search_projects — Search canonical projects rather than independent DA
records. Parameters: q, state, normalized stage, normalized project_type,
changed_since (ISO-8601 timestamp), page, and limit (max 100). The client
sends the provider's canonical per_page parameter. Returns a {data, meta}
envelope with contract_version: project-intelligence-v1.
get_project — Retrieve one canonical project. Parameter: project_uid
(the stable identifier returned by search_projects). The current v1 response
contains identity, normalized status, location, linked applications and project
relations. Rights-gated fields are omitted rather than represented as coverage
or conflict metadata.
get_project_changes — Retrieve durable changes for one project. Parameters:
project_uid, optional initial since, continuation cursor, and limit
(max 100). Persist meta.cursor after every response. Use a non-null
meta.next_cursor only to fetch the next page immediately. Change values remain
redacted until field-level delivery provenance is available.
nearby_projects — Search canonical projects around a WGS84 point. Parameters:
lat, lng, radius_km, optional stage and project_type, page, and limit.
create_project_watch — Create or idempotently replay a persistent signed
callback for future rights-cleared events on one project_uid. Parameters:
project_uid, a public HTTPS callback_url, and a stable idempotency_key.
This tool changes external state and returns the signing secret.
list_project_watches — List watches owned by the current API key. Signing
secrets are never returned by the list operation.
deactivate_project_watch — Stop one owned watch by watch_uid. Delivery
audit rows remain durable. Pending work is suppressed, but an HTTPS request
already in flight cannot be recalled and remains visible in the audit.
Receivers must deduplicate the stable callback Idempotency-Key header.
The repository includes skills/daleads-project-monitoring for cursor polling
and explicit callback management. It is installed from the GitHub repository, not bundled inside the
PyPI wheel.
Property intelligence
property_intelligence — Generic entitlement-filtered address-level
property lookup for existing and manually issued keys. Parameters: address
(free text, e.g. 34 Mary St Clayton VIC) or lat + lng together, and
optional components (comma-separated subset to request). A requested name
never grants a capability: the API intersects it with the key's server-side
entitlement and field-level rights policy. This tool is not proof of a Full
Self-Serve entitlement; new Full workflows should use the closed tool below.
full_property_intelligence — Closed public Full Property Intelligence
Self-Serve lookup. Parameters: address (recommended) or lat + lng
together. It requests the base facts das, poi, planning, transport,
utilities, administrative and public_housing; named hazard leaves for
bushfire, flood, coastal, landslide and fire history; and named environmental
leaves for soil, protected-area, heritage, threatened-species, Ramsar, koala,
ecological, EPBC, bioregion and biodiversity context. The exact environmental
leaf names are pinned in contracts/focused-api-v1.json.
It also requests exactly these score leaves: scores.noise,
scores.aircraft_noise, scores.flood, and scores.bushfire. It never requests
top-level hazards, environment or scores, so a new provider field cannot
enter Full automatically. Explicit official, rights-gated contamination and
register facts may return as Property Core context; they do not grant
scores.contamination or publish the standalone Contamination product. Solar,
Neighbourhood Heat, Landscape Openness and the Walkability Pilot are excluded.
The Full key carries separate property_core and suburb_intelligence
capabilities, which do not add fields to this response. Provider-side source
and rights gates still apply to every returned field.
property_core — Closed score-free property context. Parameters: address
(recommended) or lat + lng. Returns resolved address/parcel identity,
development applications, POI, planning, hazards, environment, transport,
utilities, administrative and public-housing facts, plus response-specific
coverage and source obligations. It never returns scores, surfaces or unknown
future blocks. The key must include the complete explicit Core component set.
Suburb and regional intelligence
find_suburbs — Resolve a suburb-name prefix to ABS SAL codes before a
signals call. Parameters: query, optional state, limit (max 100). Returns
the existing licensed Census rows with sal_code; repeated names remain
separate rather than being guessed.
suburb_signals — Census context and privacy-slim development activity for
one SAL code. Parameter: sal_code. Returns current/prior 12-month DA-record
counts, momentum, status and dwelling publication coverage, category mix and a
machine contract stating that project deduplication has not been applied. It
never attaches an SA2 absolute population forecast to the SAL.
find_sa2_regions — Resolve an exact or partial region name to ASGS 2021
SA2 codes. Parameters: query, optional state, limit (max 50). Use the
returned code with sa2_population_forecast; never infer it from a suburb name.
sa2_population_forecast — Code-keyed regional population scenario Beta.
Parameter: nine-digit sa2_code. Returns history, model/vintage, housing-
constraint status and matching 1/3/5-year rolling-origin errors. Established
SA2s include low/medium/high scenarios. High-growth and greenfield future values
are withheld while the artifact has no DA dwelling constraint; withheld is not
zero growth.
noise_screening — Focused Noise Intelligence lookup. Parameters:
address (recommended) or lat + lng. It requests exactly scores.noise and
scores.aircraft_noise, returning modelled road/rail context, Lden/day/night
estimates, facade sectors, confidence evidence and aircraft-overlay assessment.
It is not a site measurement, LA90 result or acoustic compliance assessment.
Use the Noise fields in property_sample as the current keyless shape preview;
the generic sample's other fields are not part of the Noise entitlement.
flood_screening — Focused Flood Intelligence lookup. Parameters: address
(recommended) or lat + lng. It requests exactly scores.flood,hazards.flood
and keeps the national screening model, mapped official evidence and any
study-specific depth separate. Missing depth or mapping is a coverage state,
not zero depth or proof that flood risk is absent. Screening is national;
official modelled depth currently comes from 55 production rasters (48 Brisbane
and 7 NSW).
bushfire_screening — Focused commercial Bushfire Screening lookup.
Parameters: address (recommended) or lat + lng together. It always requests
exactly scores.bushfire,hazards.bushfire, returning subject identity, official
overlay status, licensed hazard hits, modelled vegetation fuel, terrain, available
fire history, coverage and caveats. Where available, the response includes a
preliminary indicative BAL band with range and confidence plus its mandatory
disclaimer. It is not a certified BAL assessment and cannot be used for building
approval. Coordinate-only lookups are
labelled as such and must not be treated as a building location.
walkability_screening — Focused Amenity & Walkability Screening Pilot lookup.
Parameters: address (recommended) or lat + lng. It requests exactly
scores.walkability: straight-line metres to 24 amenity scenarios plus
disclosed motorway, major-water and regional slope adjustments. It is not a
walking route, isochrone or travel-time result. Read every coverage state and
preserve meta.amenity_sources attribution when names or coordinates surface.
neighbourhood_context — Focused Neighbourhood Context Beta lookup.
Parameters: address (recommended) or lat + lng together. It requests
exactly scores.heat_island,scores.view_quality. Neighbourhood Heat keeps its
approximately 1 km temperature separate from 10 m land-cover context and
reports source vintage and borrowed-pixel status. The legacy view_quality key
returns the public Landscape Openness product, including six factors,
missing/partial coverage and explicit line-of-sight exclusions. It is not
parcel temperature, live weather, indoor comfort, building energy use or a
guaranteed view.
solar_resource — Focused Solar Resource Developer Preview lookup.
Parameters: address (recommended) or lat + lng together. It requests
exactly scores.solar and returns regional open-horizon GHI/DNI/GTI, PVOUT,
optimum tilt, per-field resolution, vintage, licence and attribution. It does
not identify roof planes, usable area, building or tree shading, obstructions,
tariffs, self-consumption or batteries and must not be used as rooftop design.
property_sample — Inspect the generic Property Intelligence response shape
before you have a key. No API key required. No parameters. Returns the real
production payload for 163 Grattan St, Carlton VIC (a heritage terrace with DA
activity). Noise and public Full currently share this preview because they do
not yet have dedicated sample routes. It is a schema demonstration, not an
entitlement manifest: Preview fields present in it are not thereby included in
Noise or public Full Self-Serve.
property_core_sample — Inspect the closed score-free Property Core v1
contract. No API key required. Returns a real Carlton response containing
only the explicit Core fact blocks, coverage and source inventory.
suburb_signals_sample — Inspect a real Carlton SAL development-signals
Beta response. No API key required.
sa2_population_forecast_sample — Inspect the Carlton SA2 forecast Beta,
including matching rolling-origin error evidence. No API key required.
property_walkability_sample — Inspect the focused Amenity & Walkability
Screening contract for Carlton. No API key required. Distances are explicitly
straight-line and no route time is supplied.
property_flood_sample — Inspect one scored hazard component in detail.
No API key required. No parameters. Returns the production scores.flood
block for a study-covered point in Rocklea QLD: official 1% AEP modelled depth,
overlay status, terrain context, coverage notes and provenance.
property_bushfire_sample — Inspect the standard Bushfire Screening contract.
No API key required. No parameters. Returns a real Katoomba NSW focused
sample with resolved subject identity, official/modelled evidence, coverage,
attribution and an explicit response-specific indicative BAL state. The canned
snapshot can predate the field; live responses may include the preliminary band.
property_context_sample — Inspect the coordinated Neighbourhood Context
Beta and Solar Resource Developer Preview contract. No API key required. No
parameters. Returns a real production-shaped Carlton response containing only
Neighbourhood Heat, Landscape Openness and Solar Resource, with their legacy v1
keys, measurement levels, sources, caveats and not-modelled boundaries.
property_sandbox_addresses — List the addresses you can evaluate for free.
No API key required. No parameters. Returns {sandbox_addresses: [{address, label}, ...], note} — 12 real addresses spanning all eight states, chosen for
distinct hazard and planning profiles. Lookups of these addresses through
property_intelligence never count toward a key's monthly quota.
Data boundary
The adapter code and the data returned by DA Leads have separate licence boundaries. Installing this package does not grant an API entitlement or a right to redistribute the API data. Public Full Self-Serve supports internal analysis and attributed static customer reports under its clickwrap terms. Interactive embedding, white labelling, onward access, resale, raw redistribution, special geometry and custom SLAs require Publisher or Enterprise rights. See the DA Leads Terms, Privacy Policy, and Data Attributions.
The server reuses the DA Leads API authentication, plan limits and privacy controls. Public API and MCP responses do not expose applicant names.
Copyright 2026 Limon Tech. All rights reserved.
Available Tools
11 toolsget_daA
Get full details of a specific development application by ID.
Args: da_id: The DA record ID
| Name | Required | Description | Default |
|---|---|---|---|
| da_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must communicate behavioral traits. The verb 'Get' makes the read-only nature clear, but the description does not disclose error handling, data freshness, or any additional constraints. Since an output schema exists, the return structure is externalized, but the description itself adds little beyond the basic retrieval behavior.
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 exceptionally concise, with a one-sentence purpose statement and a brief Args list. Every sentence contributes useful information, and the main description is front-loaded, making it easy to parse quickly.
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 simple ID lookup with a single parameter and an output schema, the description covers the essential purpose. It does not expand on when to use it relative to siblings, but the output schema handles return details, so the description is adequately complete for the tool's simplicity.
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 0%, so the description's Args section carries the burden. It clarifies that 'da_id' refers to 'The DA record ID', adding semantic meaning beyond the schema's property title 'Da Id'. However, it does not explain the expected integer format or any constraints, leaving the explanation minimal.
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 states 'Get full details of a specific development application by ID.' It clearly identifies the resource (development application) and the action (get full details), and the 'by ID' scope distinguishes it from siblings like search_das or nearby_das that involve searching or proximity.
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 you have a specific DA ID and need its full details. It provides clear context but does not explicitly mention alternatives or state when not to use it, so it lacks explicit exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsA
Get overall DA statistics: total records, by state, by category, date range.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses the output dimensions (total records, by state, by category, date range), which is useful, but it does not explicitly state read-only behavior, caching, or possible limitations. The verb 'Get' implies a read operation, but the description could be more explicit.
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, front-loaded sentence that immediately identifies the tool's purpose and lists the key output dimensions. Every word contributes value, with no repetition or filler.
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 that the tool has no parameters and an output schema exists, the description is sufficient. It clearly communicates the aggregate scope and the data dimensions returned, which is complete for a zero-argument statistics tool.
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?
This tool takes zero parameters, so there is no parameter semantics to clarify. The baseline for 0-parameter tools is 4, and the description does not introduce any confusion or extra parameter-related content.
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 states a specific action ('Get') and resource ('DA statistics'), then enumerates the exact breakdowns provided ('total records, by state, by category, date range'). This clearly distinguishes it from sibling tools like search_das or get_da, which focus on individual records rather than aggregate statistics.
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 word 'overall' signals that this is the aggregate-level tool, distinct from the more specific sibling tools. It gives enough context for when to invoke it (when summary statistics are needed), even though it does not explicitly name alternatives or state when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesA
List all trade categories with record counts.
Returns categories like: Renovation / Extension, Swimming Pool / Spa, Granny Flat / Secondary Dwelling, Demolition, etc.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description discloses that the tool returns categories with record counts and provides examples. It doesn't mention ordering, filtering, or pagination, but for a simple list operation this is acceptable. The output schema likely covers return structure.
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?
Two concise sentences, front-loaded with the purpose ('List all trade categories with record counts'), and then illustrative examples. No superfluous information.
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 output schema exists, the description doesn't need to explain return values. It provides enough context for a trivial zero-parameter tool, though it could mention that categories are tied to development applications, but that's implied by the sibling context.
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?
The tool has zero parameters, and the input schema is empty. The baseline for 0 parameters is 4, and the description adds no parameter semantics because there are none to explain.
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 lists all trade categories with record counts, and gives concrete examples. It distinguishes itself from sibling tools like search_das or get_da, which are not about categories.
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 use case is implied: call this tool when you need the list of trade categories. There is no explicit guidance on when not to use it or alternatives, but given its simplicity, the implied usage is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_councilsA
List councils with state, DA count, and last activity date.
Args: limit: Max councils to return
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does mention the returned fields and the limit parameter's maximum behavior, but it does not explicitly state read-only status, pagination, sorting, or access requirements. The 'List' verb implies read-only, but deeper behavioral context is missing.
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 extremely concise with two sentences, the purpose front-loaded. There is no wasted wording, and the 'Args' section is minimal and directly relevant.
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 simple one-parameter list tool with an output schema, the description covers the core purpose and parameter. It lacks usage guidance and explicit read-only confirmation, but the low complexity makes it minimally adequate. It does not need to explain return values because an output schema exists.
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 0%, but the description adds the semantic 'Max councils to return' to the limit parameter, which clarifies its purpose beyond the schema's 'Limit' title. However, it adds no format details or edge-case behavior, so it only partially compensates for the schema lack.
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 uses a specific verb ('List') and resource ('councils'), and also states the returned fields (state, DA count, last activity date). This clearly distinguishes it from sibling tools that focus on DAs or categories.
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 provides no guidance on when to use this tool versus alternatives like search_das or list_categories. It neither states explicit use cases nor exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nearby_dasA
Find development applications near a location.
Args: lat: Latitude lng: Longitude radius_km: Search radius in km (default 5, max 50) category: Filter by trade category since: Only show DAs lodged on or after this ISO date (YYYY-MM-DD) status_group: Normalized status: pending, advertised, approved, rejected, or other page: Page number (default 1) limit: Results per page (max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lng | Yes | ||
| page | No | ||
| limit | No | ||
| since | No | ||
| category | No | ||
| radius_km | No | ||
| status_group | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It adds useful constraints (radius max 50, limit max 100, ISO date format, normalized status values) but does not mention authentication, rate limits, error behavior, or explicitly confirm this is a read-only operation.
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 concise and front-loaded with the purpose, followed by a clean labeled Args list. Every sentence earns its place and there is no redundant filler.
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?
The description covers all parameters but lacks usage guidance relative to siblings, details about category values, and behavioral traits like error handling or auth. Given an output schema exists, return values are not needed, but the gaps in contextual guidance keep this from being fully complete.
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 0%, so the Args section compensates by explaining all eight parameters, including defaults, max values, and allowed status values. However, 'category' remains vague (no enumeration of trade categories), and required parameters are not highlighted.
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 finds development applications near a location, with a specific verb and resource. This distinguishes it from siblings like search_das and get_da, which likely operate on different query logic or scope.
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 for location-based queries but does not explicitly state when to choose this tool over alternatives like search_das. No exclusions or alternative references are provided, leaving the agent to infer from the tool name and first sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
property_flood_sampleA
Real flood score component example, no API key required.
Returns the production scores.flood block for a study-covered Rocklea QLD point: official 1% AEP modelled depth, overlay status, terrain context and provenance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns a production data block, lists its contents, and states that no API key is required. This makes the safe, read-only nature of the sample clear, though it does not explicitly state that it is non-mutating.
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 two sentences, front-loaded with the core purpose and key attribute ('no API key required'). Every word adds value, with no redundancy or irrelevant detail.
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 tool's simplicity (no params, sample data) and the presence of an output schema, the description fully explains what the tool returns and its intended use. It does not need to cover return format (schema handles this) or complex side effects, making it complete for its scope.
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?
The tool has zero parameters, so the baseline score is 4. There is no parameter information needed in the description, and the empty schema confirms this.
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's purpose: it returns the production scores.flood block for a specific Rocklea QLD point, listing the exact data components (depth, overlay, terrain, provenance). The verb 'Returns' is specific and the resource is well-defined, distinguishing it from sibling tools like property_sample by focusing on flood scores.
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 for exploration or demos by labeling it an 'example' and noting 'no API key required,' which provides clear context for when to use it. It does not explicitly mention alternatives or exclusions, but the simplicity of the tool makes these unnecessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
property_intelligenceA
Full property intelligence profile for one Australian address (or lat/lng point).
Returns planning (zones, overlays, heritage), hazards (flood, bushfire), environment, transport, nearby DAs, points of interest and scored risk components for the address. Requires an API key on a Property Intelligence plan; each lookup counts toward the key's monthly quota, except the sandbox addresses from property_sandbox_addresses which are never metered. No key? Use property_sample for a complete keyless example first.
Args: address: Free-text address, e.g. "34 Mary St Clayton VIC" lat: Latitude (alternative to address) lng: Longitude (alternative to address) components: Optional comma-separated subset to return, e.g. "scores.noise,hazards,das". Blocks: das, poi, planning, hazards, environment, transport, utilities, administrative, public_housing, scores.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lng | No | ||
| address | No | ||
| components | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the API key requirement, monthly quota metering, and the exception for sandbox addresses. It also lists the response block categories. It does not mention error behavior or rate limits, but the disclosed authentication and quota context is valuable and beyond what the schema provides.
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 well-organized with a clear lead sentence, a requirements/quota paragraph, and a structured Args list. It is verbose enough to be complete, but each sentence earns its place and the structure makes it easy to scan. The parameter list is front-loaded with the most important lookup inputs.
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 complex tool with 4 optional parameters and an output schema, the description provides sufficient context: full input alternatives, output component blocks, authentication requirements, quota behavior, and a pointer to a keyless sample. It is complete enough for an agent to select and invoke the tool correctly, even without 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?
The input schema has an example-less structure with no descriptions, so the schema coverage is 0%. The description compensates fully with an Args section explaining each parameter: address with an example, lat/lng as an alternative to address, and components with syntax ('comma-separated subset') and an explicit list of valid blocks. This adds substantial meaning 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 uses a specific verb-resource pair: 'Full property intelligence profile for one Australian address (or lat/lng point)' and enumerates the specific domains covered (planning, hazards, environment, transport, DAs, points of interest, risk scores). This clearly distinguishes it from sibling tools like search_das or get_da, which are narrower in scope.
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 explicitly states when to use the tool (for a complete property profile) and provides an alternative: 'No key? Use property_sample for a complete keyless example first.' It also mentions property_sandbox_addresses as an exception to quota metering, guiding the user to a no-cost path. This is explicit usage guidance with named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
property_sampleA
Complete real Property Intelligence response, no API key required.
Returns the canned production payload for 163 Grattan St, Carlton VIC (heritage terrace with DA activity) so you can inspect the full response shape before requesting a key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that the response is 'canned' (a fixed sample), that no API key is required, and specifies the exact address and context (heritage terrace with DA activity). This adds valuable context about what to expect, though it could also mention that the response is static and not a live lookup.
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 two sentences long and front-loaded with the core promise ('Complete real Property Intelligence response, no API key required'). Each sentence adds relevant information—what the tool returns and why you would use it. There is no wasted or redundant text.
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 simple, zero-parameter sample tool, the description is sufficiently complete. It explains the purpose, the use case, the sample address, and that an output schema can be inspected. The presence of an output schema means the return shape is already structured, so the description does not need to enumerate fields. It could slightly improve by explicitly linking to the property_intelligence tool, but the sibling list makes that connection implicit.
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?
The tool takes zero parameters, so the description does not need to explain any parameters. The input schema is empty, and the description appropriately focuses on the output. Per the rubric, a baseline of 4 is applied for tools with no parameters.
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 explicitly states it returns a 'Complete real Property Intelligence response' for a specific address (163 Grattan St, Carlton VIC), making the tool's purpose unambiguous. It clearly distinguishes itself as a sample tool that does not require an API key, differentiating it from sibling tools like property_intelligence and property_flood_sample.
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 gives a clear use case: 'so you can inspect the full response shape before requesting a key.' It implies the tool is for pre-API-key inspection, but it does not explicitly compare itself to other sample tools or state when not to use it. That said, the guidance is specific enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
property_sandbox_addressesA
List sandbox addresses whose lookups never count toward your quota.
Twelve real addresses covering all eight states; use them with property_intelligence to evaluate live responses for free on any Property Intelligence key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, but the description discloses key behavioral traits: lookups never count toward quota, there are twelve real addresses covering all eight states, and it works on any Property Intelligence key. This goes beyond a basic 'list' description and gives useful context about the free nature and scope.
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 two concise sentences. The first sentence states the core purpose, and the second adds essential details about the addresses and how to use them, with no wasted words.
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 that there is an output schema and no parameters, the description fully covers the tool's purpose, usage, and relevant caveats (free, quota-free, real addresses). It also correctly positions the tool relative to property_intelligence, making it complete for its scope.
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?
The tool has zero parameters, so the description does not need to explain parameter semantics. The baseline for zero-parameter tools is 4, and the description provides sufficient context without needing to describe any inputs.
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 'List sandbox addresses whose lookups never count toward your quota,' which identifies the specific verb and resource. It distinguishes the tool from siblings by explaining that these addresses are for use with property_intelligence to evaluate live responses for free.
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 explicitly tells the user to use these addresses with property_intelligence for free testing, providing clear context for when to use this tool. It does not mention alternatives or exclusions, but the singular use case is well defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dasA
Search development applications with filters.
Args: state: Filter by state (NSW, VIC, QLD, SA, WA, TAS, NT, ACT) council: Filter by council name (e.g. "City of Melbourne") category: Filter by trade category (e.g. "Renovation / Extension", "Swimming Pool / Spa") suburb: Filter by suburb name postcode: Filter by exact postcode since: Only show DAs lodged on or after this ISO date (YYYY-MM-DD) status_group: Normalized status: pending, advertised, approved, rejected, or other is_residential: Filter residential (true) or commercial (false) page: Page number (default 1) limit: Results per page (max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| since | No | ||
| state | No | ||
| suburb | No | ||
| council | No | ||
| category | No | ||
| postcode | No | ||
| status_group | No | ||
| is_residential | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It does disclose some behavioral traits, such as 'since' meaning 'lodged on or after this ISO date' and 'limit' having a max of 100. However, it does not describe the return format, pagination behavior, or any side effects/safety expectations beyond the parameter-level details.
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 concise and well-structured: a single purpose sentence followed by a clean 'Args:' list. Each parameter gets one line with a short explanation, no redundancy, and the most important filter types (state, council, category) lead the list. Every sentence earns its place.
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?
With 10 parameters and no schema descriptions, the tool description covers all parameters thoroughly, including examples and defaults. An output schema exists, so return value details are not necessary. The main gap is lack of guidance on result scope (e.g., what happens with no filters) and error behavior, but overall the description is sufficient for correct invocation.
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 0%, but the description fully compensates by documenting every parameter with concrete examples (e.g., council 'City of Melbourne', category 'Renovation / Extension'), allowed values (status_group enum, states), format requirements (ISO date), and constraints (limit max 100, page default). This is exemplary parameter documentation.
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 begins with 'Search development applications with filters,' which is a clear, specific verb+resource statement. It distinguishes from siblings like get_da (single record) and nearby_das (location-based) implicitly by focusing on filter-based search, though it does not explicitly name alternatives.
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. There is no mention of 'use this for filtering by council/suburb' or 'for nearby DAs use nearby_das.' The description simply lists parameters, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sql_queryA
Run a read-only SQL query against DA records. Pro plan only.
Query the 'das' table with columns: id, address, address_suburb, address_postcode, council_name, council_reference, state, trade_category, sub_category, application_type, is_residential, lodgement_date, status, cost_of_development, decision_date, decision_status, on_notice_from, on_notice_to, number_of_dwellings, lot_count, land_use, building_type, storeys, latitude, longitude, data_source, date_fetched, documents, info_url. Description and summary are deliberately unavailable because council free text may contain personal contact details.
Max 1000 rows. 10 second timeout. SELECT only.
Args: query: SQL SELECT query using table name 'das' params: Optional parameters for %s placeholders
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| params | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself, and it does explicitly: 'read-only', 'SELECT only', max rows, timeout, and Pro plan requirement. It also explains why description/summary columns are unavailable, adding valuable context. It lacks error-handling or rate-limit details but is quite transparent overall.
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 front-loaded with the purpose, then structured into schema, limits, and arguments. The column list is long but necessary for a SQL interface, and each sentence contributes useful info. It is not overly verbose, though it could be slightly tighter.
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 tool's complexity and lack of annotations, the description supplies the full schema, constraints, and argument semantics, which is essential for invoking SQL correctly. It even explains the absence of certain columns, providing operational depth. With an output schema present, this is sufficiently complete, though examples of query syntax are absent.
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?
The description compensates for 0% schema coverage by explaining that the query must use table name 'das' and that params are for SQL %s placeholders. It enumerates all available columns, giving full meaning to the parameters beyond the bare schema types. This is valuable operational guidance.
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 begins with 'Run a read-only SQL query against DA records', which clearly states a specific verb and resource. It also lists the exact table and columns, distinguishing it from sibling tools like search_das or get_da that use different retrieval methods. The addition of 'Pro plan only' is a constraint, not a clouding of purpose.
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—any time SQL is needed against DA records—but does not explicitly contrast with sibling tools or state when not to use it. It provides clear operational constraints like row limits and timeout, but no alternative recommendations, so guidance is mostly implied.
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.
11 tool updates
v0.1.0- First observed
get_da - First observed
get_stats - First observed
list_categories - First observed
list_councils - First observed
nearby_das - First observed
property_flood_sample - First observed
property_intelligence - First observed
property_sample - First observed
property_sandbox_addresses - First observed
search_das - First observed
sql_query
TDQS
Most tools have clear, distinct purposes. search_das and nearby_das both find DAs but by different criteria (filters vs. location), and property_intelligence is broader than nearby_das. The sample tools are clearly demos. Minor potential confusion between search_das and nearby_das when both are applicable, but descriptions mitigate.
Naming is mixed: verb_noun (search_das, get_da, list_categories, list_councils, get_stats), descriptive (nearby_das, sql_query), and a property_* prefix group (property_intelligence, property_sample, property_flood_sample, property_sandbox_addresses). No consistent verb or noun pattern across the entire tool set.
11 tools is well-scoped for a DA lookup and property intelligence server. Each tool contributes a distinct capability: search, get, nearby, metadata, stats, SQL access, and property intelligence samples. No redundant or excessive tools.
The tool surface covers the domain comprehensively: searching with many filters, retrieving full details, geospatial search, metadata lists, statistics, and raw query capability. Property intelligence adds a complementary feature set. No obvious gaps such as missing update/create, which are irrelevant for a read-only public data API.
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
Indicative SEQ Australia property planning intelligence: zones, overlays, subdivision, DA stats.
Public building permits, property assessments, parcels and development intelligence.
One API for public web data across social, directories and real estate, as clean JSON.
Search UK planning applications, entities, datasets, and conservation areas
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables access to Australian real estate data through the Realty In Au API, supporting property listings, agent/agency information, property details, school lookups, and property search with various filters.13MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching and retrieving Australian open government data from data.gov.au via CKAN API, including datasets, organizations, groups, tags, and resources.8MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying City of Abbotsford open geospatial data (parcels, zoning, public works) via ArcGIS Feature Services, with tools to search datasets, query layers, and retrieve schema info.8MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying City of Asheville open geospatial data (parcels, zoning, etc.) through ArcGIS Feature Services. Supports searching datasets, querying layers with SQL-like filters, and retrieving layer schemas.8MIT
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/resuly/daleads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server