Skip to main content

A community repository for scientific agentic tools - discover, share, and use AI tools for science

Project description

scitoolkit

A package manager and runtime for scientific AI tools. Lets researchers publish toolkits to the SciToolkit registry and use them in coding agents (Claude Code, Codex) or in scripts via the Model Context Protocol.

Each toolkit installs into its own isolated Python environment, so dependency conflicts between toolkits are never a problem.


Quickstart

pip install scitoolkit

# Install a toolkit from the registry
stk install arxiv-search

# See what you have
stk list

# Serve installed toolkits over MCP stdio
stk serve

stk is a shorter alias for scitoolkit; both ship with the package and behave identically.

To use the served toolkits in Claude Code, add this to its MCP config:

{
  "mcpServers": {
    "scitoolkit": {
      "command": "scitoolkit",
      "args": ["serve"]
    }
  }
}

Claude Code will spawn its own scitoolkit serve subprocess and discover all installed toolkits' tools. To watch tool calls fire in real time, run stk logs in another terminal.


Authoring a toolkit

stk init my-toolkit         # scaffold from template
cd my-toolkit
# write your tools in tools/ ; write skills in skills/
stk validate                # check structure
stk login my-toolkit        # one-time, stores publish token
stk publish                 # ship it

For the agent-assisted authoring flow (recommended for first toolkits), see https://scitoolkit.org/docs/scaffold-with-an-agent.

For the full author guide — toolkit layout, tool conventions, skills, groups, expected_toolkits — see https://scitoolkit.org/docs/authoring.


What's in scitoolkit 0.2.0

Commands:

  • init, validate, login, publish — author and ship toolkits.
  • search, install, uninstall, list — manage installed toolkits.
  • serve — run installed toolkits as an MCP stdio server. Supports positional toolkit names, --group, --enable-tool, --disable-tool, --dry-run, --call-timeout.
  • logs — tail the serve log with Rich coloring.
  • groups — manage named tool subsets that span toolkits.

Features:

  • Multi-tier execution: same-Python toolkits run in venv, different-Python toolkits run under conda (auto-detected). Docker mode coming in 3B.
  • Per-tool selection: enable or disable individual tools per serve session or persistently in ~/.scitoolkit/serve.yaml.
  • Skills surfacing: a toolkit's skills/*.md files are auto-mirrored to ~/.claude/skills/ so Claude Code discovers them. Symlinked on POSIX for live edits, copied on Windows.
  • Agent-friendly flags: every state-modifying command supports --yes, --no, --no-input. Non-TTY stdin auto-applies non-interactive behavior.
  • Versioning safeguards: publish blocks "version already exists" and "version decrease" with helpful suggestions before upload.
  • Python 3.12+ required.

See CHANGELOG.md for the full release history.


Architecture

The package has three pieces:

  • CLI (this package) — installed locally, manages toolkit environments and serves tools.
  • Backend (api.scitoolkit.org) — registry, auth, tarball storage.
  • Website (scitoolkit.org) — discover and manage published toolkits.

Each installed toolkit runs in its own subprocess in its own Python environment. The scitoolkit serve orchestrator aggregates them and exposes the union as a single MCP server upstream. Failures in one toolkit don't affect others.


Contributing

Issues and PRs are welcome at https://github.com/adroman/scitoolkit.


License

MIT. See LICENSE.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scitoolkit-0.2.0.tar.gz (83.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scitoolkit-0.2.0-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

Details for the file scitoolkit-0.2.0.tar.gz.

File metadata

  • Download URL: scitoolkit-0.2.0.tar.gz
  • Upload date:
  • Size: 83.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for scitoolkit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a5b6c79144c3d2e6b2b927bb8441a65aeedbcbdd7889a08b28bb98dc1718f509
MD5 ef01b0d4d3638e473001e79f721dc139
BLAKE2b-256 b619ba2ba56b6b6c1314e7acb28c5c499d80d122506c64fcb9cbe7aef03acf06

See more details on using hashes here.

File details

Details for the file scitoolkit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: scitoolkit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 76.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for scitoolkit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9d1c1dbe11920041fb53ab5b7ea903923f5323966c1bb194859e47b899b228c
MD5 d3dc10e15c7dc5130db969bcb55c6a84
BLAKE2b-256 f3a7462536dceea2501a195e52f1e548e66d4eb4b128824ab28ee81f8ff54786

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page