Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

sailingnaturali/club-moorage-mcp

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)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

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.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

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.

LabelLayerStatusPath
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.

LabelLayerStatusPath
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

LabelLayerStatusPath
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

LabelLayerStatusPath
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

LabelLayerStatusPath
repobility-clone-rukz_z22 software healthy /tmp/repobility-clone-rukz_z22
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

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.