SciTeX MCP server
Commit Nov 12, 2026Lets AI clients run scientific research tools through MCP for literature, statistics, figures, manuscripts, and provenance tracking.
Also known as scitex-ai/scitex-python
- Stars
- 85
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Nov 12, 2026
- License
- AGPL-3.0
What is SciTeX MCP?
SciTeX lets AI clients run scientific research tools through MCP for literature, statistics, figures, manuscripts, and provenance tracking.
Summary generated from the project's README
About SciTeX MCP server
Researchers and AI agents can perform complex scientific workflows by connecting specialized research packages through this toolkit. It provides a unified way to handle literature reviews, statistical analysis, figure generation, and manuscript writing. By using the MCP interface, an AI client can discover and execute tools from installed modules like scitex-stats or scitex-scholar directly from a local environment.
The system emphasizes traceability by using scitex-clew to record the relationships between source data, executable code, and final outputs. This allows for provenance-based verification of research results. Users set up the server by pointing their MCP client to the scitex executable within a Python virtual environment using the stdio transport method.
Differentiation comes from the shared namespace and the ability to combine independent, specialized packages into a single research session. While individual packages handle specific domain logic, the umbrella provides a consistent interface across Python APIs, command-line tools, and MCP tools.
What you can do with it
- 1Automated literature and data analysisAn AI agent can search through scholarly papers and perform statistical computations on the findings.
- 2Generating reproducible scientific figuresA developer can instruct an AI to create a plot from a signal and save it alongside its specific recipe for future recreation.
- 3Writing and previewing manuscriptsAn AI can assist in drafting scientific papers and providing previews of compiled sections.
Written from the project's README. Every use case is checked against a quote from it.
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work
- Source repository linked and reachablescitex-ai/scitex-python is public and reachablegithub.com/scitex-ai/scitex-python ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)AGPL-3.0spdx.org/licenses/AGPL-3.0.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-12github.com/scitex-ai/scitex-python ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubSciTeX (scitex)
A Python toolkit — AI for Science
SciTeX connects specialized scientific packages through a shared Python namespace, command-line tools, and interfaces for AI agents. Use individual packages for a focused task, or combine them in a research workflow.
- Deterministic research tools for literature, data, analysis, figures, and writing.
- Provenance-based verification with scitex-clew.
- Flexible interfaces: Python API, CLI, MCP, skills, and web API across the ecosystem.
Documentation · PyPI · SciTeX Cloud · Ecosystem
Problem and Solution
| # | Problem | Solution |
|---|---|---|
| 1 | Fragmentation between literature, analysis, figures, and writing | Shared entry points backed by independent, specialized packages |
| 2 | Traceability gaps between reported results and their source data | Recorded provenance through scitex-clew and supported package integrations |
| 3 | Interfaces that differ across researchers and AI agents | Access through Python, CLI, MCP, skills, and Web APIs |
Quick start
After installation, create a figure from a synthetic signal and save it with its FigRecipe recipe:
from pathlib import Path
import numpy as np
import scitex
x = np.linspace(0, 2 * np.pi, 200)
y = np.sin(x)
fig, ax = scitex.plt.subplots()
ax.plot(x, y)
ax.set_xyt("Time", "Amplitude", "Synthetic signal")
output = Path("outputs/signal.png").resolve()
scitex.io.save(fig, str(output))
Run the code in your project directory. It writes outputs/signal.png and the figure's recipe beside it. The absolute path makes the output location explicit.
| Task | Python entry point | Owning package |
|---|---|---|
| Scientific file I/O | scitex.io |
scitex-io |
| Statistics | scitex.stats |
scitex-stats |
| Figures and recipes | scitex.plt |
figrecipe |
| Literature | scitex.scholar |
scitex-scholar |
| Manuscripts | scitex.writer |
scitex-writer |
| Experiment sessions | scitex.session |
scitex-session |
Table 1. Selected Python entry points and their owning packages.
The umbrella delegates implementation to the owning packages. Their documentation describes detailed APIs, dependencies, and configuration.
Demo — SciTeX Cloud apps
SciTeX Hub provides the graphical workspace; specialized packages provide the apps. These screenshots show development builds with synthetic/demo content, not research findings.
Figure 1. FigRecipe: editable figures and recipes. Figure 2. Writer: manuscript editing and section previews. Captured November 2–3, 2026; image sources and hashes.
SciTeX Cloud is in alpha. Features and data formats may change. Keep backups.
Explore the apps · Watch the research demo and inspect its outputs
Installation
Create a virtual environment and install the toolkit:
uv venv .venv
source .venv/bin/activate
uv pip install scitex
scitex --help
Use the equivalent activation command for your shell. Python requirements are declared on PyPI. Optional integrations may have additional runtime or platform requirements.
Choose extras for the work you need, for example:
uv pip install "scitex[scholar,writer]"
See the installation guide for package and environment setup.
Architecture — Ecosystem
| Role | Package |
|---|---|
| Python umbrella and integration | scitex — shared namespace and user entry points |
| Development tools and dispatchers | scitex-dev — discovery, shared checks, hooks, and skills |
| Standalone apps and Hub plugins | scitex-sdk — shared web/app primitives |
| Browser workspace and Web API hosting | scitex-hub |
| Domain logic and providers | Specialized leaf packages, each with its own APIs, documentation, and license |
Table 2. Responsibilities across the ecosystem.
Leaves own their expertise; shared dispatchers discover and integrate their declared interfaces. Browse the ecosystem.
Five Interfaces
| Interface | Entry point |
|---|---|
| Python API | import scitex |
| CLI | scitex --help, then the selected command's --help |
| MCP tools | scitex mcp --help; package tools are discovered from the installed environment |
| Skills | Packaged guidance and each leaf package's skills |
| Web API | Hub and app endpoints, served through scitex-hub and its plugins |
Table 3. The five ecosystem interfaces; availability depends on the installed packages.
Available interfaces depend on installed packages, their versions, and configuration. Use documentation that matches your installed release.
For clients using an mcpServers configuration:
{
"mcpServers": {
"scitex": {
"command": "/absolute/path/to/.venv/bin/scitex",
"args": ["mcp", "start", "--transport", "stdio"]
}
}
}
Set command to the executable in your SciTeX environment. Inspect only the tool groups relevant to your task, for example:
scitex mcp list-tools --module stats
Provider credentials and external services are configured by the packages that use them.
In scitex 2.30.8, the skills CLI imports scitex_dev.skills, but its pinned scitex-dev 0.28.0 does not provide that module. Read the package-owned skill files directly for that release. The compatibility and interface updates are tracked in #387.
Provenance
Record Forward. Verify Backward.
scitex-clew records source data and inputs–executable–outputs relationships. Verification follows recorded dependencies back toward source data. Consult the owning package's integration and session guidance to enable the tracking appropriate to your workflow.
Documentation and contributing
- API reference
- Questions and ideas
- Bugs and feature requests
- Contributing guide and Contributor License Agreement
License
This package is licensed under AGPL-3.0, with commercial licensing described in the CLA. Check each leaf package's license for its terms.
Part of SciTeX
scitex is part of SciTeX, providing the Python umbrella and integration entry points.
Four Freedoms for Research
- The freedom to run your research anywhere — your machine, your terms.
- The freedom to study how every step works — from raw data to final manuscript.
- The freedom to redistribute your workflows, not just your papers.
- The freedom to modify any module and share improvements with the community.
AGPL-3.0 — because we believe research infrastructure deserves the same freedoms as the software it runs on.
SciTeX MCP questions
How do I connect an MCP client to SciTeX?
Add a scitex entry to your mcpServers configuration, pointing command at the scitex executable in your SciTeX environment and using the args "mcp start --transport stdio".
How do I install SciTeX?
Create a virtual environment and install the scitex package with uv, then run scitex --help to confirm it works. Optional extras such as scholar and writer can be added.
How do I list only the MCP tools for a specific module?
Run the scitex mcp list-tools command with the --module flag and the module name, for example stats.
What interfaces does SciTeX offer?
SciTeX exposes a Python API, a CLI, MCP tools, skills, and a web API. Availability depends on which packages are installed.
How does SciTeX track provenance of results?
scitex-clew records source data and the inputs-to-outputs relationships, and verification follows those recorded dependencies back toward the source data.