# company-intelligence MCP server

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

## Links
- Registry page: https://www.getdrio.com/mcp/ai-velarion-company-intelligence
- Website: https://intel.velarion.ai

## Install
- Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: X-Velarion-Agent-Token (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://velarion-scraper-production.up.railway.app/mcp
- Header: X-Velarion-Agent-Token

## Tools
- lookup_company_compensation - 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). Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- predict_say_on_pay_risk - 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). Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- benchmark_executive_pay - 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). Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- compare_companies - 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. Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- generate_governance_alpha_card - 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) Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- price_product - 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). Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- place_order - 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. Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- fulfill_paid_order - 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. Endpoint: https://velarion-scraper-production.up.railway.app/mcp
- list_skus - 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. Endpoint: https://velarion-scraper-production.up.railway.app/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: ai.velarion
- Version: 0.1.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 14, 2026
- Source: https://registry.modelcontextprotocol.io
