Explain what changed for a stock

Give an agent one ticker. Arkolith compares each tracked manager's latest reported 13F position with its prior comparable filing, checks qualifying Form 4 purchases and sales, and returns the coverage limits and SEC evidence with the answer.

When to use it#

Use capital_change_brief when the question is about change, the managers driving it, insider corroboration, and proof. Use stock.owners when you only need a current holder table.

The question#

What changed in MREO's reported institutional ownership, which managers drove it, did qualifying insider activity point in the same direction, and what SEC filings prove it?

1. Connect Arkolith#

Mint a key at arkolith.com/connect, then add the MCP server:

bash
claude mcp add --transport http arkolith https://arkolith.com/api/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

2. Ask the agent#

text
Use Arkolith's capital_change_brief for MREO. Explain what changed in reported institutional ownership, name the largest disclosed drivers, check qualifying Form 4 purchases and sales, and cite the relevant SEC evidence. State the outcome and coverage limitations before interpreting corroboration. If direction is withheld, explain quality_artifacts, including any example omitted from the ranked rows. Do not infer exact trade dates, real-time flows, intent, or investment advice.

3. Call MCP or REST directly#

A complete, partial, or uncertain brief costs 10 credits. Arkolith checks affordability first, computes the answer, and debits only a substantive result. no_data, refused, timeout, and error outcomes are never charged.

bash
curl -X POST https://arkolith.com/api/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "capital_change_brief",
    "arguments": {
      "ticker": "MREO"
    }
  }
}'

4. Read the answer in this order#

  1. 1. outcome: complete, partial, uncertain, no_data, or refused.
  2. 2. headline and counts: the compact answer before the rows.
  3. 3. institutional and insiders: the largest disclosed changes and the 180-day Form 4 leg.
  4. 4. quality_artifacts: why a direction was withheld, including bounded examples from below the displayed row limit.
  5. 5. coverage and corroboration: whether the legs are comparable and what is missing.
  6. 6. evidence and manifest: filing links, stable evidence IDs, and derivation parameters.
json
{
  "schema_version": "capital_change_brief.v1",
  "outcome": "partial",
  "current_only": true,
  "generated_at": "2026-07-15T12:00:00.000Z",
  "requested_ticker": "MREO",
  "brief_id": "ccm_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "entity": {
    "ticker": "MREO",
    "name": "MEREO BIOPHARMA GROUP PLC",
    "cusip": "589492107"
  },
  "headline": "One tracked manager reported a higher quarter-end position in MREO; no qualifying Form 4 activity was found in the window.",
  "explanation": "The institutional leg compares each manager's latest effective 13F book with its prior comparable filing. The insider leg checks qualifying open-market Form 4 transactions over 180 days.",
  "institutional": {
    "stance": "net_increases",
    "ranking_basis": "absolute_reported_share_change",
    "changes": [
      {
        "fund": {
          "name": "BANK OF AMERICA CORP /DE/",
          "cik": "0000070858",
          "slug": "bank-of-america-corp-de-70858"
        },
        "action": "added",
        "quarter_end": "2026-03-31",
        "current_shares": "8190000",
        "previous_shares": "100000",
        "share_delta": "8090000",
        "pct_delta": 8090,
        "current_value_usd": 2700000,
        "published_at": {
          "value": "2026-05-15",
          "precision": "date"
        },
        "quality": {
          "status": "clear",
          "reasons": []
        },
        "evidence_ids": [
          "sec:13f:0000070858-26-000001",
          "sec:13f:0000070858-25-000001"
        ],
        "amendment": {
          "is_amendment": false,
          "amendment_type": null
        }
      }
    ],
    "counts": {
      "initiated": 0,
      "added": 1,
      "reduced": 0,
      "exited": 0,
      "unchanged": 0,
      "baseline_only": 0
    },
    "latest_reported_quarter_end": "2026-03-31",
    "tracked_managers_observed": 1,
    "periods_observed": [
      {
        "quarter_end": "2026-03-31",
        "managers": 1
      }
    ],
    "stale_manager_observations": 0
  },
  "insiders": {
    "stance": "none_found",
    "window_days": 180,
    "window_start": "2026-01-16",
    "window_end": "2026-07-15",
    "transactions": [],
    "counts": {
      "buys": 0,
      "sells": 0,
      "distinct_buyers": 0,
      "distinct_sellers": 0,
      "priced": 0,
      "unpriced": 0
    }
  },
  "corroboration": "not_comparable",
  "quality_artifacts": {
    "suppresses_direction": false,
    "uncertain_observations": 0,
    "example_limit_per_group": 1,
    "evidence_id_limit_per_example": 4,
    "groups": []
  },
  "coverage": {
    "thirteen_f": {
      "corpus": "Arkolith tracked 13F corpus",
      "status": "available",
      "latest_quarter_filing_window": "open",
      "latest_reported_quarter_end": "2026-03-31",
      "managers_with_comparable_change": 1,
      "baseline_observations": 0,
      "observations_scanned": 1,
      "observations_displayed": 1,
      "observations_total": 1,
      "periods_observed": [
        {
          "quarter_end": "2026-03-31",
          "managers": 1
        }
      ],
      "stale_manager_observations": 0,
      "truncated": false
    },
    "form4": {
      "status": "complete",
      "coverage_start": "2024-01-01",
      "indexed_through": "2026-07-15",
      "window_start": "2026-01-16",
      "window_end": "2026-07-15",
      "truncated": false
    },
    "limitations": [
      "The latest reported quarter is still inside the statutory 13F filing window.",
      "13F positions are quarter-end disclosures, not exact trade dates.",
      "Rich evidence objects are limited to displayed changes and bounded quality-artifact examples; manifest.evidence_ids retains complete stable IDs for the bounded aggregate."
    ]
  },
  "evidence": [
    {
      "evidence_id": "sec:13f:0000070858-25-000001",
      "kind": "sec_13f",
      "source": "SEC EDGAR 13F",
      "accession_number": "0000070858-25-000001",
      "form_type": "13F-HR",
      "source_url": "https://www.sec.gov/Archives/edgar/data/70858/000007085825000001/0000070858-25-000001-index.html",
      "human_url": "https://www.sec.gov/Archives/edgar/data/70858/000007085825000001/0000070858-25-000001-index.html",
      "published_at": {
        "value": "2025-11-14",
        "precision": "date"
      },
      "retrieved_at": "2025-11-14T20:00:00.000Z",
      "parser_version": "13f-v3",
      "raw_hash": null
    },
    {
      "evidence_id": "sec:13f:0000070858-26-000001",
      "kind": "sec_13f",
      "source": "SEC EDGAR 13F",
      "accession_number": "0000070858-26-000001",
      "form_type": "13F-HR",
      "source_url": "https://www.sec.gov/Archives/edgar/data/70858/000007085826000001/0000070858-26-000001-index.html",
      "human_url": "https://www.sec.gov/Archives/edgar/data/70858/000007085826000001/0000070858-26-000001-index.html",
      "published_at": {
        "value": "2026-05-15",
        "precision": "date"
      },
      "retrieved_at": "2026-05-15T20:00:00.000Z",
      "parser_version": "13f-v3",
      "raw_hash": null
    }
  ],
  "evidence_scope": {
    "object_scope": "displayed_changes_and_material_quality_artifacts",
    "returned_object_count": 2,
    "manifest_evidence_id_count": 2,
    "aggregate_claim_evidence_ids_complete": true
  },
  "manifest": {
    "manifest_id": "ccm_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
    "algorithm_version": "1.2.0",
    "current_only": true,
    "parameters": {
      "ticker": "MREO",
      "form4_window_days": 180,
      "max_institutional_changes": 8,
      "max_insider_transactions": 8,
      "window_start": "2026-01-16",
      "window_end": "2026-07-15"
    },
    "quality": {
      "outcome": "partial",
      "thirteen_f_status": "available",
      "form4_status": "complete",
      "institutional_truncated": false,
      "form4_truncated": false
    },
    "evidence_ids": [
      "sec:13f:0000070858-25-000001",
      "sec:13f:0000070858-26-000001"
    ],
    "claims": [
      {
        "claim_id": "claim_0123456789abcdef01234567",
        "kind": "institutional_change",
        "evidence_ids": [
          "sec:13f:0000070858-25-000001",
          "sec:13f:0000070858-26-000001"
        ]
      },
      {
        "claim_id": "claim_89abcdef0123456789abcdef",
        "kind": "corroboration",
        "evidence_reference": {
          "field": "manifest.evidence_ids",
          "evidence_id_count": 2
        }
      }
    ]
  },
  "disclaimer": "Reported filing changes are not real-time trades or investment advice."
}

Coverage and current-only scope#

  • Coverage applies to tickers resolvable in Arkolith's tracked SEC corpus. A valid ticker can still return no_data.
  • The tool accepts only ticker. It refuses as_of and since until both source legs can enforce the same public-knowledge clock.
  • 13F filings disclose quarter-end positions after a delay. They do not disclose exact trade dates or real-time capital flows.
  • The Form 4 leg includes non-derivative open-market P and S transactions in the past 180 days.
  • quality_artifacts groups every uncertainty reason in the bounded scan, counts hidden observations, and prioritizes one hidden example per reason. Its limits and truncation flags are explicit.
  • evidence contains rich filing objects for displayed rows and bounded quality-artifact examples. Every evidence ID listed on an example resolves to one of those objects. manifest.evidence_ids is the one complete stable-ID set for the bounded aggregate; the corroboration claim points to it through evidence_reference instead of repeating the list.
  • Partial and uncertain are substantive outcomes, not proof of usefulness. Read the coverage object before interpreting corroboration.
Let the user judge usefulness
After the user gives an explicit verdict, the agent can call feedback.submit for free. Include workflow=capital_change_brief, the exact returned brief_id, the ticker, and verdict=useful|missing. For missing, describe what was absent in message. Never infer usefulness from a successful, partial, or uncertain technical outcome. Arkolith accepts the structured verdict only when the same organization and API key have an OK delivery receipt for that ticker and brief. One verdict is stored per organization and brief; a retry returns already_recorded=true without writing a duplicate.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "feedback.submit",
    "arguments": {
      "message": "The user explicitly confirmed that this brief answered the research question.",
      "workflow": "capital_change_brief",
      "brief_id": "ccm_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "ticker": "MREO",
      "verdict": "useful"
    }
  }
}