# io.github.Davedat-110105/mcp-gateway (remote · gateway-production-c71a.up.railway.app)

Curated gateway to snapshot-versioned Canadian public data services with source provenance.

- Trust score: 23/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- remote · `gateway-production-c71a.up.railway.app`: 23/100 (this document), [markdown](https://verifymcp.io/servers/davedat-110105-mcp-gateway/gateway-production-c71a.md), [page](https://verifymcp.io/servers/davedat-110105-mcp-gateway/gateway-production-c71a)

## Channel facts

- Endpoint: `https://gateway-production-c71a.up.railway.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint returned HTTP 404.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the io.github.Davedat-110105/mcp-gateway server?

io.github.Davedat-110105/mcp-gateway is a hosted endpoint at https://gateway-production-c71a.up.railway.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http davedat-110105-mcp-gateway 'https://gateway-production-c71a.up.railway.app/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "davedat-110105-mcp-gateway": {
      "url": "https://gateway-production-c71a.up.railway.app/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "davedat-110105-mcp-gateway": {
      "type": "http",
      "url": "https://gateway-production-c71a.up.railway.app/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.davedat-110105-mcp-gateway]
url = "https://gateway-production-c71a.up.railway.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "davedat-110105-mcp-gateway": {
      "type": "remote",
      "url": "https://gateway-production-c71a.up.railway.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add davedat-110105-mcp-gateway --url 'https://gateway-production-c71a.up.railway.app/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  davedat-110105-mcp-gateway:
    url: "https://gateway-production-c71a.up.railway.app/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "davedat-110105-mcp-gateway": {
      "Transport": "http",
      "Url": "https://gateway-production-c71a.up.railway.app/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add davedat-110105-mcp-gateway -t streamable-http -u 'https://gateway-production-c71a.up.railway.app/mcp'
```

### Other

```json
{
  "mcpServers": {
    "davedat-110105-mcp-gateway": {
      "type": "http",
      "url": "https://gateway-production-c71a.up.railway.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-28 (score 23, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-25 (score 23, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-08 (score 0)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → fail
- [security] Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-07 (score 0)

First indexed and scored.

## MCP tools (35)

### `overview` (~20 tokens)

Summarize enabled curated services, coverage, and tool names.

### `find_capability` (~26 tokens)

Find enabled service tools for a plain-language question.

Input parameters:

- `question` (string, required)

### `search_services` (~35 tokens)

Find enabled curated services and their tools.

Input parameters:

- `cursor`
- `limit` (integer)
- `query` (string)

### `inspect_tool` (~35 tokens)

Inspect one enabled curated tool.

Input parameters:

- `mode` (string)
- `service` (string, required)
- `tool` (string, required)

### `call_tool` (~44 tokens)

Validate and call one enabled curated tool.

Input parameters:

- `arguments` (object, required)
- `mode` (string)
- `service` (string, required)
- `tool` (string, required)

### `status` (~31 tokens)

Report how fresh every enabled curated service is: when each source last succeeded, last failed, and whether it is stale.

### `holidays_count_business_days` (~62 tokens)

Weekdays between start and end inclusive that are not holidays in the calendar.

Input parameters:

- `as_of`
- `calendar` (string, required): Required named calendar ID
- `end` (string, required)
- `snapshot_id`
- `start` (string, required)

### `holidays_get_holidays` (~87 tokens)

The public holidays of one calendar for one year, with observed dates.

A year the source does not cover returns no holidays rather than a guess.

Input parameters:

- `as_of`
- `calendar` (string, required): Required named calendar ID, for example GB-EAW-BANK
- `fields`
- `limit`
- `snapshot_id`
- `year` (integer, required)

### `holidays_list_calendars` (~52 tokens)

Every calendar this service names, with its authority and whether data is available.

Use calendar_id from here as calendar in get_holidays and count_business_days.

Input parameters:

- `fields`
- `limit`

### `laws_get_law` (~46 tokens)

One law by the id search_laws returned; law is null when absent.

Input parameters:

- `as_of`
- `law_id` (string, required)
- `snapshot_id`

### `laws_list_law_types` (~44 tokens)

The law types in the snapshot, as search_laws expects them in type.

Input parameters:

- `as_of`
- `limit`
- `snapshot_id`

### `laws_search_laws` (~111 tokens)

Federal Acts and regulations whose title contains the query.

type is act or regulation (see list_law_types); since keeps laws whose
consolidation date (current_to_date) or last amendment is on or after that
date. Each hit links the official XML text.

Input parameters:

- `as_of`
- `cursor`
- `fields`
- `limit` (integer)
- `query` (string)
- `since`
- `snapshot_id`
- `type`

### `opendata_get_dataset` (~50 tokens)

One dataset's full metadata by the id search_datasets returned; dataset is null when absent.

Input parameters:

- `as_of`
- `dataset_id` (string, required)
- `snapshot_id`

### `opendata_list_organizations` (~44 tokens)

Publisher names in the snapshot, as search_datasets expects them in organization.

Input parameters:

- `as_of`
- `limit`
- `snapshot_id`

### `opendata_search_datasets` (~130 tokens)

Find open.canada.ca datasets by words in the title, keywords, or description.

Title matches rank first. description is cut to about 300 characters here;
get_dataset returns it whole. organization is an exact publisher name from
list_organizations; jurisdiction is the source's own word, e.g. Federal or
Municipal.

Input parameters:

- `as_of`
- `cursor`
- `fields`
- `format`
- `jurisdiction`
- `limit` (integer)
- `organization`
- `query` (string)
- `snapshot_id`

### `public-evidence_get_document` (~66 tokens)

Get one document from an immutable snapshot. Citation locators are source-provided, position-based h2/h3 ID fragments and are valid only within the snapshot that produced them.

Input parameters:

- `as_of`
- `document_id` (string, required)
- `snapshot_id`

### `public-evidence_get_document_changes` (~86 tokens)

Compare a document with its prior snapshot. Citation locators are source-provided, position-based h2/h3 ID fragments and are valid only within the snapshot that produced them. An upstream heading insertion can shift later locators and make one source edit appear as many changes.

Input parameters:

- `as_of`
- `document_id` (string, required)
- `snapshot_id`

### `public-evidence_list_evidence_sources` (~64 tokens)

List approved source pages and their citation rule. Citation locators are source-provided, position-based h2/h3 ID fragments and are valid only within the snapshot that produced them.

Input parameters:

- `fields`
- `limit`
- `topic`

### `public-evidence_search_passages` (~105 tokens)

Search passages of one approved document in an immutable snapshot. document_id is a code from list_evidence_sources. Citation locators are source-provided, position-based h2/h3 ID fragments and are valid only within the snapshot that produced them.

Input parameters:

- `as_of`
- `cursor`
- `document_id` (string, required)
- `fields`
- `limit` (integer)
- `query` (string)
- `snapshot_id`

### `recalls_get_recall` (~74 tokens)

One recall by the id search_recalls returned, with the source's advice text; recall is null when absent.

Input parameters:

- `as_of`
- `country` (string): Only CA is supported
- `recall_id` (string, required)
- `snapshot_id`
- `subdivision`: Not supported by this source

### `recalls_list_categories` (~63 tokens)

Recall categories present in the snapshot, as search_recalls expects them in category.

Input parameters:

- `as_of`
- `country` (string): Only CA is supported
- `limit`
- `snapshot_id`
- `subdivision`: Not supported by this source

### `recalls_search_recalls` (~138 tokens)

Health Canada recalls and safety alerts matching words in the title, product, or hazard.

Active recalls only unless active_only is false. category values come from
list_categories. Hits omit what_you_should_do unless fields names it;
get_recall always includes it.

Input parameters:

- `active_only` (boolean)
- `as_of`
- `category`
- `country` (string): Only CA is supported
- `cursor`
- `fields`
- `limit` (integer)
- `query` (string)
- `snapshot_id`
- `subdivision`: Not supported by this source
- `updated_since`

### `seneca_get_course` (~85 tokens)

Get one course from a snapshot; course is null when absent.

Input parameters:

- `as_of`: Use the snapshot captured at or before this ISO-8601 time
- `course_code` (string, required)
- `snapshot_id`: Immutable snapshot id
- `source_code`: Source code, such as seneca
- `term`: Teaching-period code; not a curriculum semester

### `seneca_get_course_prerequisites` (~140 tokens)

Get raw prerequisite text captured from official subject outlines. Text is returned as published; eligibility rules are not parsed.

Input parameters:

- `as_of`: Use the snapshot captured at or before this ISO-8601 time
- `course_code` (string, required)
- `cursor`: Cursor from next_cursor
- `fields`
- `limit` (integer)
- `outline_term_code`: Official subject-outline term code
- `school_code`: School or campus code
- `snapshot_id`: Immutable snapshot id
- `source_code`: Source code, such as seneca
- `term`: Teaching-period code; not a curriculum semester

### `seneca_get_program_courses` (~123 tokens)

List a program's curriculum courses. curriculum_semester is a position in the program, not a teaching term.

Input parameters:

- `as_of`: Use the snapshot captured at or before this ISO-8601 time
- `curriculum_semester`
- `cursor`: Cursor from next_cursor
- `fields`
- `limit` (integer)
- `program_code` (string, required)
- `snapshot_id`: Immutable snapshot id
- `source_code`: Source code, such as seneca
- `term`: Teaching-period code; not a curriculum semester

### `seneca_list_snapshots` (~56 tokens)

List immutable catalog snapshots for one source, current first.

Input parameters:

- `cursor`: Cursor from next_cursor
- `fields`
- `limit` (integer)
- `source_code`: Source code, such as seneca

### `seneca_list_sources` (~28 tokens)

List the institutions available in this catalog.

Input parameters:

- `fields`
- `limit`

### `seneca_search_courses` (~104 tokens)

Search course codes, names, and descriptions within one snapshot.

Input parameters:

- `as_of`: Use the snapshot captured at or before this ISO-8601 time
- `cursor`: Cursor from next_cursor
- `fields`
- `limit` (integer)
- `query` (string, required)
- `snapshot_id`: Immutable snapshot id
- `source_code`: Source code, such as seneca
- `term`: Teaching-period code; not a curriculum semester

### `seneca_search_programs` (~103 tokens)

Search program codes or names within one catalog snapshot.

Input parameters:

- `as_of`: Use the snapshot captured at or before this ISO-8601 time
- `cursor`: Cursor from next_cursor
- `fields`
- `limit` (integer)
- `query` (string)
- `snapshot_id`: Immutable snapshot id
- `source_code`: Source code, such as seneca
- `term`: Teaching-period code; not a curriculum semester

### `transit-toronto_get_alerts` (~112 tokens)

Current TTC service alerts (subway, streetcar, bus, elevators) from the last capture.

route narrows to one route number or line, as listed by get_routes. The
envelope says whether the capture is fresh or the TTC feed was unavailable.

Input parameters:

- `agency` (string): Only ttc is supported
- `as_of`
- `cursor`
- `fields`
- `limit` (integer)
- `route`
- `snapshot_id`

### `transit-toronto_get_routes` (~61 tokens)

Routes that have at least one alert in the capture, as get_alerts expects them in route.

Input parameters:

- `agency` (string): Only ttc is supported
- `as_of`
- `limit`
- `snapshot_id`

### `transit-toronto_list_agencies` (~33 tokens)

The transit agencies covered. Only the TTC today.

Input parameters:

- `fields`
- `limit`

### `weather-alerts_get_weather_alert` (~86 tokens)

One alert by the id search_weather_alerts returned; alert is null when absent.

Input parameters:

- `alert_id` (string, required)
- `as_of`
- `country` (string): Only CA is supported
- `snapshot_id`
- `subdivision` (string, required): One province or territory, e.g. CA-ON. Required: alerts are held per province.

### `weather-alerts_list_weather_alert_types` (~85 tokens)

The alert types (watch, warning, statement) present for one province in the snapshot.

Input parameters:

- `as_of`
- `country` (string): Only CA is supported
- `limit`
- `snapshot_id`
- `subdivision` (string, required): One province or territory, e.g. CA-ON. Required: alerts are held per province.

### `weather-alerts_search_weather_alerts` (~146 tokens)

Active ECCC weather alerts for one province or territory, newest first.

alert_type is watch, warning, or statement. Alerts the source has marked
ended are left out unless active_only is false.

Input parameters:

- `active_only` (boolean)
- `alert_type`
- `as_of`
- `country` (string): Only CA is supported
- `cursor`
- `fields`
- `limit` (integer)
- `query` (string)
- `risk_colour`
- `snapshot_id`
- `subdivision` (string, required): One province or territory, e.g. CA-ON. Required: alerts are held per province.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/davedat-110105-mcp-gateway/gateway-production-c71a#diagnostics

## Score history

- 2026-10-24: 23
- 2026-10-23: 23
- 2026-10-22: 23
- 2026-10-21: 23
- 2026-10-20: 23
- 2026-10-19: 23
- 2026-10-18: 23
- 2026-10-17: 23
- 2026-10-16: 23
- 2026-10-15: 23
- 2026-10-14: 23
- 2026-10-13: 23
- 2026-10-12: 23
- 2026-10-10: 23
- 2026-10-07: 23
- 2026-10-04: 23
- 2026-10-03: 23
- 2026-10-02: 23
- 2026-10-01: 23
- 2026-09-30: 23
- 2026-09-29: 23
- 2026-09-28: 23
- 2026-09-27: 23
- 2026-09-26: 23
- 2026-09-25: 23
- 2026-09-24: 23
- 2026-09-23: 23
- 2026-09-22: 23
- 2026-09-21: 23
- 2026-09-20: 23

## Common questions

### What is the io.github.Davedat-110105/mcp-gateway server?

io.github.Davedat-110105/mcp-gateway is listed in the public MCP registry as io.github.Davedat-110105/mcp-gateway. Curated gateway to snapshot-versioned Canadian public data services with source provenance. This page covers its hosted endpoint (https://gateway-production-c71a.up.railway.app/mcp).

### Is the io.github.Davedat-110105/mcp-gateway server safe to use?

io.github.Davedat-110105/mcp-gateway scores 23 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.Davedat-110105/mcp-gateway server expose?

io.github.Davedat-110105/mcp-gateway exposes 35 tools: overview, find_capability, search_services, inspect_tool, call_tool, and 30 more. Their descriptions and schemas cost roughly 2,575 tokens of context every time the server is loaded.

### Does the io.github.Davedat-110105/mcp-gateway server require authentication?

Its publisher declares no required credentials for io.github.Davedat-110105/mcp-gateway. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the io.github.Davedat-110105/mcp-gateway server still maintained?

io.github.Davedat-110105/mcp-gateway is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://gateway-production-c71a.up.railway.app/mcp
- Repository: https://github.com/Davedat-110105/mcp
- Changelog RSS feed: https://verifymcp.io/servers/davedat-110105-mcp-gateway/gateway-production-c71a.xml
- Changelog JSON feed: https://verifymcp.io/servers/davedat-110105-mcp-gateway/gateway-production-c71a.json
- HTML version of this page: https://verifymcp.io/servers/davedat-110105-mcp-gateway/gateway-production-c71a
