SciX / NASA ADS

io.github.yipiheyPublished by GitHub account yipiheyv0.4.1Updated Oct 29, 2026

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

Overview

AI-generated overview

Searches the SciX / NASA ADS astronomy and physics literature, returning papers, citations, metrics, BibTeX exports and personal library management.

What you can do
  • Search papers with field queries and filter within known bibcode sets
  • Fetch a single paper's metadata, abstract and links, and resolve complete citations to bibcodes
  • Export references in BibTeX, AASTeX, RIS and other formats, and compute citation metrics
  • Explore citation and author collaboration networks, and find frequently co-cited papers
  • Resolve astronomical object names via SIMBAD/NED
  • List, create, edit, delete and transfer personal libraries, and add or remove documents in them
When to use it
Useful for literature reviews, bibliography building, citation analysis and reference export in astronomy, astrophysics and physics, where the assistant should query the ADS index instead of the open web.
Requirements
Runs locally as a stdio process, installed as a Claude Desktop extension bundle, via uvx from the PyPI package, or as a native binary. Needs a free SciX / ADS API token supplied as SCIX_API_TOKEN (or ADS_API_TOKEN, or a saved token file) and network access to the SciX API.
Before you install
Requires an API token that is stored in a config file or environment variable. Library tools write to the user's ADS account, including delete, empty and transfer operations, so confirm before destructive changes. The API is rate limited to 5,000 requests per day and 5 per second.

Installation

In SourceWeft

  1. Open SciX / NASA ADS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit 89c93b0

Tools

12

scix_bigquery

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

Parametersquerybibcodesrequired

scix_export

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

Parametersformatbibcodesrequired

scix_metrics

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

Parametersbibcodesrequired

scix_library

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

Parametersidnameemailactionrequiredpublicpermissiondescription

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.

Parametersrowsqueryactionrequiredbibcodecontentbibcodeslibrarieslibrary_idrequired

scix_citation_helper

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

Parametersbibcodesrequired

scix_network

Get author collaboration or paper citation network data.

Parameterstypebibcodesrequired

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.

Parametersreferencesrequired

scix_get_paper

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

Parametersbibcoderequired

Version history

1
  1. v0.4.1LatestOct 22, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts