Server definition
- Hash
- sha256:f6690d13ccd8f8485695fa3919b814f76d2e3f62a3d9a9ee12b94c465ff99902
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dataset_id": {
"description": "8-character Socrata dataset identifier (e.g. '3nka-59nz')",
"type": "string"
}
},
"required": [
"dataset_id"
],
"type": "object"
},
"name": "get_dataset_metadata",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_categories",
"outputSchema": null
},
{
"description": "Run a SoQL query against a Nova Scotia Open Data dataset. SoQL is SQL-like.\n\nKey clauses (combine with &):\n $select=col1,col2 — choose columns\n $where=field='value' — filter rows (use single quotes for strings)\n $where=field like '%val%' — partial match\n $order=field DESC — sort\n $limit=50 — row count (default 25, max 50000)\n $offset=50 — pagination\n $group=field — group by (use with aggregate functions)\n $q=search term — full-text search\n\nAggregates: count(*), sum(col), avg(col), min(col), max(col)\n\nExamples:\n $where=year='2024'&$order=total DESC&$limit=10\n $select=department,count(*)&$group=department&$order=count(*) DESC\n $where=area like '%Halifax%'&$limit=5\n\nAlways call get_dataset_metadata first to find exact field names.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dataset_id": {
"description": "8-character Socrata dataset identifier (e.g. '3nka-59nz')",
"type": "string"
},
"limit": {
"default": 25,
"description": "Max rows to return (1–1000, default 25). Ignored if $limit is in soql.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"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"
}
},
"required": [
"dataset_id"
],
"type": "object"
},
"name": "query_dataset",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"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"
},
"limit": {
"default": 10,
"description": "Maximum number of results to return (1–50, default 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Offset for pagination (default 0)",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"query": {
"description": "Free-text search query (e.g. 'population', 'fisheries', 'road network')",
"type": "string"
},
"tag": {
"description": "Filter by an exact tag name from list_categories (e.g. 'population', 'fisheries')",
"type": "string"
}
},
"type": "object"
},
"name": "search_datasets",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f6690d13ccd8f8485695fa3919b814f76d2e3f62a3d9a9ee12b94c465ff99902 | sha256sum