l0grisk intelligence · english

// mcp

Finance MCP & risk

l0g exposes its data to AI agents through the Model Context Protocol, read-only. An agent can query Agent Surface, the OpenAPI contract, NDJSON feeds, Risk Diff, Black Box Recorder, claims, the evidence graph, sources, freshness, integrity, changefeed, signal history or full article text without scraping the site. No key or authentication. Usage measurement is aggregated without IP addresses, cookies, sessions, fingerprints or user-agent strings in MCP telemetry.

Repository contract:1.24.3, with consolidated claims/source tools, at most three structural typed claims per article and anonymous usage statistics. The version and SHA actually running remain available through l0g://mcp/server; repository and runtime are only considered aligned after the attested release is published.
Recommended compact entry point: https://l0g.fr/api/mcp/compact exposes six primitives:discover_l0g, search_l0g, get_document, get_evidence,build_research_pack and get_risk_state. The full MCP remains available at https://l0g.fr/api/mcp. Contract fingerprints are published in toolset-manifest.json.
Primary agent product: get_risk_state unifies current risk, 1/7/30-day changes, instrument history and Black Box replay. Every response preserves its reference date, canonical source, methodology, coverage and interpretation limits. Start here for any risk question.

Version française →

// why

AI agents increasingly read the web on behalf of humans, and they often do it badly: flattening HTML, losing context and mangling citations. For a site whose value depends on sourcing discipline, that is a risk. l0g publishes clean, attributable machine surfaces so the data can be reused exactly.

The Model Context Protocol extends the site philosophy: static-first, self-hosted, no tracking, no opaque proxy, read-only access and CC BY 4.0 reuse with attribution.

// endpoint

Streamable HTTP transport, request/response JSON mode.

https://l0g.fr/api/mcp/compact

Recommended entry point for new integrations. Expert full surface: https://l0g.fr/api/mcp.

Aggregated public report: /api/mcp/usage. Definitions and limitations are documented on the agents page.

Read-only. The code and deployment procedure are public in the GitHub repository.

// resources

Documents and datasets are exposed as MCP resources. Agents can list resources with resources/list, read them with resources/read, and discover parameterized URIs with resources/templates/list. The list is capped at ten static resources so clients do not load the entire catalog into context.

URIContent
l0g://agent-manifestAgent Surface manifest
l0g://openapiComplete OpenAPI contract
l0g://freshnessCorpus and signal freshness
l0g://integrityCanonical SHA-256 fingerprints
l0g://changes/latestLatest editorial changes and publications
l0g://risk-diffRisk diff over 1, 7 and 30 days
l0g://black-boxHashed point-in-time risk frames
l0g://signals/currentCurrent signal state
l0g://signals/historyPoint-in-time signal history
l0g://mcp/serverMCP version, active SHA and server capabilities

// resource templates

TemplateContent
l0g://articles/{slug}First article page with metadata, references and text
l0g://articles/{slug}{?section,offset,limit}Targeted article page by section, offset and limit
l0g://articles/{slug}{?cursor}Article continuation through nextCursor
l0g://en/articles/{slug}First English analysis page with canonical French evidence references
l0g://en/articles/{slug}{?section,offset,limit}Targeted English analysis page
l0g://en/articles/{slug}{?cursor}English analysis continuation through nextCursor
l0g://guides/{slug}First guide page with metadata and text
l0g://guides/{slug}{?section,offset,limit}Targeted guide page by section, offset and limit
l0g://guides/{slug}{?cursor}Guide continuation through nextCursor
l0g://en/guides/{slug}First English guide page
l0g://en/guides/{slug}{?section,offset,limit}Targeted English guide page
l0g://en/guides/{slug}{?cursor}English guide continuation through nextCursor
l0g://claims/{claim_id}Claim-source relationship
l0g://sources/{source_id}Primary source or cited host
l0g://signals/{instrument}/currentCurrent signal and history
l0g://methodologies/{instrument}Methodology note

Templates describe resource families and propose variable completions. Targeted search and filtering tools discover individual instances. The public service is stateless and does not advertise live subscriptions; monitoring goes through l0g://changes/latest or get_changefeed.

// prompts

Four user-controlled workflows are discoverable through prompts/list and rendered through prompts/get. They share their definitions with the Agent Surface guide. Arguments are validated and the stateless server does not advertise listChanged.

PromptArgumentsWorkflow
audit_financial_narrativetopic, language?Audits a financial narrative by separating claims, primary evidence, inferences, scenarios and limitations.
explain_risk_changewindow?, language?Explains what changed in published risk signals over a selected window, without extrapolation.
verify_claimclaim, language?Checks a statement against canonical claims, their evidence and primary sources.
replay_as_ofdate, question?, language?Replays only a state actually archived by a given date, without retrospective reconstruction.

// tools

get_risk_state is the normal path for risk. The full catalog below supports expert research, filtering, evidence, replay, history, subgraph extraction and targeted reading. Full-text search remains local and deterministic, with no vector database or external provider.

ToolArgumentsReturns
get_agent_manifestnoneAgent Surface manifest: capabilities, endpoints, usage rules, proof policies and counters.
get_risk_indicesnoneNormalized risk signals by instrument and 13FLOW confluence synthesis.
get_signal_historykey, limitLevel-change history, current signal state and 13FLOW confluence.
get_risk_diffwindowRisk diff over 1, 7 or 30 days: signals, sources, claims, models, articles and confidence.
get_black_boxdate, limitFramesPoint-in-time replay of hashed risk frames, with explicit refusal for non-replayable dates.
get_openapi_schemamode, pathSummarized, endpoint-targeted or complete OpenAPI contract.
get_ndjson_feedfeed, recordType, limitAllowlisted NDJSON feeds: catalog, claims, evidence graph, changefeed and signal history.
get_freshnesslimitCorpus and signal freshness: observedAt, computedAt, expiration, coverage and policy.
search_contentquery, language, mode, limitBilingual search over the canonical index shared by Agent Surface, MCP and WebMCP.
get_claimsclaimId, articleSlug, language, sourceId, kind, query, includeEvidence, limitSearch, exact claim, article, source and evidence neighbourhood in one contract.
get_evidence_grapharticleSlug, language, nodeType, limitCanonical graph: an English slug points to the French graph without duplication.
list_sourcessourceId, mode, includeClaims, limitList or resolve one source, with linked claims on demand.
get_integritypathCanonical SHA-256 fingerprints for Agent Surface, JSON and NDJSON surfaces.
verify_artifactpath, sha256Allowlisted artifact verification through the integrity manifest.
get_changefeedcontentType, limitLatest changes with objectId, current version/hash, diff status and semantic change.
get_changescontentType, slug, since, limitChangefeed filtered by type, slug and minimum date.
list_recent_analyseslanguage, limitLatest French or English analyses, newest first.
list_guideslanguageFrench or English reference guides.
search_by_topictopic, language, limitAnalyses attached to a topic hub, filterable by language.
get_articleslug, language, offset, cursor, limit, length, sectionPaginated French or English text with canonical references.

// connect

Inspect tools with the official inspector:

npx @modelcontextprotocol/inspector

Connect a desktop client through the local bridge:

npx mcp-remote https://l0g.fr/api/mcp/compact

Example compatible-client configuration:

{
  "mcpServers": {
    "l0g": {
      "command": "npx",
      "args": ["mcp-remote", "https://l0g.fr/api/mcp/compact"]
    }
  }
}

Minimal raw JSON-RPC cycle:

curl -s -X POST https://l0g.fr/api/mcp/compact \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"0.1"}}}'

curl -s -X POST https://l0g.fr/api/mcp/compact \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'

curl -s -X POST https://l0g.fr/api/mcp/compact \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

curl -s -X POST https://l0g.fr/api/mcp/compact \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_risk_state","arguments":{"mode":"current"}}}'

// security and design

  • Read-only. No tool writes anything, and article access goes through a slug allowlist, with no arbitrary URL fetch.
  • Not exposed directly. The service listens locally, behind Apache TLS and proxying.
  • Anti-hijacking. Host and Origin validation on each request, against DNS rebinding attacks.
  • Bounded. Per-IP rate limiting, bounded request size and hardened system service.
  • No sensitive data. Everything is public: no key, no authentication and no tracking.

// other machine access

  • Agent Surface: manifest, OpenAPI, claims, evidence graph, integrity, changefeed and NDJSON.
  • Public API: risk indices, canonical Debt Risk snapshot and level-change feed.
  • llms.txt and llms-full.txt: concise map and full corpus.