# KeyVex (remote · mcp.keyvex.com)

US public financial disclosures for AI agents: Congress trades, SEC filings, FEC, lobbying, more

- Trust score: 91/100 (high trust)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.keyvex.com`: 78/100, [markdown](https://verifymcp.io/servers/com-keyvex-keyvex/mcp.md), [page](https://verifymcp.io/servers/com-keyvex-keyvex/mcp)
- remote · `mcp.keyvex.com`: 91/100 (this document), [markdown](https://verifymcp.io/servers/com-keyvex-keyvex/pro.md), [page](https://verifymcp.io/servers/com-keyvex-keyvex/pro)

## Channel facts

- Endpoint: `https://mcp.keyvex.com/pro`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.102.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-11-05.

- **Endpoint Security**: 97/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 58/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 60501 tokens (~945/item across 64 items; 64 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 64 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 64 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the KeyVex MCP server?

KeyVex is a hosted endpoint at https://mcp.keyvex.com/pro, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-keyvex-keyvex 'https://mcp.keyvex.com/pro'
```

### Cursor

```json
{
  "mcpServers": {
    "com-keyvex-keyvex": {
      "url": "https://mcp.keyvex.com/pro"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-keyvex-keyvex": {
      "type": "http",
      "url": "https://mcp.keyvex.com/pro"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-keyvex-keyvex]
url = "https://mcp.keyvex.com/pro"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-keyvex-keyvex": {
      "type": "remote",
      "url": "https://mcp.keyvex.com/pro",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-keyvex-keyvex --url 'https://mcp.keyvex.com/pro' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-keyvex-keyvex:
    url: "https://mcp.keyvex.com/pro"
```

### Netclaw

```json
{
  "McpServers": {
    "com-keyvex-keyvex": {
      "Transport": "http",
      "Url": "https://mcp.keyvex.com/pro"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-keyvex-keyvex -t streamable-http -u 'https://mcp.keyvex.com/pro'
```

### Other

```json
{
  "mcpServers": {
    "com-keyvex-keyvex": {
      "type": "http",
      "url": "https://mcp.keyvex.com/pro"
    }
  }
}
```

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-11-05 (score 91, 0)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-11-04 (score 91, 0)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-11-03 (score 91, 0)

- [security] Stability: 0.97 → pass
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-11-02 (score 91, +1)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-11-01 (score 90, 0)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-31 (score 90, +1)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-30 (score 89, 0)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-29 (score 89, +1)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

## MCP tools (64)

The latest capture was truncated, so this tool list may be partial.

### `get_insider_filings` (~886 tokens)

Input parameters:

- `accession_number` (string)
- `company_cik` (string)
- `company_name` (string)
- `document_type` (string)
- `is_amendment` (boolean)
- `limit` (integer)
- `reporting_owner_name` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_insider_holdings` (~1139 tokens)

Input parameters:

- `company_cik` (string)
- `company_name` (string)
- `direct_indirect_ownership` (string)
- `holding_type` (string)
- `is_director` (boolean)
- `is_officer` (boolean)
- `is_ten_percent_owner` (boolean)
- `limit` (integer)
- `merge_co_reports` (boolean)
- `min_shares` (number)
- `min_value` (number)
- `reporting_owner_cik` (string)
- `reporting_owner_name` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_insider_transactions` (~6699 tokens)

Input parameters:

- `aff10b5one` (string)
- `company_cik` (string)
- `cursor` (string)
- `data_source` (string)
- `include_baseline` (boolean)
- `include_non_open_market` (boolean)
- `include_unpriced` (boolean)
- `is_derivative` (boolean)
- `limit` (integer)
- `merge_co_reports` (boolean)
- `min_value` (number)
- `officer_name` (string)
- `reporting_owner_cik` (string)
- `reporting_owner_name` (string)
- `row_type` (string)
- `schema_era` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `trans_codes` (array)
- `transaction_codes` (array)
- `transaction_type` (string)
- `until` (string)

### `get_institutional_holdings` (~1092 tokens)

Input parameters:

- `cursor` (string)
- `cusip` (string)
- `fund_cik` (string)
- `fund_name` (string)
- `limit` (integer)
- `min_value` (number)
- `position_change` (string)
- `quarter` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)

### `get_congressional_trades` (~1343 tokens)

Input parameters:

- `amendment_status` (string)
- `bioguide_id` (string)
- `chamber` (string)
- `cursor` (string)
- `exclude_superseded` (boolean)
- `include_non_open_market` (boolean)
- `limit` (integer)
- `member_name` (string)
- `min_amount` (number)
- `owner` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `transaction_type` (string)
- `until` (string)

### `get_planned_insider_sales` (~1081 tokens)

Input parameters:

- `company_cik` (string)
- `filer_name` (string)
- `limit` (integer)
- `min_value` (number)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_activist_stakes` (~1149 tokens)

Input parameters:

- `company_cik` (string)
- `cusip` (string)
- `filer_cik` (string)
- `filer_name` (string)
- `filing_type` (string)
- `include_filing_narrative` (boolean)
- `is_activist` (boolean)
- `limit` (integer)
- `min_percent_of_class` (number)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_federal_contracts` (~1059 tokens)

Input parameters:

- `awarding_agency` (string)
- `limit` (integer)
- `min_amount` (number)
- `naics_code` (string)
- `psc_code` (string)
- `recipient_name` (string)
- `recipient_uei` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_federal_grants` (~917 tokens)

Input parameters:

- `awarding_agency` (string)
- `cfda_number` (string)
- `limit` (integer)
- `min_amount` (number)
- `recipient_name` (string)
- `recipient_uei` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_member_profile` (~629 tokens)

Input parameters:

- `bioguide_id` (string)
- `chamber` (string)
- `committee_id` (string)
- `limit` (integer)
- `member_name` (string)
- `party` (string)
- `state` (string)

### `get_material_events` (~845 tokens)

Input parameters:

- `company_cik` (string)
- `is_amendment` (boolean)
- `item_codes` (array)
- `limit` (integer)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_lobbying_filings` (~867 tokens)

Input parameters:

- `client_name` (string)
- `filing_period` (string)
- `filing_year` (integer)
- `general_issue_codes` (array)
- `government_entity` (string)
- `limit` (integer)
- `min_income` (number)
- `registrant_name` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_lobbyist_contributions` (~655 tokens)

Input parameters:

- `contribution_type` (string)
- `filer_type` (string)
- `filing_uuid` (string)
- `filing_year` (integer)
- `honoree_name` (string)
- `include_empty` (boolean)
- `limit` (integer)
- `lobbyist_name` (string)
- `payee_name` (string)
- `registrant_name` (string)
- `since` (string)
- `sort_order` (string)
- `until` (string)

### `get_annual_financial_disclosures` (~1072 tokens)

Input parameters:

- `bioguide_id` (string)
- `chamber` (string)
- `filing_year` (integer)
- `limit` (integer)
- `member_name` (string)
- `party` (string)
- `report_type` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)
- `until` (string)

### `get_fec_candidate_profile` (~873 tokens)

Input parameters:

- `active_only` (boolean)
- `candidate_id` (string)
- `candidate_name` (string)
- `cycle` (integer)
- `district` (string)
- `include_committees` (boolean)
- `limit` (integer)
- `office` (string)
- `party` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)

### `get_fec_contributions` (~1773 tokens)

Input parameters:

- `candidate_id` (string)
- `contributor_employer` (string)
- `contributor_state` (string)
- `cycle` (integer)
- `entity_type` (string)
- `exclude_memos` (boolean)
- `group_by` (string)
- `leaderboard` (boolean)
- `limit` (integer)
- `max_amount` (number)
- `min_amount` (number)
- `recipient_committee_id` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `sub_id` (string)
- `until` (string)

### `get_fec_disbursements` (~1192 tokens)

Input parameters:

- `candidate_id` (string)
- `cycle` (integer)
- `disbursement_purpose_category` (string)
- `entity_type` (string)
- `exclude_memos` (boolean)
- `limit` (integer)
- `max_amount` (number)
- `min_amount` (number)
- `recipient_name` (string)
- `recipient_state` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `spender_committee_id` (string)
- `sub_id` (string)
- `until` (string)

### `get_fec_independent_expenditures` (~972 tokens)

Input parameters:

- `candidate_id` (string)
- `candidate_office` (string)
- `candidate_office_state` (string)
- `committee_id` (string)
- `cycle` (integer)
- `description` (string)
- `exclude_memos` (boolean)
- `limit` (integer)
- `max_amount` (number)
- `min_amount` (number)
- `payee_name` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `sub_id` (string)
- `support_oppose` (string)
- `until` (string)

### `get_tender_offers` (~643 tokens)

Input parameters:

- `accession_number` (string)
- `bidder_cik` (string)
- `bidder_name` (string)
- `exclude_amendments` (boolean)
- `form_type` (string)
- `issuer_only` (boolean)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `target_cik` (string)
- `target_name` (string)
- `target_ticker` (string)
- `third_party_only` (boolean)
- `until` (string)

### `get_bills` (~733 tokens)

Input parameters:

- `bill_id` (string)
- `bill_type` (string)
- `congress` (integer)
- `introduced_since` (string)
- `introduced_until` (string)
- `limit` (integer)
- `origin_chamber` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `title` (string)
- `until` (string)

### `get_roll_call_votes` (~840 tokens)

Input parameters:

- `bill_id` (string)
- `chamber` (string)
- `congress` (integer)
- `legislation_type` (string)
- `limit` (integer)
- `result` (string)
- `session_number` (integer)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)
- `vote_id` (string)

### `get_private_placements` (~1096 tokens)

Input parameters:

- `federal_exemption` (string)
- `filing_id` (string)
- `industry_group_type` (string)
- `investment_fund_type` (string)
- `is_amendment` (boolean)
- `issuer_cik` (string)
- `issuer_name` (string)
- `issuer_state` (string)
- `jurisdiction_of_inc` (string)
- `limit` (integer)
- `min_amount_sold` (number)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_crowdfunding_offerings` (~548 tokens)

Input parameters:

- `accession_number` (string)
- `cik` (string)
- `filing_type` (string)
- `issuer_name` (string)
- `jurisdiction` (string)
- `limit` (integer)
- `portal_name` (string)
- `since` (string)
- `sort_order` (string)
- `until` (string)

### `get_reg_a_offerings` (~519 tokens)

Input parameters:

- `accession_number` (string)
- `cik` (string)
- `issuer_name` (string)
- `jurisdiction` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `tier` (string)
- `until` (string)

### `get_product_recalls` (~1912 tokens)

Input parameters:

- `classification` (string)
- `limit` (integer)
- `product_description` (string)
- `recall_number` (string)
- `recalling_firm` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `source` (string)
- `status` (string)
- `until` (string)
- `vehicle_make` (string)
- `vehicle_model` (string)
- `vehicles_cursor` (string)

### `get_fda_approvals` (~899 tokens)

Input parameters:

- `applicant` (string)
- `application_number` (string)
- `category` (string)
- `decision_code` (string)
- `id` (string)
- `limit` (integer)
- `product_code` (string)
- `product_name` (string)
- `review_priority` (string)
- `since` (string)
- `sort_order` (string)
- `source` (string)
- `until` (string)

### `get_drug_adverse_events` (~683 tokens)

Input parameters:

- `count_by` (string)
- `country` (string)
- `drug` (string)
- `limit` (integer)
- `manufacturer` (string)
- `outcome` (string)
- `reaction` (string)
- `serious` (boolean)
- `since` (string)
- `skip` (integer)
- `until` (string)

### `get_bank_financials` (~787 tokens)

Input parameters:

- `cert` (integer)
- `id` (string)
- `limit` (integer)
- `name` (string)
- `report_date` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)
- `until` (string)

### `get_enforcement_actions` (~1391 tokens)

Input parameters:

- `action_id` (string)
- `agency_component` (string)
- `category` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `source` (string)
- `text` (string)
- `title` (string)
- `topic` (string)
- `until` (string)

### `get_epa_enforcement` (~785 tokens)

Input parameters:

- `activity_type` (string)
- `case_number` (string)
- `defendant_name` (string)
- `fiscal_year` (integer)
- `limit` (integer)
- `min_penalty` (number)
- `primary_statute` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)
- `until` (string)

### `get_nport_filings` (~557 tokens)

Input parameters:

- `filer_cik` (string)
- `filer_name` (string)
- `filing_id` (string)
- `is_amendment` (boolean)
- `limit` (integer)
- `period_ending` (string)
- `sec_file_number` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_money_market_funds` (~872 tokens)

Input parameters:

- `accession_number` (string)
- `cik` (string)
- `fund_category` (string)
- `fund_name` (string)
- `is_retail_fund` (boolean)
- `limit` (integer)
- `series_id` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_fund_holdings` (~2209 tokens)

Input parameters:

- `asset_cat` (string)
- `counterparty` (string)
- `country` (string)
- `cusip` (string)
- `derivative_type` (string)
- `expiration_since` (string)
- `expiration_until` (string)
- `filer_cik` (string)
- `filer_name` (string)
- `filing_id` (string)
- `is_derivative` (boolean)
- `isin` (string)
- `limit` (integer)
- `maturity_since` (string)
- `maturity_until` (string)
- `min_notional` (number)
- `min_pct_of_portfolio` (number)
- `min_value_usd` (number)
- `name` (string)
- `payoff_profile` (string)
- `period_ending` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_registration_statements` (~924 tokens)

Input parameters:

- `exclude_amendments` (boolean)
- `filer_cik` (string)
- `filer_name` (string)
- `filer_ticker` (string)
- `filing_id` (string)
- `filing_type` (string)
- `limit` (integer)
- `s1_only` (boolean)
- `s3_only` (boolean)
- `sec_file_number` (string)
- `since` (string)
- `sort_order` (string)
- `until` (string)

### `get_sec_comment_letters` (~490 tokens)

Input parameters:

- `accession_number` (string)
- `cik` (string)
- `company_name` (string)
- `form` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_delistings` (~642 tokens)

Input parameters:

- `accession_number` (string)
- `action` (string)
- `cik` (string)
- `company_name` (string)
- `form` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_investment_advisers` (~609 tokens)

Input parameters:

- `cik` (string)
- `country` (string)
- `crd` (string)
- `firm_name` (string)
- `firm_type` (string)
- `has_disciplinary_disclosures` (boolean)
- `limit` (integer)
- `min_aum` (number)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)

### `get_sec_fails_to_deliver` (~639 tokens)

Input parameters:

- `cusip` (string)
- `id` (string)
- `limit` (integer)
- `min_quantity` (number)
- `min_value` (number)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_ofac_sdn` (~713 tokens)

Input parameters:

- `ent_num` (string)
- `entity_type` (string)
- `limit` (integer)
- `name` (string)
- `program` (string)
- `remarks` (string)
- `sort_by` (string)
- `sort_order` (string)

### `get_federal_register_documents` (~545 tokens)

Input parameters:

- `agency_name` (string)
- `agency_slug` (string)
- `document_number` (string)
- `document_type` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `text` (string)
- `title` (string)
- `until` (string)

### `get_fema_disasters` (~575 tokens)

Input parameters:

- `declaration_type` (string)
- `disaster_number` (integer)
- `fema_declaration_string` (string)
- `id` (string)
- `incident_type` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `state` (string)
- `title` (string)
- `until` (string)

### `get_proxy_filings` (~740 tokens)

Input parameters:

- `company_cik` (string)
- `filing_type` (string)
- `is_amendment` (boolean)
- `is_merger_related` (boolean)
- `limit` (integer)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_treasury_auctions` (~485 tokens)

Input parameters:

- `cusip` (string)
- `limit` (integer)
- `min_bid_to_cover` (number)
- `min_offering_amount` (number)
- `reopening` (boolean)
- `security_type` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_economic_indicators` (~1243 tokens)

Input parameters:

- `category` (string)
- `latest_only` (boolean)
- `limit` (integer)
- `period_type` (string)
- `series_id` (string)
- `since_year` (integer)
- `sort_by` (string)
- `sort_order` (string)
- `source` (string)
- `until_year` (integer)

### `get_cftc_cot_reports` (~719 tokens)

Input parameters:

- `cftc_contract_market_code` (string)
- `commodity_name` (string)
- `contract_market_name` (string)
- `id` (string)
- `latest_only` (boolean)
- `limit` (integer)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `until` (string)

### `get_oig_exclusions` (~657 tokens)

Input parameters:

- `business_name` (string)
- `city` (string)
- `exclusion_type` (string)
- `general_category` (string)
- `is_business` (boolean)
- `limit` (integer)
- `name` (string)
- `npi` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `specialty` (string)
- `state` (string)
- `until` (string)

### `get_open_payments` (~879 tokens)

Input parameters:

- `company` (string)
- `limit` (integer)
- `nature` (string)
- `npi` (string)
- `offset` (integer)
- `payment_type` (string)
- `product` (string)
- `recipient_first_name` (string)
- `recipient_last_name` (string)
- `state` (string)
- `summarize` (boolean)
- `year` (integer)

### `get_consumer_complaints` (~741 tokens)

Input parameters:

- `company` (string)
- `id` (string)
- `issue` (string)
- `limit` (integer)
- `product` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)
- `sub_product` (string)
- `submitted_via` (string)
- `timely_response` (boolean)
- `until` (string)

### `get_fundamentals` (~972 tokens)

Input parameters:

- `category` (string)
- `company_cik` (string)
- `concept` (string)
- `fiscal_period` (string)
- `fiscal_year` (integer)
- `form` (string)
- `latest_only` (boolean)
- `limit` (integer)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `ticker` (string)
- `until` (string)

### `get_government_publications` (~759 tokens)

Input parameters:

- `collection` (string)
- `congress` (string)
- `doc_class` (string)
- `limit` (integer)
- `package_id` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `title` (string)
- `until` (string)

### `get_h1b_filings` (~618 tokens)

Input parameters:

- `case_number` (string)
- `case_status` (string)
- `employer_name` (string)
- `job_title` (string)
- `limit` (integer)
- `since` (string)
- `soc_code` (string)
- `sort_order` (string)
- `until` (string)
- `visa_class` (string)
- `worksite_state` (string)

### `get_osha_enforcement` (~817 tokens)

Input parameters:

- `activity_nr` (string)
- `establishment_name` (string)
- `include_violations` (boolean)
- `insp_type` (string)
- `limit` (integer)
- `min_penalty` (number)
- `naics_code` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)
- `until` (string)

### `get_nlrb_cases` (~799 tokens)

Input parameters:

- `case_number` (string)
- `case_subtype` (string)
- `case_type` (string)
- `employer_name` (string)
- `limit` (integer)
- `region` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)
- `status` (string)
- `until` (string)

### `get_ferc_filings` (~708 tokens)

Input parameters:

- `accession_number` (string)
- `category` (string)
- `class_type` (string)
- `docket_number` (string)
- `library` (string)
- `limit` (integer)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `text` (string)
- `until` (string)

### `get_foreign_agents` (~643 tokens)

Input parameters:

- `foreign_principal_country` (string)
- `foreign_principal_name` (string)
- `has_foreign_principal` (boolean)
- `limit` (integer)
- `registrant_name` (string)
- `registration_number` (string)
- `since` (string)
- `sort_by` (string)
- `sort_order` (string)
- `status` (string)
- `until` (string)

### `get_screening_list` (~620 tokens)

Input parameters:

- `country` (string)
- `limit` (integer)
- `name` (string)
- `program` (string)
- `sort_by` (string)
- `sort_order` (string)
- `source_short` (string)
- `type` (string)

### `get_aircraft_registry` (~546 tokens)

Input parameters:

- `aircraft_type_code` (string)
- `limit` (integer)
- `manufacturer` (string)
- `n_number` (string)
- `registrant_name` (string)
- `registrant_type_code` (string)
- `sort_by` (string)
- `sort_order` (string)
- `state` (string)

### `get_alerts` (~393 tokens)

Input parameters:

- `cursor` (string)
- `kind` (string)
- `limit` (integer)
- `since` (string)

### `get_corporate_patents` (~544 tokens)

Input parameters:

- `application_number` (string)
- `company_name` (string)
- `limit` (integer)
- `since` (string)
- `sort_order` (string)
- `until` (string)

### `get_nonprofit_filings` (~602 tokens)

Input parameters:

- `ein` (string)
- `limit` (integer)
- `name` (string)
- `object_id` (string)
- `return_type` (string)
- `since` (string)
- `sort_order` (string)
- `submission_year` (integer)
- `until` (string)

### `get_company_profile` (~493 tokens)

Input parameters:

- `cik` (string)
- `ticker` (string)

### `get_daily_prices` (~737 tokens)

Input parameters:

- `frequency` (string)
- `include_ohlc` (boolean)
- `since` (string)
- `ticker` (string, required)
- `until` (string)

### `get_intraday_quote` (~711 tokens)

Input parameters:

- `ticker` (string, required)

### `unified_search` (~1221 tokens)

Input parameters:

- `bioguide_id` (string)
- `company_cik` (string)
- `company_name` (string)
- `cusip` (string)
- `limit` (integer)
- `per_source_limit` (integer)
- `recipient_uei` (string)
- `since` (string)
- `sources` (array)
- `ticker` (string)
- `until` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-keyvex-keyvex/pro#diagnostics

## Score history

- 2026-11-05: 91
- 2026-11-04: 91
- 2026-11-03: 91
- 2026-11-02: 91
- 2026-11-01: 90
- 2026-10-31: 90
- 2026-10-30: 89
- 2026-10-29: 89
- 2026-10-28: 88
- 2026-10-27: 88
- 2026-10-26: 87
- 2026-10-25: 87
- 2026-10-24: 87
- 2026-10-23: 86
- 2026-10-22: 86
- 2026-10-21: 85
- 2026-10-20: 85
- 2026-10-19: 84
- 2026-10-18: 84
- 2026-10-17: 83
- 2026-10-16: 83
- 2026-10-15: 82
- 2026-10-14: 82
- 2026-10-13: 81
- 2026-10-12: 81
- 2026-10-10: 80
- 2026-10-07: 77
- 2026-10-04: 76

## Common questions

### What is the KeyVex MCP server?

KeyVex is an MCP server listed in the public MCP registry as com.keyvex/keyvex. US public financial disclosures for AI agents: Congress trades, SEC filings, FEC, lobbying, more. This page covers its hosted endpoint (https://mcp.keyvex.com/pro).

### Is the KeyVex MCP server safe to use?

KeyVex scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### Does the KeyVex MCP server require authentication?

Yes. KeyVex asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the KeyVex MCP server still maintained?

KeyVex is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.keyvex.com/pro
- Website: https://keyvex.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-keyvex-keyvex/pro.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-keyvex-keyvex/pro.json
- HTML version of this page: https://verifymcp.io/servers/com-keyvex-keyvex/pro
