SciX / NASA ADS

io.github.yipihey由 GitHub 帳號 yipihey 發布v0.4.1更新於 Oct 29, 2026

Search the astronomy and physics literature (SciX / NASA ADS): papers, citations, metrics, BibTeX.

概覽

AI 產生的概覽

檢索 SciX / NASA ADS 天文與物理文獻庫,可查論文、引用、指標,匯出 BibTeX 並管理個人文獻庫。

可以做什麼
  • 以欄位查詢檢索論文,並在已知 bibcode 集合內篩選
  • 取得單篇論文的詮釋資料、摘要與連結,並把完整引用解析為 bibcode
  • 以 BibTeX、AASTeX、RIS 等格式匯出參考文獻,並計算引用指標
  • 檢視論文引用網路與作者合作網路,找出常被共同引用的論文
  • 透過 SIMBAD/NED 解析天體名稱
  • 列出、建立、編輯、刪除與轉移個人文獻庫,並增減其中的文獻
適用情境
適合天文、天體物理與物理領域的文獻回顧、參考文獻整理、引用分析與引文匯出,讓助理直接查詢 ADS 索引而非公開網頁。
執行需求
以 stdio 本機程序執行,可透過 Claude Desktop 擴充套件、以 uvx 呼叫 PyPI 套件或原生執行檔安裝。需要免費的 SciX / ADS API 權杖,透過 SCIX_API_TOKEN(或 ADS_API_TOKEN,或已儲存的權杖檔案)提供,並需能連線至 SciX API 的網路。
安裝前請注意
需要 API 權杖,權杖會存放在設定檔或環境變數中。文獻庫相關工具會寫入使用者的 ADS 帳號,包括刪除、清空與轉移操作,執行破壞性變更前應先確認。API 限制為每日 5,000 次請求、每秒 5 次。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

scix-client

scix-client gives your AI assistant direct access to the SciX / NASA ADS database. Search the literature, build bibliographies, analyze citation networks, manage personal libraries, resolve object names via SIMBAD/NED, and export references in BibTeX, AASTeX, or 15 other formats — all from natural language.

It also works standalone: as a CLI tool, a Python library, or a Rust crate.

Research workflows: literature reviews, bibliography management, citation analysis, reference export, object resolution, paper details, library collaboration, annotation/notes

ModeWhat it doesGuide
MCP server (scix serve)Expose SciX tools to Claude, Cursor, VS Code, Zed, Gemini CLI, Codex CLI, Windsurfdocs/mcp-server.md
CLI (scix)Command-line tool for your terminaldocs/cli.md
Python library (scix_client)Native Python module — pip install scix-clientdocs/python.md
Rust library (scix_client)Async Rust crate — cargo add scix-clientdocs/rust.md

One binary (scix) does everything. Python bindings are auto-generated from the Rust types — zero extra maintenance.

You need a free SciX / ADS API token from https://ui.adsabs.harvard.edu/user/settings/token. Every path below asks for it once and stores it for you.


Claude Desktop: one-click install

  1. Download scix-vX.Y.Z.mcpb from the latest release (macOS universal + Windows in one file).
  2. Double-click it (or drag it onto Claude Desktop → Settings → Extensions).
  3. Paste your API token when asked. Done — no terminal, no PATH, no JSON.

Everything else: install scix, then scix setup

Pick any one installer:

bash
# One-line installer (prebuilt binary, no Rust toolchain)curl -sSf https://raw.githubusercontent.com/yipihey/scix-client/main/install.sh | sh
# Python (also gives you the scix_client module)pip install scix-client        # or: pipx install scix-client / uv tool install scix-client
# Rustcargo install scix-client      # compiles locallycargo binstall scix-client     # prebuilt binary via cargo-binstall

Then:

bash
scix setup

The wizard asks for your token (offering to open the token page), validates it, saves it to ~/.config/scix/token, and registers the server with every editor it finds: Claude Code, Claude Desktop, Cursor, Zed, Gemini CLI, Codex CLI, Windsurf. Run it again any time; it is idempotent.

  • scix setup claude-code — configure only one editor
  • scix setup --yes — non-interactive (uses SCIX_API_TOKEN, configures all detected editors)
  • scix login — just save the token, touch no editor configs
  • scix doctor — check binary, PATH, token, API connectivity, and detected editors

Install badges

After scix login, any MCP host can run plain scix serve with no environment setup:

[Add to Cursor] [Install in VS Code]

GUI editors do not see your shell PATH. If a badge-installed server cannot find scix, run scix setup cursor (or whichever editor) once; it writes the absolute path.

No install at all

With uv present, this works as the command in any MCP config:

json
{ "command": "uvx", "args": ["scix-client", "serve"], "env": { "SCIX_API_TOKEN": "your-token" } }

Manual setup

Claude Code
bash
claude mcp add --scope user scix -- scix serve

(--scope user makes it available in every project; the default scope is the current directory only.)

Claude Desktop (manual, instead of the .mcpb)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), using the full path from which scix:

json
{  "mcpServers": {    "scix": {      "command": "/full/path/to/scix",      "args": ["serve"],      "env": { "SCIX_API_TOKEN": "your-token-here" }    }  }}

See docs/mcp-server.md for Cursor, VS Code, Zed, Gemini CLI, Codex CLI, Windsurf, the full tool reference, and example workflows.


Quick Start: CLI

bash
scix search 'first_author:"Perlmutter" supernova' --sort "citation_count desc"scix export 1999ApJ...517..565P --format bibtexscix cites 1999ApJ...517..565P --rows 50scix libraries create "Thesis Papers" --description "Key references"

See docs/cli.md for all commands including library permissions, notes, and set operations.


Quick Start: Python

bash
pip install scix-client
python
import scix_client
client = scix_client.SciXClient()   # token from SCIX_API_TOKEN or ~/.config/scix/tokenresults = client.search('author:"Einstein" year:1905', rows=5)for paper in results.papers:    print(f"{paper.title} ({paper.year}) — {paper.citation_count} citations")

The wheel also installs the scix command, so pip install scix-client && scix setup is a complete MCP setup. See docs/python.md for the full API reference.


Quick Start: Rust

toml
[dependencies]scix-client = { version = "0.4", default-features = false }   # library only, no CLI deps
rust
use scix_client::SciXClient;
#[tokio::main]async fn main() -> scix_client::error::Result<()> {    let client = SciXClient::from_env()?;    let results = client.search("author:\"Einstein\" year:1905", 5).await?;    for paper in &results.papers {        println!("{} — {} citations", paper.title, paper.citation_count.unwrap_or(0));    }    Ok(())}

See docs/rust.md for the full API, error handling, and architecture.


Query Syntax Quick Reference

PatternMeaning
author:"Einstein"Author search
first_author:"Einstein"First author only
title:"dark matter"Title words
abs:"gravitational waves"Abstract words
year:2023 or year:[2020 TO 2023]Year / year range
bibcode:2023ApJ...Bibcode
doi:"10.1234/..."DOI
object:"M31"Astronomical object
property:refereedRefereed papers
property:openaccessOpen access

Boolean: AND, OR, NOT, parentheses Functional: citations(bibcode:X), references(bibcode:X), similar(bibcode:X) Sort: date desc (default), citation_count desc, score desc, read_count desc

See docs/query-syntax.md for the full reference including all 17 export formats.


Token lookup order

scix (and the Python/Rust clients' from_env) look for the API token in this order:

  1. SCIX_API_TOKEN environment variable
  2. ADS_API_TOKEN environment variable
  3. ~/.config/scix/token (%APPDATA%\scix\token on Windows; override the directory with SCIX_CONFIG_DIR), written by scix login / scix setup

Rate Limiting

The SciX API allows 5,000 requests/day and 5 requests/second. scix-client handles rate limiting automatically — a token-bucket rate limiter enforces 5 req/s locally, and API rate-limit headers are respected.

License

MIT

來源:README.md,提交 89c93b0

工具

12

scix_bigquery

Search within a set of known bibcodes. Useful for filtering a collection of papers.

輸入參數querybibcodes必填

scix_export

Export papers in citation formats (bibtex, ris, aastex, mnras, ieee, csl, etc.).

輸入參數formatbibcodes必填

scix_metrics

Get citation metrics (h-index, g-index, citation counts) for a set of papers.

輸入參數bibcodes必填

scix_library

Manage SciX personal libraries (list, get, create, edit, delete, permissions, transfer).

輸入參數idnameemailaction必填publicpermissiondescription

scix_library_documents

Manage documents in a SciX library: add/remove bibcodes, notes, set operations (union/intersection/difference/copy/empty), or add by search query.

輸入參數rowsqueryaction必填bibcodecontentbibcodeslibrarieslibrary_id必填

scix_citation_helper

Find papers frequently co-cited with the given set but not yet included.

輸入參數bibcodes必填

scix_network

Get author collaboration or paper citation network data.

輸入參數typebibcodes必填

scix_resolve_reference

Turn a COMPLETE citation into a bibcode. Requires journal, volume and page, as they appear in a reference list — 'Abel, T., Bryan, G. L., & Norman, M. L. 2002, Science, 295, 93' resolves; 'Abel Bryan Norman 2002 Science' does not, and returns a row of dots with score 0.0 rather than an error. Use this for reference lists and bibliographies. For a paper known only by author and year, use scix_search with a field query instead.

輸入參數references必填

scix_get_paper

Get detailed metadata for a single paper by bibcode, including abstract, affiliations, keywords, and links.

輸入參數bibcode必填

版本歷史

1
  1. v0.4.1最新Oct 22, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分