Nova Scotia Data Explorer

Query and explore Nova Scotia open datasets via the Socrata SODA API.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~874Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.68% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "nova-scotia-data-explorer": {
      "url": "https://scotiasignal.ca/mcp"
    }
  }
}

Remote endpoints

https://scotiasignal.ca/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_categories

Returns all dataset categories and popular tags available on the Nova Scotia Open Data portal. Use this first to discover valid category names before calling search_datasets with a category filter.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢search_datasets(query, category, tag, limit, offset)

Search the Nova Scotia Open Data catalog (data.novascotia.ca) for datasets by keyword, category, or tag. Returns dataset names, IDs, descriptions, column names, and direct portal links. Use list_categories first to see valid category and tag names. Use the returned dataset ID with query_dataset or get_dataset_metadata for further exploration.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text search query (e.g. 'population', 'fisheries', 'road network')",
      "type": "string"
    },
    "category": {
      "description": "Filter by exact category name from list_categories (e.g. 'Health and Wellness', 'Lands, Forests and Wildlife', 'Crime and Justice', 'Population and Demographics')",
      "type": "string"
    },
    "tag": {
      "description": "Filter by an exact tag name from list_categories (e.g. 'population', 'fisheries')",
      "type": "string"
    },
    "limit": {
      "description": "Maximum number of results to return (1–50, default 10)",
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "description": "Offset for pagination (default 0)",
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_dataset_metadata(dataset_id)

Retrieve full schema and metadata for a Nova Scotia Open Data dataset by its 8-character identifier (e.g. '3nka-59nz'). Returns all column field names, data types, and descriptions — essential before calling query_dataset so you know the exact field names to use in $select and $where clauses.

Input Schema

{
  "type": "object",
  "properties": {
    "dataset_id": {
      "description": "8-character Socrata dataset identifier (e.g. '3nka-59nz')",
      "type": "string"
    }
  },
  "required": [
    "dataset_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢query_dataset(dataset_id, soql, limit)

Run a SoQL query against a Nova Scotia Open Data dataset. SoQL is SQL-like. Key clauses (combine with &): $select=col1,col2 — choose columns $where=field='value' — filter rows (use single quotes for strings) $where=field like '%val%' — partial match $order=field DESC — sort $limit=50 — row count (default 25, max 50000) $offset=50 — pagination $group=field — group by (use with aggregate functions) $q=search term — full-text search Aggregates: count(*), sum(col), avg(col), min(col), max(col) Examples: $where=year='2024'&$order=total DESC&$limit=10 $select=department,count(*)&$group=department&$order=count(*) DESC $where=area like '%Halifax%'&$limit=5 Always call get_dataset_metadata first to find exact field names.

Input Schema

{
  "type": "object",
  "properties": {
    "dataset_id": {
      "description": "8-character Socrata dataset identifier (e.g. '3nka-59nz')",
      "type": "string"
    },
    "soql": {
      "description": "SoQL query string. Multiple clauses joined with '&'. String values in $where must use single quotes: field='value'. Do NOT URL-encode — pass the raw string.",
      "type": "string"
    },
    "limit": {
      "description": "Max rows to return (1–1000, default 25). Ignored if $limit is in soql.",
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "required": [
    "dataset_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools