https://github.com/sailingnaturali/club-moorage-mcp
· scanned 2026-06-15 23:59 UTC (2 months, 3 weeks ago)
6 raw signals (0 security + 6 graph)
Last scanned 2 months, 3 weeks ago · v1 · 6 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 159 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_long_harbour_live_lookup |
software | healthy | tests/test_rvyc_live.py:22 |
test_find_near_nanaimo_returns_reciprocal_club |
software | healthy | tests/test_reciprocals.py:11 |
test_relationship_filter_separates_owned_from_reciprocal |
software | healthy | tests/test_reciprocals.py:20 |
test_royal_vancouver_is_not_coded_as_royal_victoria |
software | healthy | tests/test_reciprocals.py:29 |
test_discontinued_reciprocal_excluded_from_list_and_find_bu… |
software | healthy | tests/test_reciprocals.py:39 |
test_get_reciprocal_has_no_club_rules_record |
software | healthy | tests/test_reciprocals.py:52 |
test_outstation_roundtrip_is_stable |
software | healthy | tests/test_models.py:42 |
test_outstation_drops_none_and_empty_from_frontmatter |
software | healthy | tests/test_models.py:55 |
test_club_roundtrip |
software | healthy | tests/test_models.py:64 |
test_moorage_round_trips_court_type_id |
software | healthy | tests/test_models.py:74 |
test_moorage_court_type_id_defaults_none |
software | healthy | tests/test_models.py:89 |
_load |
software | healthy | tests/test_rvyc.py:9 |
test_parse_mixed_counts_free_slips |
software | healthy | tests/test_rvyc.py:13 |
test_parse_all_booked_is_fully_booked |
software | healthy | tests/test_rvyc.py:25 |
test_parse_never_leaks_player_names |
software | healthy | tests/test_rvyc.py:32 |
test_resolve_credentials_reads_env |
software | healthy | tests/test_rvyc.py:42 |
test_resolve_credentials_none_when_unset |
software | healthy | tests/test_rvyc.py:48 |
test_to_api_date_converts_iso |
software | healthy | tests/test_rvyc.py:54 |
test_to_api_date_rejects_bad |
software | healthy | tests/test_rvyc.py:58 |
test_unavailable_builds_reason_only_availability |
software | healthy | tests/test_rvyc.py:63 |
test_build_login_form_includes_hidden_and_credentials |
software | healthy | tests/test_rvyc.py:74 |
test_build_login_form_raises_without_username_field |
software | healthy | tests/test_rvyc.py:87 |
_login_html |
software | healthy | tests/test_rvyc.py:98 |
_client_with |
software | healthy | tests/test_rvyc.py:102 |
test_day_availability_logs_in_then_fetches |
software | healthy | tests/test_rvyc.py:108 |
handler |
software | healthy | tests/test_rvyc.py:209 |
test_day_availability_reuses_session_no_relogin |
software | healthy | tests/test_rvyc.py:129 |
test_day_availability_relogins_once_on_401 |
software | healthy | tests/test_rvyc.py:146 |
test_day_availability_login_failure_degrades |
software | healthy | tests/test_rvyc.py:167 |
test_day_availability_bad_json_degrades |
software | healthy | tests/test_rvyc.py:181 |
test_build_provider_returns_none_without_credentials |
software | healthy | tests/test_rvyc.py:198 |
test_provider_caches_by_court_and_date |
software | healthy | tests/test_rvyc.py:204 |
test_bundled_data_has_three_rvyc_outstations |
software | healthy | tests/test_data_rvyc.py:4 |
test_bundled_data_includes_reciprocal_clubs |
software | healthy | tests/test_data_rvyc.py:13 |
test_long_harbour_is_overnight_capable |
software | healthy | tests/test_data_rvyc.py:24 |
test_dock_only_stations_have_no_holding |
software | healthy | tests/test_data_rvyc.py:33 |
_store |
software | healthy | tests/test_store.py:8 |
test_loads_outstations_and_clubs |
software | healthy | tests/test_store.py:12 |
test_get_moorage_is_case_insensitive |
software | healthy | tests/test_store.py:19 |
test_get_club |
software | healthy | tests/test_store.py:25 |
_store |
software | healthy | tests/test_server.py:9 |
test_tool_list_advertises_five_tools |
software | healthy | tests/test_server.py:13 |
test_dispatch_routes_find |
software | healthy | tests/test_server.py:20 |
test_dispatch_routes_get |
software | healthy | tests/test_server.py:25 |
test_dispatch_unknown_tool_raises |
software | healthy | tests/test_server.py:30 |
test_check_availability_registered |
software | healthy | tests/test_server.py:36 |
test_find_and_rank_schemas_accept_date |
software | healthy | tests/test_server.py:41 |
test_dispatch_check_availability_without_creds |
software | healthy | tests/test_server.py:47 |
_stations |
software | healthy | tests/test_geo.py:5 |
test_within_radius_sorted_nearest_first |
software | healthy | tests/test_geo.py:13 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
test_rvyc_live.py |
software | healthy | tests/test_rvyc_live.py |
test_reciprocals.py |
software | healthy | tests/test_reciprocals.py |
__init__.py |
software | healthy | tests/__init__.py |
test_models.py |
software | healthy | tests/test_models.py |
test_rvyc.py |
software | healthy | tests/test_rvyc.py |
test_data_rvyc.py |
software | healthy | tests/test_data_rvyc.py |
test_store.py |
software | healthy | tests/test_store.py |
test_server.py |
software | healthy | tests/test_server.py |
test_geo.py |
software | healthy | tests/test_geo.py |
test_tools.py |
software | healthy | tests/test_tools.py |
schedule_mixed.json |
software | healthy | tests/fixtures/rvyc/schedule_mixed.json |
schedule_all_booked.json |
software | healthy | tests/fixtures/rvyc/schedule_all_booked.json |
login_form.html |
software | healthy | tests/fixtures/rvyc/login_form.html |
2026-06-12-rvyc-live-availability.md |
software | healthy | docs/superpowers/plans/2026-06-12-rvyc-live-availability.md |
2026-06-12-rvyc-live-availability-design.md |
software | healthy | docs/superpowers/specs/2026-06-12-rvyc-live-availability-de… |
build_records.py |
software | healthy | ingest/build_records.py |
reciprocals.yaml |
software | healthy | ingest/reciprocals.yaml |
rvyc.py |
software | healthy | src/club_moorage_mcp/rvyc.py |
__init__.py |
software | healthy | src/club_moorage_mcp/__init__.py |
tools.py |
software | healthy | src/club_moorage_mcp/tools.py |
models.py |
software | healthy | src/club_moorage_mcp/models.py |
store.py |
software | healthy | src/club_moorage_mcp/store.py |
server.py |
software | healthy | src/club_moorage_mcp/server.py |
geo.py |
software | healthy | src/club_moorage_mcp/geo.py |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
fixtures |
software | healthy | tests/fixtures |
rvyc |
software | healthy | tests/fixtures/rvyc |
docs |
software | healthy | docs |
superpowers |
software | healthy | docs/superpowers |
plans |
software | healthy | docs/superpowers/plans |
specs |
software | healthy | docs/superpowers/specs |
ingest |
software | healthy | ingest |
src |
software | healthy | src |
club_moorage_mcp |
software | healthy | src/club_moorage_mcp |
| Label | Layer | Status | Path |
|---|---|---|---|
Availability |
software | healthy | src/club_moorage_mcp/rvyc.py:25 |
_InputCollector |
software | healthy | src/club_moorage_mcp/rvyc.py:83 |
RvycClient |
software | healthy | src/club_moorage_mcp/rvyc.py:132 |
Moorage |
software | healthy | src/club_moorage_mcp/models.py:30 |
Club |
software | healthy | src/club_moorage_mcp/models.py:89 |
Store |
software | healthy | src/club_moorage_mcp/store.py:21 |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-rukz_z22 |
software | healthy | /tmp/repobility-clone-rukz_z22 |
This page is publicly accessible at:
https://repobility.com/scan/7a25225d-c4a4-4b93-8f11-d2c11e1244fd/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/7a25225d-c4a4-4b93-8f11-d2c11e1244fd/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.