Skip to main content

OmniScholar

English | 简体中文

OmniScholar adds literature search, local Zotero reading, PDF parsing, citation tools, materials data, and scientific image generation to coding agents through a local Python MCP server.

It can search public indexes, combine online records with your Zotero notes, send an approved PDF to MinerU, and publish Markdown into a regular folder or an Obsidian vault. Zotero access is read-only.

Features

  • Search Semantic Scholar, OpenAlex, PubMed/PMC, arXiv, Crossref, Unpaywall, easyScholar, Google Scholar, and Google Patents
  • Retrieve paper details, authors, citations, references, recommendations, snippets, datasets, and journal metrics
  • Read Zotero collections, items, notes, annotations, attachments, indexed text, and local PDF paths without changing the library
  • Parse selected PDFs with MinerU and keep text, formulas, tables, and figures together
  • Find citation candidates, check bibliographic identity, and format accepted references
  • Query Materials Project and export JSON, CSV, Markdown, or CIF
  • Generate or edit scientific illustrations with configured image services
  • Preserve local Markdown edits and place incoming conflict versions in .conflicts/

OmniScholar exposes 38 tools. See the tool list.

Install

Python 3.11 or newer is required:

uv tool install luffysolution-omnischolar
# or
pipx install luffysolution-omnischolar
# or
python -m pip install luffysolution-omnischolar

For development from a source checkout, replace the package name with ..

The distribution name is luffysolution-omnischolar; the command and Python package are omnischolar.

Check the installation:

omnischolar --version
omnischolar doctor --json

Update or uninstall the Python command:

uv tool upgrade luffysolution-omnischolar
uv tool uninstall luffysolution-omnischolar

Connect an agent

Codex app and Codex CLI plugin

Install uv first, then add the OmniScholar Git marketplace and install the plugin:

codex plugin marketplace add luffysolution-svg/omnischolar --ref main
codex plugin add omnischolar@omnischolar

In the ChatGPT desktop app, restart the app, open Plugins, select the OmniScholar marketplace, and install or enable OmniScholar. In Codex CLI, run /plugins to browse the same marketplace.

The plugin bundles all eight Skills and starts its local MCP server from the latest PyPI release:

uvx --from luffysolution-omnischolar@latest omnischolar mcp

No separate pip install is required for this plugin path. @latest asks uvx to resolve the latest package instead of pinning this plugin to a release number. Provider credentials and optional service settings remain in your OmniScholar configuration; plugin installation does not collect them.

Claude Code plugin

Install uv first. In Claude Code, add the GitHub marketplace and install the plugin:

/plugin marketplace add luffysolution-svg/omnischolar
/plugin install omnischolar@omnischolar

For scripts or a regular terminal, use the non-interactive shell commands:

claude plugin marketplace add luffysolution-svg/omnischolar
claude plugin install omnischolar@omnischolar --scope user
claude plugin update omnischolar@omnischolar --scope user

Run /reload-plugins if the install summary asks for it, then start a new session. The plugin automatically starts the latest uvx MCP server and exposes namespaced Skills such as /omnischolar:scholar-search. No separate Python installation is required.

Host configuration installer

Preview the files that will change, then install the local MCP entry and Skills:

omnischolar install --dry-run claude
omnischolar install claude

Replace claude with codex, cursor, opencode, hermes, pi, or workbuddy. Codex, Claude Code, Cursor, OpenCode, Pi, and WorkBuddy/CodeBuddy support both user and project scopes. Hermes supports user-level MCP configuration; project-level installation adds Skills and reports that MCP setup is manual.

omnischolar install cursor --scope project
omnischolar update cursor --scope project
omnischolar uninstall cursor --scope project

For Pi, the full installer runs pi install npm:@luffysolution/omnischolar-pi and installs the bundled Skills separately. The npm Extension starts the matching PyPI MCP through uvx, discovers its tools, and registers them with Pi; a separate global Python CLI installation is not required. You can also install the Extension directly:

pi install npm:@luffysolution/omnischolar-pi
pi update npm:@luffysolution/omnischolar-pi
pi remove npm:@luffysolution/omnischolar-pi

WorkBuddy/CodeBuddy uses ~/.codebuddy/.mcp.json for user scope and .mcp.json for project scope. It does not publish a portable Skills path, so its installer configures MCP and reports Skills as manual_required.

The direct latest MCP command is:

uvx --from luffysolution-omnischolar@latest omnischolar mcp

Normally the agent starts this process from its MCP configuration. The installer checks initialize, tools/list, and omnischolar_status after writing a supported configuration.

Full host and update instructions are in Installation.

Standalone Skills CLI

Plugins already bundle their declared Skills. Use the official Skills CLI separately when you want to install the repository's Skills directly into an agent:

# User scope; replace codex with claude-code, pi, cursor, or another supported agent
npx skills add luffysolution-svg/omnischolar --skill '*' --agent codex --global --yes
npx skills update --global --yes
npx skills remove --skill '*' --agent codex --global --yes

Try it

Find five recent reviews about solid-state battery interfaces. Deduplicate by DOI and show open-access copies.

Find this DOI in my Zotero library and summarize my notes and annotations without changing Zotero.

After I approve the upload, parse this PDF with MinerU and save a reading note in my Obsidian vault.

Query stable Li-Fe-P-O materials in Materials Project and export the selected records as CSV and CIF.

Create a labelled illustration of this mechanism. Treat it as a draft, not experimental data.

Configuration

On the first MCP start or installer run, if no discoverable config exists, OmniScholar creates a complete user-level omnischolar.config.json template with all service sections and credential fields. You can also create it explicitly with omnischolar config init. API keys may be entered directly as apiKey; apiKeyEnv is an optional alternative when you prefer environment variables.

Customize the Obsidian output location, paper folders, Markdown files, and parsed image assets with output.rootDirectory, output.literatureDirectory, output.folderNameTemplate, output.filenameTemplate, output.filenameSeparator, and output.assetFilenameTemplate; see literature and output configuration.

A small local configuration can start with Zotero and the output directory:

{
  "schemaVersion": 1,
  "runtime": { "workspaceRoots": ["./research-inputs"] },
  "zotero": {
    "enabled": true,
    "baseUrl": "http://127.0.0.1:23119/api"
  },
  "output": { "rootDirectory": "./research-output" }
}

OpenAlex, PubMed, arXiv, and Crossref work without API keys. Other services are enabled separately. Configuration fields and provider examples are in Configuration.

Files, uploads, and charges

  • Zotero requests go only to the local API on port 23119 and use GET.
  • MinerU receives a PDF only when allowExternalUpload is enabled in the config and confirmed again in that tool call.
  • Image services receive prompts and any reference images selected for upload. Generation may use account credit.
  • Ai4Scholar calls may use account credit. A stored key does not by itself approve a paid call.
  • A failed paid request is not retried automatically when the provider may already have accepted it.
  • Generated images are illustrations. They are not measurements, experimental evidence, or scientific results.

See PRIVACY.md and Configuration before enabling uploads or paid services.

Included Skills

Skill Use
omnischolar Choose and combine tools for a research request
scholar-search Literature, patents, authors, citation graphs, journals, and datasets
zotero-research Local Zotero matching, notes, annotations, and attachments
paper-reading MinerU parsing and close reading of text, formulas, tables, and figures
academic-citation Evidence checks, citation candidates, formatting, and bibliographies
scientific-figure Image generation, editing, review, and scientific labelling
materials-project Materials screening, properties, provenance, phase data, and export
chemical-data CAS Common Chemistry records when an official interface description is configured

Documentation

Support and license

OmniScholar is open source under the MIT License. Open a GitHub issue or email LuffySolution@gmail.com. Remove keys, signed URLs, private paper content, and personal Zotero data before sending a report.

Third-party services and datasets keep their own terms and licenses. See THIRD_PARTY_NOTICES.md.

Metadata

Release files for luffysolution-omnischolar 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for luffysolution-omnischolar 0.1.11
File Size Uploaded
luffysolution_omnischolar-0.1.11.tar.gz 207.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for luffysolution-omnischolar 0.1.11
File Interpreter ABI Platform
luffysolution_omnischolar-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 352.5 kB

Release files / luffysolution_omnischolar-0.1.11.tar.gz

Download URL luffysolution_omnischolar-0.1.11.tar.gz
Size 207.8 kB
Tags Source
SHA-256 checksum
How to use checksums
63a477efcfa5146201a0fe5e7a56bae819db8d64b1a84a22bf7f420dd1e3980d
BLAKE2b-256 checksum
How to use checksums
de7ca7a1fb155b61ecce05d7c0784195dff03865209483e4e6734648910293f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / luffysolution_omnischolar-0.1.11-py3-none-any.whl

Download URL luffysolution_omnischolar-0.1.11-py3-none-any.whl
Size 144.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
693710e6c9cd5c39c8f94d3e914eff77ae3ce094541f33bb08c5b1227ef73b60
BLAKE2b-256 checksum
How to use checksums
896c0ef3da8ddd3b08974418d2e186b70fe90f912a4fd25c4f9931404126c4d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

This release

0.1.11 This release

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page