# 6ix (remote · mcp.6ix.com)

Earnings calls, news releases, decks, prices and shareholders for listed companies worldwide.

- Trust score: 68/100 (medium)
- Change this week: −4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-19

## Components

- remote · `mcp.6ix.com`: 68/100 (this document), [markdown](https://verifymcp.io/servers/com-6ix-mcp/mcp.md), [page](https://verifymcp.io/servers/com-6ix-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.6ix.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.4.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-10-19.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - 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**: 60/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4322 tokens (~216/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability check failed: schema churn in the 11 days we've observed: 4 tool removals, 0 breaking changes, 0 auth/transport breaks, 17 additions.
- **Tool Coverage**: 90/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 64% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 20 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the 6ix MCP server?

6ix is a hosted endpoint at https://mcp.6ix.com/mcp, 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-6ix-mcp 'https://mcp.6ix.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-6ix-mcp": {
      "url": "https://mcp.6ix.com/mcp"
    }
  }
}
```

### VS Code

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

### Codex

```toml
[mcp_servers.com-6ix-mcp]
url = "https://mcp.6ix.com/mcp"
```

### opencode

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

### OpenClaw

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

### Hermes

```yaml
mcp_servers:
  com-6ix-mcp:
    url: "https://mcp.6ix.com/mcp"
```

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "com-6ix-mcp": {
      "type": "http",
      "url": "https://mcp.6ix.com/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-10-19 (score 68, 0)

- [functional] Server version: 18b48292ae4c → 6b4c0189c078

### 2026-10-18 (score 68, 0)

- [functional] Server version: 3e24983c6324 → 18b48292ae4c

### 2026-10-17 (score 68, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_price_history” rewrote its description, which is the text the model reads
- [functional] Server version: e071e64d2c9e → 3e24983c6324
- [cosmetic] “get_company_ownership” reworded the description of “period”

### 2026-10-16 (score 68, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Server version: d4e59e6acded → e071e64d2c9e

### 2026-10-15 (score 68, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Tool coverage: 85% → 64%
- [functional regression] Schema quality: 2849 → 4250
- [functional] Server version: 5e2deae299db → d4e59e6acded
- [functional] Server version: e2cd63c70f35 → 5e2deae299db
- [functional] New tool “compare_peer_ownership”
- [functional] New tool “find_holder”
- [functional] New tool “get_company_insider_transactions”
- [functional] New tool “get_company_ownership”
- [functional] New tool “get_company_substantial_holders”
- [functional] New tool “get_holder_holdings”
- [functional] New tool “get_latest_ownership_filings”

### 2026-10-14 (score 68, −5)

- [security regression] Stability: 0.17 → fail
- [security regression] Tool “earnings_calendar” was removed
- [security regression] Tool “get_company_events” was removed
- [security regression] Tool “get_company_news” was removed
- [security regression] Tool “latest_news_releases” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_company_decks” rewrote its description, which is the text the model reads
- [security] Tool “get_company_earnings_calls” rewrote its description, which is the text the model reads
- [security] Tool “get_company_news_releases” rewrote its description, which is the text the model reads
- [security] Tool “get_deck” rewrote its description, which is the text the model reads
- [security] Tool “get_earnings_calendar” rewrote its description, which is the text the model reads
- [security] Tool “get_earnings_call_transcript” rewrote its description, which is the text the model reads
- [security] Tool “get_latest_news_releases” rewrote its description, which is the text the model reads
- [security] Tool “search_decks” rewrote its description, which is the text the model reads
- [security] Tool “find_company” rewrote its description, which is the text the model reads
- [security] Tool “get_news_release” rewrote its description, which is the text the model reads
- [security] Tool “search_news_releases” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 124 → 219
- [functional regression] Schema quality: 124 → 154
- [functional improvement] Tool coverage: 67% → 85%
- [functional] Schema quality: excellent → good
- [functional] Server version: 4f3b92d221f7 → e2cd63c70f35
- [functional] Server version: ede374b4aeec → 4f3b92d221f7
- [functional] Server version: 3f575afa3f96 → ede374b4aeec
- [functional] New tool “get_price_history”
- [functional] New tool “get_share_price”
- [functional] New tool “get_company_decks”
- [functional] New tool “get_company_earnings_calls”
- [functional] New tool “get_company_news_releases”
- [functional] New tool “get_deck”
- [functional] New tool “get_earnings_calendar”
- [functional] New tool “get_earnings_call_transcript”
- [functional] New tool “get_latest_news_releases”
- [functional] New tool “search_decks”
- [cosmetic] “get_company_decks” added an optional parameter “cursor”
- [cosmetic] “get_company_earnings_calls” added an optional parameter “cursor”
- [cosmetic] “get_company_earnings_calls” added an optional parameter “page”
- [cosmetic] “get_company_news_releases” added an optional parameter “cursor”
- [cosmetic] “get_deck” added an optional parameter “cursor”
- [cosmetic] “get_deck” added an optional parameter “part”
- [cosmetic] “get_earnings_calendar” added an optional parameter “cursor”
- [cosmetic] “get_earnings_calendar” added an optional parameter “page”
- [cosmetic] “get_earnings_call_transcript” added an optional parameter “cursor”
- [cosmetic] “get_latest_news_releases” added an optional parameter “cursor”
- [cosmetic] “get_news_release” added an optional parameter “cursor”
- [cosmetic] “get_news_release” added an optional parameter “part”
- [cosmetic] “search_decks” added an optional parameter “cursor”
- [cosmetic] “search_news_releases” added an optional parameter “cursor”
- [cosmetic] “get_company_earnings_calls” reworded the description of “include_past”
- [cosmetic] “get_earnings_call_transcript” reworded the description of “part”
- [cosmetic] “search_news_releases” reworded the description of “page”

### 2026-10-13 (score 73, +1)

- [functional] Server version: da1c6c5dd13f → 3f575afa3f96

### 2026-10-12 (score 72, 0)

- [functional] Server version: 9701f290f241 → da1c6c5dd13f

## MCP tools (20)

### `get_company_news_releases` (~190 tokens)

News releases from a company

Use this when someone asks what a listed company announced, or wants its latest or past news releases. Give it the company's ticker (AAPL, NYSE:BAC) or name. Returns its releases newest first, each with date, headline and 6ix.com link; read one in full with get_news_release. Every release 6ix holds for the company can be reached: pass the answer's nextCursor as cursor to go further back.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `limit` (integer)
- `page` (integer): Page 2 and on go further back in time

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `page` (integer|null): The page read; null when read on from a cursor
- `releases` (array)

### `get_news_release` (~165 tokens)

Read a news release

Use this to read the complete text of one news release. Give it the release id or 6ix.com link another 6ix tool returned. Returns the release as issued, with its date, issuer and the service that distributed it. A long release comes in parts (the answer says which part of how many): ask for part 2 and on, or pass nextCursor as cursor, to read the rest.

Input parameters:

- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `part` (integer): Which part of a long release to read (default 1); the answer says how many there are
- `release` (string, required): Release id or its 6ix.com link

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `release` (object)

### `search_news_releases` (~242 tokens)

Search news releases

Use this when someone wants news releases about a topic, person, deal, product or result across all companies, for example acquisitions, financings, guidance changes or a named executive. Give it the words to find (quotes for an exact phrase). Returns matching releases from the full text of every release on 6ix, with date, company, a short excerpt and 6ix.com link, 20 at a time; pass the answer's nextCursor as cursor for the next 20. A search lists at most 1,200 releases: when more match, the answer says so; add words, a company name or a year to reach the rest.

Input parameters:

- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `page` (integer): Pages of 20; the answer says how many there are (at most 60)
- `query` (string, required): Words to find; the company name can be part of it
- `sort` (string): best: headline matches first, newest first within; newest: date only; relevance: text score only

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `closest` (boolean): No release holds every word asked for; these come closest
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `headlinesOnly` (boolean): The full-text index was unavailable, so only headlines were searched
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `page` (integer)
- `pages` (integer): Pages that can be read, 20 releases each
- `releases` (array)
- `total` (integer): Releases that can be listed for this search (at most 1,200); see totalExact
- `totalExact` (boolean): false: more releases match than can be listed (or, for a headline-only search, the count is not known yet)

### `get_latest_news_releases` (~151 tokens)

Latest news releases

Use this when someone asks what listed companies have announced today or recently, across the market or on one exchange. Give it an exchange code (NYSE, NASDAQ, LSE, ASX, TSX…) or nothing. Returns the newest releases with date, company and 6ix.com link; pass the answer's nextCursor as cursor for the ones before them.

Input parameters:

- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `exchange` (string): Exchange code, e.g. NYSE, NASDAQ, LSE, ASX, TSE, TSX
- `limit` (integer)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `releases` (array)

### `get_company_earnings_calls` (~218 tokens)

Earnings calls from a company

Use this when someone asks about a listed company's earnings calls or other investor calls: when the next one is, or its latest and past calls. Give it the company's ticker or name. Returns upcoming calls first, then past calls newest first with their replay on 6ix.com, fiscal quarter and whether the call's text can be read with get_earnings_call_transcript, and how many upcoming and past calls 6ix lists; pass the answer's nextCursor as cursor to go further back.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `include_past` (boolean): Also list past calls with replays
- `limit` (integer)
- `page` (integer): Page 2 and on go further back in time

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `events` (array)
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `pastTotal` (integer): Past calls 6ix lists for the company (0 when include_past is false)
- `upcomingTotal` (integer): Upcoming calls 6ix lists for the company

### `get_earnings_call_transcript` (~276 tokens)

Read an earnings call

Use this when someone asks what was said on a company's earnings call or other investor call: guidance, answers to analysts, comments on a topic. Give it the call's id or 6ix.com link from get_company_earnings_calls or get_earnings_calendar, and optionally words to find. Returns the call's text with times, and speaker names where 6ix has them, one part at a time (ask for part 2 and on to read the rest), or the passages that mention the words, 8 at a time, closest matches first, with how many there are (pass nextCursor as cursor for more; part 2 and on narrows the search to that part).

Input parameters:

- `call` (string, required): The call's id or its 6ix.com link (6ix.com/event/…)
- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `find` (string): Only the passages that mention these words, e.g. "guidance" or "cash costs"
- `part` (integer): Which part of a long call to read (default 1); with find, part 2 and on searches only that part. The answer says how many parts there are

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `call` (object)
- `hasMore` (boolean): More parts, or more passages with find, follow
- `matches` (integer): With find: how many passages mention the words (in the part searched)
- `nextCursor` (string|null): Pass as cursor to read on; null at the end
- `part` (integer): The part read, or the part searched with find (absent when find searched the whole call)
- `participants` (array): With speakerSource matcher: people named for the call, without saying who said what
- `parts` (integer)
- `passages` (array)
- `speakerSource` (string): feed: names come from the call's feed, matched to the replay by time; unverified: an automated timeline's names, not checked, so a passage may name the wrong person; matcher: an automated matcher's n…
- `speakers` (array): Speakers the call feed names in the text
- `speakersCover`: Seconds of the replay the feed's names cover; text outside says (speaker not identified)
- `text` (string)
- `version` (string): Changes when the call's text changes

### `get_earnings_calendar` (~233 tokens)

Earnings call calendar

Use this when someone asks which companies hold earnings calls on a day or in a date range, for example this week, across the market or on one exchange. Give it dates (YYYY-MM-DD, UTC; default the next seven days) and optionally an exchange. Returns calls in time order with company and 6ix.com link, and how many calls the range holds; pass the answer's nextCursor as cursor until hasMore is false to get every call in the range.

Input parameters:

- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `exchange` (string): Only companies listed on this exchange, e.g. NYSE, NASDAQ, LSE, TSE
- `from` (string): First day, YYYY-MM-DD (default today)
- `limit` (integer)
- `page` (integer): Pages of `limit` calls in time order
- `to` (string): Last day, YYYY-MM-DD, included (default: a week from the first day; at most 31 days)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `events` (array)
- `first` (integer): Position of this answer's first call in the range, from 1
- `from` (string)
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `to` (string)
- `total` (integer): Every call 6ix lists in the range (and exchange)

### `get_company_decks` (~193 tokens)

Decks from a company

Use this when someone asks for a listed company's investor presentation, corporate deck or earnings slides, or how its deck has changed. Give it the company's ticker or name. Returns its decks newest first, each with date, slide count, a line on what changed from the previous version and its 6ix.com link, and how many decks 6ix holds for it; read a deck's slides with get_deck, and pass nextCursor as cursor for older decks.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `limit` (integer)
- `page` (integer): Page 2 and on go further back in time

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `decks` (array)
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `page` (integer|null): The page read; null when read on from a cursor
- `total` (integer): Decks 6ix holds for the company, dated today or earlier

### `get_deck` (~262 tokens)

Read a deck and what changed

Use this to read one deck and what changed in it, for example what a company updated in its latest investor presentation. Give it the deck id or 6ix.com link from get_company_decks or search_decks, and slides: "1-5", "changed" or "all" to include slide text. Returns what changed from the company's previous version (new, updated and removed slides, figures that changed) and every slide's title, with its text when asked. Slide text comes in parts of about 40,000 characters (the answer says which part of how many): ask for part 2 and on, or pass nextCursor as cursor, to read the rest.

Input parameters:

- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `deck` (string, required): The deck's id or its 6ix.com link (6ix.com/deck/…)
- `part` (integer): Which part of the slide text to read (default 1); the answer says how many there are
- `slides` (string): Slides whose text to include: "1-5,12", "changed" (new and updated slides) or "all"

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `changes`
- `company`
- `companyName` (string|null)
- `deck` (object)
- `hasMore` (boolean): Later parts follow: ask for part + 1, or pass nextCursor as cursor
- `nextCursor` (string|null): Pass as cursor to read the next part; null after the last part
- `part` (integer): This part's number
- `parts` (integer): How many parts the whole text has
- `slides` (array)
- `storedCutSlides` (array): Slides whose text 6ix stored only in part (the first 4,000 characters)
- `textNotStored` (integer): Characters of slide text the deck holds that 6ix did not store (0 when it stored all of it)
- `version` (string): Changes when the stored text changes; parts of one version join into the whole text

### `search_decks` (~160 tokens)

Search deck slides

Use this when someone wants slides about a topic across companies' decks, for example a project, a market, a peer comparison or a named asset. Give it the words to find. Returns matching slides from every deck in 6ix's Deck library, newest decks first (a deck's matching slides together), with company, deck, date, slide number, a short excerpt and 6ix.com link, and how many decks match (decks, not slides); pass nextCursor as cursor for more slides.

Input parameters:

- `cursor` (string): To read on: nextCursor from this tool's last answer, exactly as given, with the same other arguments
- `limit` (integer)
- `query` (string, required): Words to find on slides

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `decksFound` (integer): Decks that match the words (decks, not slides), counted when the search began
- `decksShown` (integer): Different decks among this answer's slides
- `hasMore` (boolean): More follow: ask again with cursor set to nextCursor
- `listChanged` (boolean): The list changed since the cursor was made and the last item shown is no longer in it, so an item may repeat or be missed here
- `nextCursor` (string|null): Pass as cursor to read on from the last item shown; null at the end
- `slides` (array)

### `get_share_price` (~142 tokens)

Share price

Use this when someone asks a listed company's share price, how its stock did today, its day range, volume or market value, or wants several companies' prices side by side. Give it one or more tickers (AAPL, NYSE:BAC, SHOP.TO) or company names. Returns each company's last price with currency, change and % change, day range, volume, market value where shares outstanding are known, the exchange priced, and the date and time of the price (delayed at least 15 minutes, or the day's close), with the company's 6ix.com page.

Input parameters:

- `companies` (array, required): Up to 10 companies

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `failed` (array): Lookups that failed for a moment, even when tried again; ask again
- `notFound` (array)
- `note` (string)
- `prices` (array)
- `sameCompany` (array): Names asked for that are a company already in the answer

### `get_price_history` (~194 tokens)

Share price history

Use this when someone asks how a listed company's share price moved over a period, its closing price on a past day, or its high and low over weeks or months. Give it the ticker or name, and optionally from and to dates (YYYY-MM-DD; default the last 90 days, at most 366 days). Returns daily open, high, low, close and volume in the listing's currency, the change over the period, the first and latest day 6ix holds for the listing (also when the period asked for falls outside them), and the company's 6ix.com page.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `from` (string): First day, YYYY-MM-DD
- `to` (string): Last day, YYYY-MM-DD; default today

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `attribution` (string|null)
- `bars` (array)
- `company` (object)
- `currency` (string|null)
- `from` (string)
- `listing` (object)
- `note` (string)
- `record` (object|null): The first and latest day 6ix holds daily prices for this listing (YYYY-MM-DD); null when it holds none
- `status` (string): no_licence: 6ix may not give out prices for this exchange; not_covered: no price on 6ix for this listing yet
- `summary` (object|null)
- `to` (string)

### `get_company_ownership` (~306 tokens)

Who owns a company

Use this when someone asks who owns a listed company, its largest shareholders, how much institutions or funds hold, how concentrated ownership is, or who bought or sold in the latest reports. Give it the ticker or name; optionally holder_type (institutions, funds, or local for the holders named in the register of the company's home market) and changes (new, increased, decreased, exited). Returns the largest holders with shares, percent of the company where 6ix can measure it, the change since their previous report, the date each position is as of, each holder's 6ix page and the filing, plus the company's Shareholders page and what 6ix reads for its market.

Input parameters:

- `changes` (string)
- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `group_by` (string): family = one row per manager family (Vanguard once, not its ten filers)
- `holder_type` (string): local = holders named in the register of the company's home market (Taiwan, the Netherlands, Brazil, Germany, Switzerland, Hong Kong, Spain)
- `limit` (integer)
- `page` (integer)
- `period` (string): Quarter end (YYYY-MM-DD); default the newest complete quarter. A quarter 6ix holds no reports for answers so, with the quarters it has

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `coverage` (string)
- `filingSeason` (object|null)
- `hasMore` (boolean)
- `holders` (array)
- `homeCountry` (string|null)
- `noReports` (boolean): true when 6ix holds no institutions' reports for the quarter asked for (not a sign that nobody holds the company)
- `period` (string|null)
- `quarters` (array): When a quarter was asked for: the quarter ends 6ix holds institutions' quarterly reports for, for this company, newest first
- `summary` (object|null)
- `total` (integer)
- `url` (string|null): The company's Shareholders page on 6ix

### `get_company_insider_transactions` (~248 tokens)

Insider buying and selling

Use this when someone asks whether a company's insiders (directors, officers and other managers, and large owners where the market counts them) bought or sold its shares, or what an executive did with theirs. Give it the ticker or name; optionally kind (market = open-market buys and sells, buys, sells, all) and since (first trade day). Returns trades newest first with insider, role, shares, price and value in the trade's currency, holding after the trade, whether a pre-set trading plan was used, trade and filing dates, the insider's 6ix page and the filing, plus buy and sell totals for the period, which never starts before 6ix's record of the market's insider filings.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `kind` (string)
- `limit` (integer)
- `page` (integer)
- `since` (string): First trade day, YYYY-MM-DD (default a year back; never before 6ix's record of the market's insider filings)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `coverage` (string)
- `covered` (boolean): False when 6ix doesn't read the insider dealings of the company's home market
- `hasMore` (boolean)
- `recordFrom` (string|null): The first day of 6ix's unbroken record of the insider filings this company's trades come from
- `records` (object|null): home: when 6ix's record of the home market's insider dealings starts; us: when its record of US insider filings starts
- `summary` (object|null)
- `total` (integer)
- `trades` (array)
- `url` (string|null): The company's Insider trades page on 6ix
- `window` (object|null)

### `get_company_substantial_holders` (~159 tokens)

Big stakes and activists

Use this when someone asks who holds a big stake in a company (5%, or the lower threshold some markets use), whether anyone crossed above or below it, or whether an activist has taken a position. Give it the ticker or name. Returns holders above the threshold by their latest notice with percent held and stated intent where the market asks for it, and notices newest first with dates, each holder's 6ix page and the filing; it names the threshold and since when 6ix holds the market's notices.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `limit` (integer)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `coverage` (string)
- `current` (array)
- `notices` (array)
- `registered` (array): Holders at or above the threshold in the register of the company's home market, each as of its own latest notice
- `thresholds` (array)
- `url` (string|null): The company's Shareholders page on 6ix
- `window` (object|null): from: the first day of 6ix's unbroken record of the market's notices (null when 6ix doesn't read them); threshold: the market's first threshold

### `find_holder` (~130 tokens)

Find an investor

Use this when the name of an investor, fund, fund family or insider is ambiguous and you need the exact holder first. Give it a name (its words in any order: "Tim Cook" finds "Cook Timothy D") or an id (cik:0000102909, lei:..., series:S000002848). Returns matching holders with type, country, family, filer number, 6ix holder id and 6ix page; get_holder_holdings also accepts a name directly.

Input parameters:

- `limit` (integer)
- `query` (string, required)
- `type` (string)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `holders` (array)

### `get_holder_holdings` (~168 tokens)

What an investor owns

Use this when someone asks what an investor, fund, fund family or insider owns, what it bought or sold in its latest report, or who a holder is. Give it the holder's name or the id from find_holder; optionally changes (new, increased, decreased, exited). Returns the holder's profile and 6ix page and its positions in listed companies, largest first, each with shares, value as reported, share of its holdings, change since its previous report and the date; for an insider, the companies they report at, their holding after their newest trade there, and their trades.

Input parameters:

- `changes` (string)
- `holder` (string, required): A name, or the id from find_holder
- `limit` (integer)
- `page` (integer)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `hasMore` (boolean)
- `holder` (object|null)
- `insider` (object|null): For an insider: the companies they report at and their trades
- `positions` (array)
- `summary` (object|null)
- `total` (integer)

### `compare_peer_ownership` (~158 tokens)

Investors in the peers

Use this when someone wants the investors who hold a company's peers but not the company, or the overlap between two companies' holders, for example to find investors to approach. Give it the company and up to 10 peer tickers; mode missing (default) or overlap. Returns institutions ranked by how many peers they hold, with their position in each peer and in the company and their 6ix page.

Input parameters:

- `company` (string, required): Ticker (AAPL, NYSE:BAC, SHOP.TO), company name, or the 6ix company link returned by find_company
- `limit` (integer)
- `min_peers` (integer)
- `mode` (string)
- `peers` (array, required)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `company` (object)
- `holders` (array)
- `peers` (array)

### `get_latest_ownership_filings` (~182 tokens)

Newest ownership filings

Use this when someone asks for the newest ownership moves across the market: insider purchases or sales, new big or activist stakes, or institutions' reports just filed, optionally for chosen companies. Give it kinds (insider_buys, insider_sells, big_stakes, institutional_reports) and an optional company list. Returns the newest filings (insider trades and big stakes from the last 7 days, institutions' reports from the last 14), newest first, each with company, holder, size in its own currency, dates, the company's 6ix page and the filing.

Input parameters:

- `companies` (array)
- `kinds` (array)
- `limit` (integer)
- `min_value_usd` (integer): Insider trades of at least this value in US dollars (trades in other currencies are left out when set)

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `notices` (array)
- `reports` (array)
- `trades` (array)

### `find_company` (~79 tokens)

Find a company

Use this when a ticker or company name is ambiguous and you need the exact listed company first. Give it a ticker or name. Returns matching companies with ticker, exchange and their 6ix.com page; the other tools also accept a ticker or name directly.

Input parameters:

- `limit` (integer)
- `query` (string, required): Ticker or company name

Output parameters:

- `asOf` (string): When 6ix answered (ISO 8601, UTC)
- `companies` (array)

## Diagnostics

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

## Score history

- 2026-10-19: 68
- 2026-10-18: 68
- 2026-10-17: 68
- 2026-10-16: 68
- 2026-10-15: 68
- 2026-10-14: 68
- 2026-10-13: 73
- 2026-10-12: 72
- 2026-10-11: 72
- 2026-10-10: 72
- 2026-10-08: 71

## Common questions

### What is the 6ix MCP server?

6ix is an MCP server listed in the public MCP registry as com.6ix/mcp. Earnings calls, news releases, decks, prices and shareholders for listed companies worldwide. This page covers its hosted endpoint (https://mcp.6ix.com/mcp).

### Is the 6ix MCP server safe to use?

6ix scores 68 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.

### What tools does the 6ix MCP server expose?

6ix exposes 20 tools: get_company_news_releases, get_news_release, search_news_releases, get_latest_news_releases, get_company_earnings_calls, and 15 more. Their descriptions and schemas cost roughly 3,856 tokens of context every time the server is loaded.

### Does the 6ix MCP server require authentication?

No. We connected to 6ix without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the 6ix MCP server still maintained?

6ix is still listed as active in the MCP registry. We last reached this channel on 19 October 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.6ix.com/mcp
- Website: https://6ix.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-6ix-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-6ix-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-6ix-mcp/mcp
