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/*.mdfiles 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:
publishblocks "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
- Website: https://scitoolkit.org
- Backend API: https://api.scitoolkit.org
- GitHub: https://github.com/adroman/scitoolkit
- Issues: https://github.com/adroman/scitoolkit/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5b6c79144c3d2e6b2b927bb8441a65aeedbcbdd7889a08b28bb98dc1718f509
|
|
| MD5 |
ef01b0d4d3638e473001e79f721dc139
|
|
| BLAKE2b-256 |
b619ba2ba56b6b6c1314e7acb28c5c499d80d122506c64fcb9cbe7aef03acf06
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9d1c1dbe11920041fb53ab5b7ea903923f5323966c1bb194859e47b899b228c
|
|
| MD5 |
d3dc10e15c7dc5130db969bcb55c6a84
|
|
| BLAKE2b-256 |
f3a7462536dceea2501a195e52f1e548e66d4eb4b128824ab28ee81f8ff54786
|