Aether Developer

io.github.EvidInvest由 GitHub 帳號 EvidInvest 發布v0.3.4更新於 Oct 24, 2026

Cited search over SEC filings, earnings transcripts and EU regulation, with fetch mode. 14 tools.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取金融商業與電商

概覽

AI 產生的概覽

對 SEC 文件、財報電話會議逐字稿與歐盟金融監理文本提供附引註的檢索,並附帶研究文件與付費 API 查詢的合作夥伴市集。

可以做什麼
  • 檢索 SEC 文件、非美國年報、財報電話會議逐字稿與歐盟監理文本,結果附完整引註,並可用 fetch 模式依文件順序取回章節
  • 依 SEC 13F 查詢某檔股票的機構持有人或某基金持股,含季對季變動
  • 瀏覽市集合作夥伴並檢索其已發布文件,附逐份文件署名與授權條款
  • 將查詢轉送到合作夥伴 API,會消耗預付額度
  • 管理賣家帳號:註冊、發布文件、註冊代理端點,並列出自己的文件與端點
適用情境
適合需要助理以可引用、可連結的來源回答金融與監理問題,而非憑記憶給出數字的場合,例如引用 10-K 風險因素、財報電話會議上 CFO 的原話或 MiCA 條文。若想透過 Aether 市集販售研究文件或 API,也可使用。
執行需求
遠端 MCP 端點(OAuth 登入),或以 npx 執行 npm 套件 @evidinvest/aether-mcp 供 stdio 用戶端使用。可選擇提供 AETHER_API_KEY(ak_…);未設定時該套件首次執行會走 OAuth 2.0 裝置流程。Authorization 標頭使用 bearer 金鑰。允許匿名呼叫,每小時 5 次。需要網路存取。
安裝前請注意
Authorization 標頭攜帶金鑰,seller_signup 回傳的 API 金鑰只顯示一次。partner_proxy_search 每次呼叫都會消耗預付 Aether 額度,與結果數量無關;seller_register_endpoint 會保存你端點的驗證金鑰並設定每次呼叫價格。賣家工具會建立帳號、發布或取代文件、註冊轉送流量的端點。查詢與文件會傳送到 Aether 伺服器,代理模式下還會送往合作夥伴端點。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Aether Developer,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.EvidInvest%2Faether-developer/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "aether-developer": {
      "type": "http",
      "url": "https://aether.evidinvest.com/mcp"
    }
  }
}

README

aether-developer

Everything you need to connect Aether — the search engine built for agents, over SEC filings, earnings-call transcripts, and EU financial regulation — to your LLM, your IDE, or your own code.

Every result is a ready-to-cite evidence payload: the exact filed passage, an accession-numbered citation, the sec.gov / EUR-Lex link, and a confidence score. No filing, no answer — your agent stops inventing numbers.

aether-developer/├── docs/                — connection guides + REST API reference│   ├── chatgpt.md       — ChatGPT Developer Mode setup│   ├── mcp.md           — Claude / Cursor / Cline / any MCP client│   ├── cursor.md        — Cursor specifics (one-click install)│   └── search.md        — REST API reference (/v1/tools/*), the issuer contract, fetch mode├── skills/              — Agent Skills (drop into ~/.claude/skills)├── mcp/                 — @evidinvest/aether-mcp (stdio MCP server, npm)├── clients/│   ├── typescript/      — @evidinvest/aether-sdk (npm)│   └── python/          — evidinvest-aether-sdk (PyPI)└── examples/            — runnable demos + config snippets

Connect your LLM (no code)

MCP endpoint: https://api.aether.evidinvest.com/mcp · Auth: OAuth (sign in when your client prompts — free account).

ClientHowGuide
ChatGPTSettings → Apps & Connectors → Developer mode → Create connector with the URL abovedocs/chatgpt.md
Claude (web/Desktop)Settings → Connectors → Add custom connector with the URL abovedocs/mcp.md
Claude Codeclaude mcp add --transport http aether https://api.aether.evidinvest.com/mcpdocs/mcp.md
Cursor[Add to Cursor]docs/cursor.md
Cline / Continue / other stdio MCPnpx -y @evidinvest/aether-mcp in the client's MCP configdocs/mcp.md

Then ask: "What does Apple's latest 10-K say about supply-chain risk? Quote the passage with the sec.gov link." Name the company in the question — every tool takes an issuer, and naming it is what makes the answer scoped rather than a relevance-ranked sweep of every filer.

Teach your agent the craft (skills)

MCP gives the agent the tools; the skills/ directory teaches it the craft — tool routing, citation discipline, point-in-time transcript retrieval:

bash
cp -r skills/aether-research ~/.claude/skills/   # Claude Code, personal

See skills/README.md for Claude Desktop / other frameworks.

Call the API from code

Four REST endpoints — the same tools MCP exposes (full reference):

POST /v1/tools/search   ← start here (unified)POST /v1/tools/financial_search    POST /v1/tools/transcript_search    POST /v1/tools/regulation_search

Name the company, then narrow. Pass issuer on every call and the answer is scoped to that filer: fast and precise. Omit it and the call searches every issuer at once — slower, relevance-ranked only, and the response carries a quality_caveat. scope: "issuer" with no caveat is the only guarantee you got a filtered answer, so read both fields.

And query is optional: omit it, pass an identifier plus form_type / fiscal_year / section, and you get fetch mode — that filing's sections in filing order, no ranking, mode: "fetch", tens of milliseconds. If you already know which document you want, don't rank it.

TypeScript / Node

bash
pnpm add @evidinvest/aether-sdk
ts
import { AetherClient } from "@evidinvest/aether-sdk";
const aether = new AetherClient({ apiKey: process.env.AETHER_API_KEY });
// search: the question in `query`, the company in `issuer`const out = await aether.financialSearch({  query: "supply-chain concentration risk",  issuer: { ticker: "AAPL" },  fiscal_year: 2025,  limit: 5,});if (out.quality_caveat) console.warn(out.scope, out.quality_caveat);for (const c of out.results) {  const start = c.metadata?.retrieval?.body_offset ?? 0; // skip the EDGAR cover page  console.log(c.citation, c.metadata?.source_url, c.text.slice(start, start + 200));}
// fetch: no query — Apple's latest 10-K risk factors, in filing orderconst risks = await aether.financialSearch({  issuer: { ticker: "AAPL" },  form_type: ["10-K"],  section: "Item 1A",  limit: 5,});console.log(risks.mode); // "fetch" — and no `confidence` on any hit

Python

bash
pip install evidinvest-aether-sdk
python
from aether import AetherClient
with AetherClient(api_key="ak_...") as aether:    out = aether.financial_search(        query="supply-chain concentration risk",        issuer={"ticker": "AAPL"},        fiscal_year=2025,        limit=5,    )    if out.quality_caveat:        print(out.scope, out.quality_caveat)    for c in out.results:        start = c.body_offset or 0          # skip the EDGAR cover page        print(c.citation, c.metadata.get("source_url"), c.text[start : start + 200])
    # fetch: no query — Apple's latest 10-K risk factors, in filing order    risks = aether.financial_search(        issuer={"ticker": "AAPL"}, form_type=["10-K"], section="Item 1A", limit=5    )    print(risks.mode)   # "fetch" — and `confidence` is None on every hit

curl / any language

bash
curl -sS https://api.aether.evidinvest.com/v1/tools/search \  -H "authorization: Bearer $AETHER_API_KEY" \  -H "content-type: application/json" \  -d '{"query":"supply chain risk Taiwan","issuer":{"ticker":"TSM"},"limit":5}' | jq .

Docs

Get an API key

https://aether.evidinvest.com/developer/keys — anonymous calls work but are rate-limited; keys are free.

What's in the corpus

  • SEC filings — 10-K / 10-Q / 8-K, registration statements, prospectuses, press exhibits; ~10 years of S&P 500 and beyond.
  • Non-US registries — Sweden (Bolagsverket), Japan (EDINET), Korea (DART) annual reports. Reach a non-US filer by name — issuer: {company_name: "Sivers Semiconductors"} — or scope a whole market with jurisdiction: ["SE"|"JP"|"KR"].
  • Earnings calls — speaker-attributed transcripts + furnished press exhibits, with point-in-time filters (order: "earliest" finds first mentions) and the issuer's own fiscal_year + quarter.
  • EU regulation — MiFID II, MiCA, DORA, the AML package; article-level citations.

3 months free. Verify your email when you sign up and you're on the trial tier automatically — up to 5,000 API calls/hour on Aether's search tools, free for 3 months. No card required; it reverts to the free tier (100 calls/hour + paid credits) when the trial ends.

Contribute a client library

The TypeScript and Python clients are intentionally tiny — one bearer-token fetch wrapper + typed shapes for the /v1/tools/* endpoints. Porting to Go, Rust, Java, etc. is ~150 lines. Open a PR under clients/<lang>/. Whatever you write, surface scope, quality_caveat, mode and each hit's body_offset: a client that drops them leaves its users unable to tell a precise answer from an approximate one. Response fixtures to test against live in clients/fixtures/.

License

Apache-2.0 — see LICENSE.

來源:README.md,提交 d1ee068

工具

14

holdings_by_security

Institutional holders of a stock (13F)

Who owns a stock: institutional holders of a security from SEC Form 13F, ranked by position value, with quarter-over-quarter share changes. Answers 'who are the largest holders of NVDA', 'which funds added or trimmed this quarter', 'did anyone initiate a new position'. Give a ticker (resolved via CUSIP) or a CUSIP directly. Each holder row carries its accession number and an EDGAR source_url so the figure is verifiable against the primary filing. Coverage: quarter ends from 2024-12-31 through 2026-06-30, all ~10,000 filing managers, not just large ones; the newest quarter is still filling in as filers submit, so its holder_count is lower than a settled quarter's. Positions are aggregated per filer CIK — a single 13F contains one line per sub-manager (BlackRock's carries 42 separate NVDA lines), so per-line reading understates holders badly. One book per filer: the original 13F-HR, or the 13F-HR/A RESTATEMENT that replaced it (add-on amendments are excluded); values are USD even where the filer reported in thousands. Note total_value_usd is the sum across filers and may double-count where combination reports include other managers' holdings; coverage_caveat flags this when relevant. 13F covers US-listed long equity and options only — it does not show shorts, cash, bonds, or non-US listings, and is filed 45 days after quarter end.

輸入參數cusiplimitissuerperiodticker

holdings_by_manager

A fund's reported equity book (13F)

What a fund owns: an institutional manager's reported equity book from SEC Form 13F — top positions by value, with quarter-over-quarter share changes and new/increased/decreased flags. Answers 'what does Bridgewater hold', 'what did this fund buy last quarter', 'show me their largest positions'. Look up by manager name (partial match; the largest matching filer wins, since names like 'Vanguard' map to several distinct CIKs) or by exact CIK. Also returns the filer's published contact details — signatory, title, phone, and business address from the filing's cover page and signature block, each citable to the accession number. EDGAR publishes no email address for 13F filers, so none is returned and none should be inferred. Coverage: quarter ends from 2024-12-31 through 2026-06-30; the newest quarter is still filling in as filers submit, and a manager who has not filed it yet falls back to their most recent quarter, named in coverage_caveat. 13F covers US-listed long equity and options only — no shorts, cash, bonds or non-US listings — and is filed 45 days after quarter end, so it is a lagged snapshot, not a live portfolio.

輸入參數ciklimitissuerperiodmanager

list_partners

List data partners

List active marketplace partners (sellers) and what each offers. Each partner has zero or more 'modes': `indexed` (free queries via partner_search against published documents) and/or `proxy` (queries routed server-to-server to the seller's own API via partner_proxy_search, consuming prepaid Aether credits per call). Use the returned per-call credit costs to budget calls before invoking partner_proxy_search.

輸入參數modelimitticker

seller_signup

Register as a data seller

Create a new marketplace seller account. Returns an API key (shown once). New accounts default to status='pending_review' — they can publish documents and register endpoints, but content is not surfaced in search until ops approves the account. Use the `invite_code` arg if the operator gave you one to bypass review.

輸入參數slug必填org_name必填descriptioninvite_codecontact_email必填

seller_publish_document

Publish a seller document

Publish (or update) a document into the marketplace. The content is chunked + embedded + indexed by a background worker; status moves from `pending` to `indexed` once that completes. Re-publishing the same external_doc_id replaces the prior version. Account must be status='active' for the worker to index; pending_review accounts queue indefinitely.

輸入參數titlecontent必填licensedoc_typemetadatasource_urlseller_api_key必填external_doc_id必填ticker_coverage

seller_register_endpoint

Register a seller endpoint

Register a proxy endpoint (Mode B). Aether stores your auth secret encrypted at rest (AES-256-GCM) and routes agent queries server-to-server — agents never see your URL or token. Charge per call via the `price_per_call_usd_cents` field. Account must be status='active' for traffic to be routed.

輸入參數url必填slug必填secretauth_methoddescriptionhttp_methoddisplay_name必填pricing_modeltaxonomy_tagsseller_api_key必填ticker_coverageauth_header_name另有 4 個

seller_list_my_documents

List my published documents

List documents this seller has published. Returns status (pending / indexed / failed / revoked) and the indexed chunk count (`indexed_chunk_count`; the legacy alias `vespa_chunk_count` carries the same value for one release).

輸入參數seller_api_key必填

seller_list_my_endpoints

List my registered endpoints

List proxy endpoints this seller has registered. Secrets are never returned — only a `secret_configured` boolean.

輸入參數seller_api_key必填

版本歷史

1
  1. v0.3.4最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分