Add it to Claude Code
claude mcp add toronto-mcp -- npx mcp-remote https://toronto-mcp.s-a62.workers.dev/sseMake your agent remember this setup
toronto-mcp's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Intelligent dataset discovery using relevance scoring
- Update frequency analysis and freshness tracking
- Deep data structure insights including schema and field analysis
- Natural language querying of over 500 open datasets
- Comprehensive data analysis combining multiple analytical dimensions
Tools 10
list_datasetsList all available datasetssearch_datasetsSearch datasets by keywordget_packageRetrieve complete metadata for a datasetget_first_datastore_resource_recordsGet records from the first active resourceget_resource_recordsGet records from a specific resource by IDfind_relevant_datasetsIntelligently find and rank datasets using relevance scoringanalyze_dataset_updatesAnalyze update frequencies with categorizationanalyze_dataset_structureDeep-dive into dataset structure with field definitions and data typesget_data_categoriesExplore all available organizations and topic groupsget_dataset_insightsComprehensive analysis combining relevance, frequency, and structureTry it
Original README from Toronto-inc/toronto-mcp
Toronto MCP Server: Toronto Open Data Tools
This project implements a Model Context Protocol (MCP) server for Toronto Open Data, deployable on Cloudflare Workers. It exposes a comprehensive set of tools for intelligently querying, analyzing, and retrieving datasets from Toronto's CKAN-powered open data portal, making them accessible to MCP-compatible clients like Claude Desktop, Cursor, and other AI assistants.
🚀 Live Server
Deployed at: https://toronto-mcp.s-a62.workers.dev
- SSE Endpoint:
https://toronto-mcp.s-a62.workers.dev/sse(for Claude Desktop) - MCP Endpoint:
https://toronto-mcp.s-a62.workers.dev/mcp(for other clients)
What does it do?
- Provides a remote MCP server exposing tools for Toronto's Open Data via the CKAN API
- Intelligently discovers relevant datasets using advanced relevance scoring
- Analyzes data freshness patterns with comprehensive update frequency tracking
- Provides deep data structure insights including field analysis and schema information
- Enables natural language querying of Toronto's 500+ open datasets
- Supports comprehensive data analysis combining multiple analytical dimensions
🛠️ Features
Basic CKAN Tools
list_datasets: List all available datasetssearch_datasets: Search datasets by keywordget_package: Retrieve complete metadata for a datasetget_first_datastore_resource_records: Get records from the first active resourceget_resource_records: Get records from a specific resource by ID
🧠 Advanced Analysis Tools
find_relevant_datasets: Intelligently find and rank datasets using relevance scoring (title, description, tags, organization)analyze_dataset_updates: Analyze update frequencies with categorization (daily, weekly, monthly, quarterly, annually, irregular)analyze_dataset_structure: Deep-dive into dataset structure with field definitions, data types, record counts, and optional data previewsget_data_categories: Explore all available organizations and topic groupsget_dataset_insights: Comprehensive analysis combining relevance ranking, update frequency, and data structure insights
💡 Use Cases
For AI Assistants & Researchers
- "What traffic data is available in Toronto?" → Ranked datasets with relevance scores and update frequencies
- "How current is Toronto's environmental data?" → Update frequency analysis across environmental datasets
- "What fields are in the building permits dataset?" → Complete schema analysis with data types and sample records
- "Give me insights about Toronto's budget data" → Comprehensive analysis with relevance, freshness, and structure
- "Which datasets update daily?" → Frequency-based filtering and categorization
For Data Scientists & Analysts
- Discover datasets relevant to specific research questions
- Assess data quality and reliability through update patterns
- Understand data structure before detailed analysis
- Find related datasets across different city departments
- Evaluate data completeness and field availability
🏗️ Tech Stack
- Cloudflare Workers: Serverless deployment platform
- Model Context Protocol (MCP): Standard for AI tool integrations
- TypeScript: Type safety and modern development
- Zod: Runtime parameter validation
- CKAN API: Direct integration with Toronto Open Data
📁 Project Structure
toronto-mcp/
├── src/
│ ├── index.ts # MCP server setup and routing
│ └── ckanTools.ts # Toronto Open Data tools implementation
├── test-runner.ts # Automated testing framework
├── test-deployment.ts # Deployment validation script
├── claude-mcp-config.json # Claude Desktop configuration
├── evaluation-guide.md # Comprehensive testing strategies
├── example-usage.md # Usage examples and patterns
├── testing-guide.md # Automated testing documentation
└── README.md # This file
🚀 Quick Start
1. Deploy Your Own Instance
# Clone and deploy
git clone <your-repo>
cd toronto-mcp
npm install
wrangler deploy
2. Test Deployment
# Install testing dependencies
npm install tsx
# Test your deployment
npx tsx test-deployment.ts https://your-worker.workers.dev
3. Connect to Claude Desktop
Create or edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"toronto-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://toronto-mcp.s-a62.workers.dev/sse"]
}
}
}
Restart Claude Desktop and start asking questions about Toronto's open data!
🧪 Testing & Validation
Quick Connectivity Test
npx tsx test-deployment.ts https://toronto-mcp.s-a62.workers.dev
Automated Testing Framework
# Run mock tests (validates framework)
npm test
# Test specific deployment
npm run test