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 分