← Lukka Digital Assets IntelCONTENT HISTORY

Update to Lukka Digital Assets Intel

Snapshot Nov 4, 2026 · 18:11 UTC · version 1.0.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Lukka Digital Assets Intel and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Ping each hosted MCP server with one cheap tool, report auth, dispatch, and known drift.",
  "included_files": [],
  "name": "health",
  "skill_md_contents": "---\nname: health\ndescription: \"Ping each hosted MCP server with one cheap tool, report auth, dispatch, and known drift.\"\n---\n\n## OpenAI connection notes\n\nTool identifiers below are raw operation names. The host may add a namespace;\nuse the matching advertised Global MCP tool. Resolve `<resolved-package-root>`\nto this plugin's installed directory before using paths. Workflow names identify\npackaged skills; they are not literal Claude slash commands.\n\nOriginal procedure tool scope: `AML___generateAmlScoringReport`, `UDA___Get_newest_block_blockheight`, `pricing___get_latest_index_prices`, `pricing___list_pricing_sources`, `refdata___get_asset_mappings`, `refdata___get_entity_by_code`, `analytics___getImpliedRates`, `news___getDailySummaries`, `prediction-markets___GetExchanges`.\n\n# health workflow\n\n> See [CONNECTORS.md](../../CONNECTORS.md) for server details.\n\n## Usage\n\nhealth workflow\n\n## Purpose\n\nSmoke-test the seven hosted MCP servers and flag known drift conditions in under 10 seconds. Use this:\n- Right after installing this plugin in the OpenAI host + OAuth authentication, to confirm every server is reachable\n- Before starting a long session, to catch availability changes early\n- When a downstream command fails mysteriously, to isolate server-level issues from flow-level issues\n\n## Flow (parallel where possible)\n\n### Phase A - Server reachability (7 smoke calls, parallel)\n\nRun the cheapest dispatchable tool per server. Every call should return a shaped payload without ValidationException.\n\n1. `pricing___list_pricing_sources({})` \n2. `refdata___get_asset_mappings({ lukkaAssetCode: \"XBT\", mappingStatus: \"Active\", limit: 1 })` \n3. `AML___generateAmlScoringReport({ address: \"0x13203aB9C9f054fe8B4671bC0EEC3ab26D2f3477\", address_type: \"ETH\" })` \n4. `UDA___Get_newest_block_blockheight({ blockchain: \"eth\" })` \n5. `prediction-markets___GetExchanges({ limit: \"1\", offset: \"0\", primary_location: \"\", vasp_classification: \"\", vast_type: \"\" })` \n6. `news___getDailySummaries({ limit: 1 })` \n7. `analytics___getImpliedRates({ pairCode: \"XBT-USD\", lukkaEntityCode: \"LUKKA\", curveType: \"INST_FWD\", modelType: \"NSS\", source: \"FUTURES\", rateType: \"BASIS\", timeRange: \"1D\", timeTo: \"{now}\", limit: 1 })`  - note `timeRange` MUST be anchored with `timeTo` (or `timeFrom`); an un-anchored `timeRange` returns HTTP 400 by design.\n\nRecord per server: dispatched (yes/no), response shape ok (yes/no), latency.\n\n### Phase B - Known-drift checks (3 targeted calls, parallel)\n\n8. `refdata___get_entity_by_code({ code: \"COINBASE\" })`  - `COINBASE` is NOT a canonical code and MUST NOT resolve to an Exchange record; the canonical Coinbase code is `CPRO`. Assert the result is not type `Exchange` (routing correctness check). If it now returns a canonical exchange record, flag as a data change and prompt the user to re-validate canonical codes.\n9. `refdata___get_entity_by_code({ code: \"CPRO\" })`  - MUST return Coinbase Pro (type `Exchange`, jurisdiction `USA`, amlKycProcess `Y`).\n10. `pricing___get_latest_index_prices({ sourceId: 3000, pairCodes: \"XBT-USD\" })`  - index-price availability probe (sourceId 3000 = Hourly; Reference Rate = 5001/5002, requires access). Two acceptable outcomes: (a) payload -> access enabled; (b) 404 -> use EOD/Intraday path. Any other error (401/403/5xx) is a drift signal.\n\n### Phase C - Processor sanity (local, no MCP)\n\n11. Run `process_aml_report.py` against the bundled synthetic fixture `<resolved-package-root>/tests/fixtures/aml/scoring_sample.raw` and confirm output > 100 bytes and contains `cscore`. This verifies the processor works without depending on external state.\n\n## Output\n\n```\nLukka Plugin Health - {date} {time}\n\nServer availability (Phase A)\n| # | Server | Tool | Dispatched | Shape OK | Notes |\n|---|--------|------|-----------|----------|-------|\n| 1 | Lukka-Pricing | list_pricing_sources | YES / NO | YES / NO | {count} active sources |\n| 2 | Lukka-RefData | get_asset_mappings(XBT) | YES / NO | YES / NO | lukkaAssetId = {lid} |\n| 3 | Lukka-AML | generateAmlScoringReport | YES / NO | YES / NO | score {n}, level {lvl} |\n| 4 | Lukka-UDA | Get_newest_block_blockheight(eth) | YES / NO | YES / NO | block {n} |\n| 5 | Lukka-Predmar | GetExchanges | YES / NO | YES / NO | {count} venues |\n| 6 | Lukka-News | getDailySummaries(limit:1) | YES / NO | YES / NO | date: {date}, articles: {count} |\n| 7 | Lukka-Analytics | getImpliedRates(XBT-USD) | YES / NO | YES / NO | {n} tenors, businessTime {ts} |\n\nKnown drift (Phase B)\n| Check | Expected | Got | Status |\n|-------|----------|-----|--------|\n| COINBASE non-canonical | type != Exchange (use CPRO) | {actual} | PASS / FAIL |\n| CPRO canonical | type=Exchange, Coinbase Pro | {actual} | PASS / FAIL |\n| get_latest_index_prices(3000) | price payload (access enabled) OR 404 (use EOD/Intraday path) | {actual} | AVAILABLE / EOD-PATH / DRIFT |\n\nSummary\n- Overall: {PASS / DEGRADED / FAIL}\n- Actions: {list}\n```\n\n## Interpretation\n\n- **PASS**: all 7 servers up, all drift checks match documented expectations. Safe to run any command.\n- **DEGRADED**: one server down, or one drift check flipped. Command-level impact listed in Actions.\n- **FAIL**: two or more servers down, or both entity-code checks broken. Plugin is not usable; check the host's MCP connection settings auth.\n- **All servers unauthenticated / no credentials**: if every server fails to dispatch, you likely have not authenticated (or have no Lukka account). Authenticate each server via the host's MCP connection settings. No account or keys yet? Request access at **https://lukka.tech/plugin**. For setup or access problems, contact **plugin-support@lukka.global**.\n\n## Common follow-ups\n\n- Missing `address_type` on AML: confirm you are calling `generateAmlScoringReport` with `address_type` (UPPERCASE chain, e.g. `ETH`), not `blockchain`.\n- `GetExchanges` ValidationException: confirm the required `limit` and `offset` parameters are passed.\n- `get_asset_mappings` returns empty for XBT: data may not be available for that code; retry with `lukkaAssetCode: \"ETH\"`.\n"
}

SHA-256 of public snapshot: 4e2cce40a0cc8a52201e7856e1b35aeb9e93498d0836979764dc30a561167785