Biohotspot MCP
Biohotspot is a free web app for marine planning that puts ocean data for any coast or sea on one map. The MCP server allows AI assistants to access marine data, simulate protection scenarios using Marxan, and generate reports for marine protected area planning.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://biohotspot.ai4wa.com/mcpWhat you can do with it
- Look up marine data for a specific area
- Simulate protection scenarios using Marxan
- Get details on marine protected areas
- Search research papers and reports
Source and maintenance
Protocol and capabilities
- Server
- biohotspot 0.4.0
- MCP protocol
- 2025-06-18
- Tools
- 12 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
12 advertised
look_here — Look at a place
List every Biohotspot map layer with data within `km` of a point on the sea (a place being studied, not the user's location): habitats, wildlife, human uses, protected areas and world ocean maps, with a few values from each. Read-only. Use it to learn what a place holds.
{
"type": "object",
"required": [
"lon",
"lat"
],
"properties": {
"km": {
"type": "number",
"description": "Radius in km (default 5)"
},
"lat": {
"type": "number",
"description": "Latitude of the place to look at, WGS84"
},
"lon": {
"type": "number",
"description": "Longitude of the place to look at, WGS84"
}
}
}{
"title": "Look at a place",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}look_in_area — Look inside an area
List every Biohotspot map layer with data inside a polygon on the sea, with a few values from each. Read-only.
{
"type": "object",
"required": [
"polygon"
],
"properties": {
"polygon": {
"type": "object",
"description": "A GeoJSON Polygon (WGS84)"
}
}
}{
"title": "Look inside an area",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}understand_area — Check an area against its targets
Check an area against its protection targets: which habitats it holds, how much of each, what is already protected, and how far each habitat is from its target. Give a polygon, or a point and radius_km. Outside Biohotspot's local planning data the answer comes from world maps and is marked rough: true. Read-only; nothing is saved.
{
"type": "object",
"properties": {
"lat": {
"type": "number",
"description": "Latitude of the place to look at, WGS84"
},
"lon": {
"type": "number",
"description": "Longitude of the place to look at, WGS84"
},
"polygon": {
"type": "object",
"description": "A GeoJSON Polygon (WGS84)"
},
"radius_km": {
"type": "number"
}
}
}{
"title": "Check an area against its targets",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}simulate — Run the protection options (Marxan)
Run the Marxan optimiser on the example project's planning data (Exmouth Gulf, Western Australia only): the cheapest set of planning squares that meets every habitat target. `protect` = planning-square ids always included (understand_area returns them as `pus`); `target_pct` = one target for every habitat, in %. Takes a few seconds; returns the summary, each habitat's result and the best solution. Nothing is saved to your projects.
{
"type": "object",
"properties": {
"reps": {
"type": "integer",
"description": "Runs, 1-20 (default 5)"
},
"protect": {
"type": "array",
"items": {
"type": "integer"
}
},
"target_pct": {
"type": "number"
}
}
}{
"title": "Run the protection options (Marxan)",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}find_layers — Find map layers
Find Biohotspot map layers by words (e.g. 'seagrass', 'coral bleaching') among its 1,600+ world layers. Returns ids, names, categories and licences (25 by default); vector layers can then be read with get_features. Read-only.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer"
},
"query": {
"type": "string"
}
}
}{
"title": "Find map layers",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_features — Read a layer's features
Get a vector layer's features as GeoJSON from Biohotspot's OGC API, optionally inside a bounding box [west, south, east, north]; up to `limit` features (500 by default, 5,000 at most). Collection ids: find_layers ids, or exmouth_<dataset> for the example project's open layers. Read-only.
{
"type": "object",
"required": [
"collection"
],
"properties": {
"bbox": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 4,
"minItems": 4
},
"limit": {
"type": "integer"
},
"collection": {
"type": "string"
}
}
}{
"title": "Read a layer's features",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_marine_park — Australian marine park facts
Get the facts about an Australian marine park from its Biohotspot page: area, IUCN categories and named zones (CAPAD 2024), habitats, blue carbon and pressures measured inside it, each with its source and licence, and the page's address. Give part of the park's name; `state` (wa, qld, nsw, vic, sa, tas, nt, com for Commonwealth waters) narrows it. Several matches return the list to choose from; parks under 10 km² or without enough open data have no page. Read-only.
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Park name or part of it, e.g. 'Ningaloo'"
},
"state": {
"type": "string"
}
}
}{
"title": "Australian marine park facts",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}search_papers — Search the research library
Search Biohotspot's research library (more than 5,200 papers and reports on coasts and marine habitats) for the words; returns titles, years and DOI links where known (10 by default, 50 at most). Read-only.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer"
},
"query": {
"type": "string"
}
}
}{
"title": "Search the research library",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}list_projects — List your projects
List your Biohotspot projects and the ones shared with you: name, area, your role and how complete their data is. Read-only.
{
"type": "object",
"properties": {}
}{
"title": "List your projects",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}get_project — Read a project
Get one of your projects: its area (GeoJSON), its data check (each data type covered, partial or missing) and your role. Read-only.
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "integer"
}
}
}{
"title": "Read a project",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}list_project_data — Read a project's data
List the data a project's team added, with each file's status (receiving, checked, ready, failed). Read-only.
{
"type": "object",
"required": [
"project_id"
],
"properties": {
"project_id": {
"type": "integer"
}
}
}{
"title": "Read a project's data",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}add_project_data — Add data to a project
Add data to a project from a public download link (GeoPackage, zipped Shapefile, GeoJSON, KML, CSV with coordinates or GeoTIFF, up to 200 MB): your own model's output, a survey, a map. Side effect: the file is downloaded, stored and added to the project, where its team can see it; nothing is deleted or overwritten. Biohotspot then checks it; follow its status with list_project_data and finish anything it asks for in the project's Uploads tab. Needs owner or editor rights.
{
"type": "object",
"required": [
"project_id",
"url"
],
"properties": {
"url": {
"type": "string"
},
"year": {
"type": "integer"
},
"title": {
"type": "string"
},
"source": {
"type": "string",
"description": "Who made it"
},
"licence": {
"type": "string",
"description": "cc-by, cc0, cc-by-nc, other-open, restricted or unsure"
},
"project_id": {
"type": "integer"
}
}
}{
"title": "Add data to a project",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1374 ms
- 95th percentile latency
- 1374 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1374 ms · metadata changed · 12 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http biohotspot-mcp https://biohotspot.ai4wa.com/mcpCodex
codex mcp add biohotspot-mcp --url https://biohotspot.ai4wa.com/mcpCursor
{
"mcpServers": {
"biohotspot-mcp": {
"url": "https://biohotspot.ai4wa.com/mcp"
}
}
}Cline
{
"mcpServers": {
"biohotspot-mcp": {
"type": "streamableHttp",
"url": "https://biohotspot.ai4wa.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"biohotspot-mcp": {
"type": "http",
"url": "https://biohotspot.ai4wa.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http biohotspot-mcp https://biohotspot.ai4wa.com/mcpClaude Desktop
{
"mcpServers": {
"biohotspot-mcp": {
"url": "https://biohotspot.ai4wa.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"biohotspot-mcp": {
"serverUrl": "https://biohotspot.ai4wa.com/mcp"
}
}
}Let your agent find its tools
Find servers like Biohotspot MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.