# ai.velarion/company-intelligence (remote · velarion-scraper-production.up.railway.app)

Exec comp benchmarking, say-on-pay risk, and governance cards for US public companies.

- Trust score: 56/100 (low)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `velarion-scraper-production.up.railway.app`: 56/100 (this document), [markdown](https://verifymcp.io/servers/ai-velarion-company-intelligence/velarion-scraper-production.md), [page](https://verifymcp.io/servers/ai-velarion-company-intelligence/velarion-scraper-production)

## Channel facts

- Endpoint: `https://velarion-scraper-production.up.railway.app/mcp`
- Transports: `streamable-http`
- Auth: `required`
- 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-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 9 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - 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**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 37/100
  - AI-judged instruction clarity (fair).
  - Context-footprint check failed: tool/resource definitions use about 1700 tokens (~188/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ai-velarion-company-intelligence https://velarion-scraper-production.up.railway.app/mcp
```

### Codex

```toml
[mcp_servers.ai-velarion-company-intelligence]
url = "https://velarion-scraper-production.up.railway.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-velarion-company-intelligence": {
      "type": "remote",
      "url": "https://velarion-scraper-production.up.railway.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-velarion-company-intelligence --url https://velarion-scraper-production.up.railway.app/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-velarion-company-intelligence:
    url: "https://velarion-scraper-production.up.railway.app/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ai-velarion-company-intelligence": {
      "type": "http",
      "url": "https://velarion-scraper-production.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-08-02 (score 56, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 55, +3)

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

### 2026-07-30 (score 52, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 51, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 50, +1)

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

### 2026-07-26 (score 49)

First indexed and scored.

## MCP tools (9)

### `lookup_company_compensation` (~107 tokens)

Look up executive compensation for a company in Velarion's coverage universe.

Returns CEO/NEO total compensation, pay mix breakdown, and canonical metrics for the
requested fiscal year (latest available if omitted). All data sourced from Supabase
production tables — no LLM, no invented values.

Out-of-coverage tickers return a structured error (not_in_coverage).

Input parameters:

- `agent_token` (string)
- `fiscal_year`
- `ticker` (string, required)

### `predict_say_on_pay_risk` (~129 tokens)

Predict Say-on-Pay risk for a company using Velarion's deterministic risk compilers.

Returns trend phrase, peer cohort distribution note, governance friction summary, and
overall risk band. No LLM — fully deterministic from canonical_metrics + say_on_pay data.

Compilers: compile_sop_trend_phrase, compile_sop_peer_cohort_distribution,
compile_governance_friction_summary (lib/agent_merchant/compilers/say_on_pay_risk.py).

Input parameters:

- `agent_token` (string)
- `fiscal_year`
- `ticker` (string, required)

### `benchmark_executive_pay` (~118 tokens)

Benchmark executive pay vs. disclosed peers using Velarion's canonical percentile data.

Returns pay percentile, performance (TSR) percentile, P4P gap, and an alignment label
based on canonical_metrics columns (ceo_percentile, tsr_percentile, p4p_gap). No LLM.

role is currently CEO-only (only CEO percentile is pre-computed in canonical_metrics).

Input parameters:

- `agent_token` (string)
- `fiscal_year`
- `role` (string)
- `ticker` (string, required)

### `compare_companies` (~92 tokens)

Compare multiple companies on pay, performance, and governance metrics.

Returns a ranked table from Velarion's canonical_metrics — no LLM narrative invention.
The data-based summary describes observed patterns in the returned data only.
Out-of-coverage tickers are excluded (listed separately). Max 20 tickers.

Input parameters:

- `agent_token` (string)
- `fiscal_year`
- `tickers` (array, required)

### `generate_governance_alpha_card` (~319 tokens)

Generate a Governance Alpha Card for a company.

Composite deterministic card: pay alignment (Velarion's own P4P-style estimate, modeled
on public proxy-advisory methodology concepts — not licensed ISS data), governance scorecard, SoP risk band,
peer quality, top risks/strengths. Requires the company to be in Velarion's coverage
universe with current-period data.

Calls generate_alpha_card (lib/agent_merchant/compilers/governance_alpha_card.py:441)
after confirming deliverability via evaluate_deliverability (deliverability.py:219),
which includes the period-currency gate (_governance_alpha_card_period_gate at :312).

FREE-TIER CAP: this is the free sample of a $100 marketplace product
(GOVERNANCE-ALPHA-CARD, pricer.py:59). Each agent gets ALPHA_CARD_FREE_DAILY_CAP cards
per UTC day; beyond that the tool returns free_tier_cap_reached with the purchase path.
Unlimited free issuance of the paid anchor product is the contradiction the catalog's
PRICE_INTEGRITY blocker named — the cap is what resolves it.

Structured errors returned (not raised) for:
\- not_in_coverage: ticker unknown
\- not_deliverable: coverage too thin / stale period
\- free_tier_cap_reached: daily free allowance spent (buy it, or wait for 00:00 UTC)

Input parameters:

- `agent_token` (string)
- `ticker` (string, required)
- `year`

### `price_product` (~272 tokens)

Price a Velarion product. Handles EVERY catalog SKU in its real state.

product_type may be a sku_id (e.g. "SKU-002") OR a custom_artifact_family
(e.g. "peer_disclosure_custom_cohort"). Returns the row's classification and, when
APPROVED_SELLABLE, the price a buyer is actually charged:
  \- APPROVED_SELLABLE     → proposed_price_cents + currency + fulfillment_type +
                            latency + caveats. No price floor touches it (deleted
                            2026-07-14); the catalog/pricer anchor IS the billed price.
  \- NEEDS_OWNER_APPROVAL  → {status: "needs_owner_approval"} structurally — price is
                            known but the row is pending Andy's approval flip.
  \- UNSELLABLE / KILLED   → structured error with the reason.

custom_band families price via the profit-aware pricer (respecting MERCHANT_MIN_MARGIN);
one_off_fixed SKUs price at the canonical catalog price_cents. No fabricated price is
ever returned (price_verified gate enforced upstream in classify_sku).

Input parameters:

- `agent_token` (string)
- `buyer_type`
- `product_type` (string, required)
- `scope_params`
- `ticker` (string, required)

### `place_order` (~242 tokens)

Place an order for a priced product — creates a quote you can pay and then fulfill.

This is the missing middle of the buy path: price_product tells you what it costs,
place_order creates the actual quote (owned by YOUR agent account), and
fulfill_paid_order delivers it once settlement clears.

Requires a token with the mcp:buy scope AND a Velarion commerce account — a
self-serve token issued at POST /agent/v1/token/self-serve has both.

CUSTOM-* cohort products (CUSTOM-PEER-COHORT / CUSTOM-SOP-WINDOW / CUSTOM-GOV-EXTENDED):
the ticker list is the comparison cohort, capped at 15 distinct tickers (a 16th is a
clean too_many_tickers rejection, never a silent truncation). The subject is the first
in-coverage ticker unless subject_ticker names another cohort member.

Returns quote_id, the price, and how to pay. Nothing is charged here.

Input parameters:

- `agent_token` (string)
- `product_type` (string, required)
- `scope_params`
- `subject_ticker`
- `tickers` (array, required)

### `fulfill_paid_order` (~193 tokens)

Fulfill a paid custom quote by compiling and delivering its artifact.

Ownership gate: you may only fulfill a quote your own agent account owns. (The REST
buyer rail has always enforced this — routes.py:656 — and this tool did not, which
meant any valid token could fulfill, and therefore download, an artifact somebody
else had paid for. Latent while every token was owner-issued; a live artifact leak
the moment self-serve issuance opened. Closed here.)

Settlement gate (fail-closed): if the quote is priced and settlement is not verified
on any rail, returns settlement_unverified — compile_and_deliver is NOT called.

On verified settlement: calls compile_and_deliver (fulfillment.py:121) — the same
path used by Danny and the agent bridge. No forked fulfillment logic.

Input parameters:

- `agent_token` (string)
- `quote_id` (string, required)

### `list_skus` (~153 tokens)

List the Velarion catalog — every product an agent can see and (where APPROVED_SELLABLE) buy.

Returns all APPROVED_SELLABLE SKUs with full detail by default (sku_id, name, price,
currency, fulfillment type, latency, caveats, classification). Set
include_non_sellable=true to also return NEEDS_OWNER_APPROVAL / UNSELLABLE / KILLED rows,
each clearly tagged with its classification and blockers so inventory is never hidden —
only de-prioritized. No price is fabricated: unverified prices are surfaced as-is with
their classification, never quoted as billable.

Input parameters:

- `agent_token` (string)
- `include_non_sellable` (boolean)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-velarion-company-intelligence/velarion-scraper-production#diagnostics

## Score history

- 2026-08-03: 56
- 2026-08-02: 56
- 2026-08-01: 55
- 2026-07-31: 55
- 2026-07-30: 52
- 2026-07-29: 51
- 2026-07-28: 51
- 2026-07-27: 50
- 2026-07-26: 49

## Links

- Remote endpoint: https://velarion-scraper-production.up.railway.app/mcp
- Authorisation metadata: https://velarion-scraper-production.up.railway.app/.well-known/oauth-protected-resource/mcp
- Website: https://intel.velarion.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-velarion-company-intelligence/velarion-scraper-production/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-velarion-company-intelligence/velarion-scraper-production/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ai-velarion-company-intelligence/velarion-scraper-production
