Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SCAPS-1D

PYPI · SCAPS-MCP

Design, simulate, fit and sanity-check thin-film solar cells with SCAPS-1D on your own installation.

Available components

0 this week 66 Trust /100

Last scanned (4 hours ago)

Scores higher than 63% of PyPI servers

Category Health and Science

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • 1 of 28 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability51
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4144 tokens (~259/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage96
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 86% of tool parameters carry a description.Partial
  • Structured output schemas are declared (94% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 4 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
  • 3 Nov 26 +15
    • Malware scan: unverified → pass ▲ security
  • 30 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 29 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 26 Oct 26 51

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed pypi/scaps-mcp@0.1.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 28 packages
Packages resolved 28
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 16 exposed · ~3,932 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
scaps_batch ~563

Run one SCAPS session over many parameter values and tabulate the J-V metrics of every point. Covers thickness, doping, defect, band offset, temperature, intensity and bias studies. Every point's files are kept for scaps_results and scaps_plot.

NameTypeReqDescription
actionsobject–SCAPS action commands, e.g. {'iv.startV': 0, 'iv.stopV': 1.2, 'iv.increment': 0.02, 'qe.startlambda': 300, 'cf.points.per.decade': 5, 'intensity.ND': 1, 'spectrumcutoff.on': null, 'spectrumcutoff.lon…
definitionstringyesDefinition file in SCAPS def/, e.g. 'example CIGS.def'.
illuminationstring–Calculate under the spectrum or in the dark.
measurementsarray–Measurements: iv (J-V), qe, cv, cf. May be empty when profiles are requested.
modestring–grid runs every combination; zip pairs the lists element-wise.
parametersobject–Ordered SCAPS set commands in script units, e.g. {'layer1.thickness': 2, 'layer1.NA': 1e16, 'layer1.defect1.Ntotal': 1e14, 'layer1.defect1.singleacceptor': null, 'interface1.IFdefect1.Ntotal': 1e10,…
profilesarray–Spatial results at the working point voltage: eb (bands, quasi-Fermi levels, carriers, field, currents, generation and recombination rates) and genrec (occupation of every defect level); ac (small si…
spectrum––Spectrum file in SCAPS spectrum/; default AM1.5G 1 sun.
temperature_k––Working point temperature in K.
variablesobjectyesSet or action keys and their values, e.g. {'layer1.thickness': [0.3, 0.5, 1]} or {'workingpoint.temperature': [280, 300, 320], 'intensity.ND': [0, 1, 2]}.
wait_secondsnumber–Wait this long for the result; longer runs continue as a job.
NameTypeReqDescription
checksarrayyes–
definitionstringyes–
measurementsarrayyes–
pointsarrayyes–
progress–yes–
run_idstringyes–
scaps_errorsarrayyes–
seconds–yes–
statusstringyes–
variablesarrayyes–

No examples provided.

scaps_create_device ~497

Build a new device from scratch and save it as a .def file. A layer may name a .material file ('material': 'CIGSe.material'); its properties apply first and explicit keys override them.

NameTypeReqDescription
interfacesobject–Interface defects by interface number (1 lies between layers 1 and 2), up to 3 each, e.g. {1: [{'Ntotal': 1e10, 'singledonor': null}]}.
layersarrayyesLayers from the left (back) contact. Each maps set-command suffixes to values, e.g. {'name': 'absorber', 'thickness': 0.5, 'Eg': 1.55, 'chi': 3.9, 'epsilon': 10, 'NC': 2.2e18, 'NV': 1.8e19, 'mun': 2,…
left_contactobject–e.g. {'workfunction': 5.1, 'Sn': 1e5, 'Sp': 1e7}; a work function switches flat band off.
namestringyesNew definition name, saved in SCAPS def/.
numericsobject–Numerical settings stored in the .def 'convergence' section, which scripts cannot set, e.g. {'maxiter': 2000, 'clamp_psi': 0.25, 'termination_psi': 1e-4, 'defectdiscretisations': 9}.
optionsobject–Other set commands, e.g. {'illumination.fromleft': null, 'numerical.Shockley-Queisser_limit.always': null}.
overwriteboolean––
right_contactobject–As left_contact.
NameTypeReqDescription
definitionstringyes–
device–yes–
notesarrayyes–
run_idstringyes–

No examples provided.

scaps_describe_device ~94

Read a .def file: layers, bulk defects, interfaces with band offsets, contacts and realism checks. Fields use script names and units, so any value can be passed back as a parameter (layers[0].NA -> 'layer1.NA'). Graded layers report their base value.

NameTypeReqDescription
definitionstringyesDefinition file in SCAPS def/, e.g. 'example CIGS.def'.
NameTypeReqDescription
absorber_layer–yes–
checksarrayyes–
contactsobjectyes–
definitionstringyes–
interfacesarrayyes–
layersarrayyes–
sq_limit_mode–yes–
unitsobjectyes–
working_pointobjectyes–

No examples provided.

scaps_edit_device ~249

Change a device and save it as a .def file: parameters, layers, defects, materials and solver settings.

NameTypeReqDescription
basestringyesExisting definition to start from.
materialsobject–Load .material files into layers before the operations, e.g. {1: 'CIGSe.material'}.
numericsobject–Numerical settings stored in the .def 'convergence' section, which scripts cannot set, e.g. {'maxiter': 2000, 'clamp_psi': 0.25, 'termination_psi': 1e-4, 'defectdiscretisations': 9}.
operationsobject–Ordered set commands, including structural ones: 'layer2.duplicate', 'layer3.remove', 'layer1.defect1.duplicate', 'layer1.defect2.gauss', 'interface1.2_default_IFdefects', 'layer1.Eg.file': 'profile.…
overwriteboolean–Replace an existing file of that name.
save_asstringyesNew definition name, saved in SCAPS def/.
NameTypeReqDescription
definitionstringyes–
device–yes–
notesarrayyes–
run_idstringyes–

No examples provided.

scaps_import_file ~126

Add a SCAPS file someone shared (device .def, .material, .abs, spectrum, measurement...) to the installation. Definitions and materials are parsed to confirm they are valid, and files they reference but that are missing (absorption, grading, filter) are listed.

NameTypeReqDescription
contentstringyesFull text of the file.
kindstringyesFile type; decides the SCAPS folder.
namestringyesFile name with its SCAPS extension, e.g. 'perovskite cell.def'.
overwriteboolean––
NameTypeReqDescription
filestringyes–
kindstringyes–
missing_referencesarrayyes–
summaryobjectyes–

No examples provided.

scaps_jobs ~85

List recent runs, or get, wait for or cancel one. A finished job includes its full result.

NameTypeReqDescription
actionstring–What to do.
job_id––Job (run) id for status, wait and cancel.
limitinteger––
wait_secondsnumber–Wait this long for the result; longer runs continue as a job.
NameTypeReqDescription
jobsarrayyes–
result–yes–

No examples provided.

scaps_list_files ~68

List files in a SCAPS data folder: definitions, spectra, absorption, grading, generation and more.

NameTypeReqDescription
contains––Case-insensitive substring filter.
kindstring–SCAPS data folder to list.
limitinteger––
offsetinteger––
NameTypeReqDescription
filesarrayyes–
kindstringyes–
totalintegeryes–

No examples provided.

scaps_optimize ~673

Fit device parameters to measured curves, or optimise efficiency, Voc, Jsc or FF, by bounded Nelder-Mead. Replaces the GUI-only SCAPS curve fitter and supports several measurements at once (light and dark J-V, QE, C-V). Each simplex step is one SCAPS session per measurement condition; long runs continue as a job past wait_seconds, so poll with scaps_jobs.

NameTypeReqDescription
actionsobject–SCAPS action commands, e.g. {'iv.startV': 0, 'iv.stopV': 1.2, 'iv.increment': 0.02, 'qe.startlambda': 300, 'cf.points.per.decade': 5, 'intensity.ND': 1, 'spectrumcutoff.on': null, 'spectrumcutoff.lon…
definitionstringyesDefinition file in SCAPS def/, e.g. 'example CIGS.def'.
goalstringyesfit measured curves, maximise or minimise a J-V metric, or reach a target value.
max_evaluationsinteger––
measuredarray–For fit: curves to match together, e.g. [{'kind': 'iv', 'file': 'Numos Ex 1 light.iv'}, {'kind': 'iv', 'x': [...], 'y': [...], 'illumination': 'dark', 'log': true, 'weight': 1}]. Files come from SCAP…
metric––Metric for maximize, minimize and target.
parametersobject–Ordered SCAPS set commands in script units, e.g. {'layer1.thickness': 2, 'layer1.NA': 1e16, 'layer1.defect1.Ntotal': 1e14, 'layer1.defect1.singleacceptor': null, 'interface1.IFdefect1.Ntotal': 1e10,…
spectrum––Spectrum file in SCAPS spectrum/; default AM1.5G 1 sun.
target––Target value of the metric for goal 'target'.
temperature_k––Working point temperature in K.
variablesobjectyesSet or action keys to vary with bounds, e.g. {'layer1.defect1.Ntotal': {'min': 1e12, 'max': 1e16, 'log': true}, 'layer2.thickness': {'min': 0.03, 'max': 0.12, 'start': 0.05}}.
wait_secondsnumber–Wait this long for the result; longer runs continue as a job.
NameTypeReqDescription
bestobjectyes–
best_metrics–yes–
best_value–yes–
checksarrayyes–
evaluationsintegeryes–
historyarrayyes–
objectivestringyes–
progress–yes–
run_idstringyes–
statusstringyes–

No examples provided.

scaps_plot ~125

Render result curves as a PNG image. Requires the optional 'plot' extra.

NameTypeReqDescription
filesarrayyesResult files of the run to overlay.
log_xboolean––
log_yboolean––
run_idstringyesRun id.
table––Table title or index, as in scaps_results.
title–––
width_pxinteger––
x––X column; default the natural axis of the file type.
y––Y columns; default the key column of the file type.

No output schema declared.

No examples provided.

scaps_results ~138

Return one table of a result file: J-V, QE, C-V, C-f curves or band, generation and AC profiles.

NameTypeReqDescription
columns––Columns to keep; default all.
file––Result file of the run; omit to list the files.
max_rowsinteger––
offsetinteger––
run_idstringyesRun id from scaps_simulate, scaps_batch or scaps_run_script.
stepinteger–Keep every n-th row to thin long profiles.
table––Table title ('bulk', 'interface') or index; default the main table.
NameTypeReqDescription
columnsarrayyes–
filestringyes–
infoobjectyes–
kind–yes–
offsetintegeryes–
rowsarrayyes–
run_idstringyes–
tablesarrayyes–
title–yes–
total_rowsintegeryes–

No examples provided.

scaps_run_script ~148

Run a SCAPS script for workflows beyond the other tools: recorder, curve fitting, math, loops, tandem. The server prepends quit and error-log settings and 'clear all'. Commands are checked against the installed SCAPS; file names must be bare; system commands are rejected. Results saved with 'save results.<kind> name' are collected into the run.

NameTypeReqDescription
scriptstringyesSCAPS script text, one command per line.
timeout_s––Override SCAPS_TIMEOUT.
validate_onlyboolean–Only check the script and report problems.
wait_secondsnumber–Wait this long for the result; longer runs continue as a job.
NameTypeReqDescription
filesarrayyes–
problemsarrayyes–
progress–yes–
run_idstringyes–
scaps_errorsarrayyes–
seconds–yes–
statusstringyes–
warningsarrayyes–

No examples provided.

scaps_script_reference ~91

Search the command list of the installed SCAPS version. layer, defect, interface and IFdefect stand for numbered forms (layer2, defect1); contact stands for contactleft or contactright; <none> marks commands without a value.

NameTypeReqDescription
limitinteger––
querystringyesWords to match, e.g. 'defect Ntotal' or 'action qe'.
NameTypeReqDescription
commandsarrayyes–
querystringyes–
source–yes–
totalintegeryes–

No examples provided.

scaps_simulate ~539

Simulate a device: J-V metrics, QE, C-V, C-f and spatial profiles, with analysis and realism checks. Analysis gives the absorber's Shockley-Queisser limit, QE-integrated Jsc and a Mott-Schottky fit of C-V. Overrides apply to this run only; files stay available through scaps_results and scaps_plot.

NameTypeReqDescription
actionsobject–SCAPS action commands, e.g. {'iv.startV': 0, 'iv.stopV': 1.2, 'iv.increment': 0.02, 'qe.startlambda': 300, 'cf.points.per.decade': 5, 'intensity.ND': 1, 'spectrumcutoff.on': null, 'spectrumcutoff.lon…
definitionstringyesDefinition file in SCAPS def/, e.g. 'example CIGS.def'.
frequency_hz––Working point frequency in Hz.
illuminationstring–Calculate under the spectrum or in the dark.
measurementsarray–Measurements: iv (J-V), qe, cv, cf. May be empty when profiles are requested.
parametersobject–Ordered SCAPS set commands in script units, e.g. {'layer1.thickness': 2, 'layer1.NA': 1e16, 'layer1.defect1.Ntotal': 1e14, 'layer1.defect1.singleacceptor': null, 'interface1.IFdefect1.Ntotal': 1e10,…
profilesarray–Spatial results at the working point voltage: eb (bands, quasi-Fermi levels, carriers, field, currents, generation and recombination rates) and genrec (occupation of every defect level); ac (small si…
response_formatstring–detailed adds the key columns of each curve.
spectrum––Spectrum file in SCAPS spectrum/; default AM1.5G 1 sun.
temperature_k––Working point temperature in K.
voltage_v––Working point bias in V.
wait_secondsnumber–Wait this long for the result; longer runs continue as a job.
NameTypeReqDescription
analysis–yes–
checksarrayyes–
curvesarrayyes–
definitionstringyes–
filesarrayyes–
measurementsarrayyes–
metrics–yes–
profilesarrayyes–
progress–yes–
run_idstringyes–
scaps_errorsarrayyes–
seconds–yes–
statusstringyes–

No examples provided.

scaps_sq_limit ~77

Detailed-balance Jsc, Voc, FF and efficiency limits for given band gaps under a SCAPS spectrum.

NameTypeReqDescription
band_gaps_evarrayyesBand gaps in eV.
spectrum––Spectrum file in SCAPS spectrum/; default AM1.5G 1 sun.
temperature_knumber––
NameTypeReqDescription
limitsarrayyes–
spectrumstringyes–

No examples provided.

scaps_status ~30

Report the SCAPS installation in use and how it was found, other installations, run folder and jobs.

Input schema present but exposes no named parameters.

NameTypeReqDescription
active_jobsarrayyes–
busybooleanyes–
executablestringyes–
other_installationsarrayyes–
plottingbooleanyes–
runs_dirstringyes–
scaps_homestringyes–
scaps_home_sourcestringyes–
scaps_versionstringyes–
script_commandsintegeryes–
timeout_snumberyes–
wine_prefix–yes–

No examples provided.

scaps_write_data ~429

Write numeric data as a SCAPS input file with the right format and units. Use it for measured absorption (alpha or extinction coefficient k), custom spectra, external optical generation profiles, contact filters, grading profiles and measurement files for comparison.

NameTypeReqDescription
area_cm2number–measurement only.
bias_v––measurement only.
darkboolean–measurement only.
extra––measurement only: conductance G in S.
frequency_hz––measurement only.
interpolation––grading only.
kindstringyesInput file type.
namestringyesFile name; the SCAPS extension is added if missing.
normalise_w_m2––spectrum only: scale total power.
note––Source or description, written as comment lines.
overwriteboolean––
pin_mw_cm2––measurement only.
positionstring–grading only.
quantity––absorption: alpha_per_cm (default), alpha_per_m or k; spectrum: irradiance_w_m2_nm (default) or power_w_m2; generation: per_cm3_s (default) or per_m3_s; grading: the property, e.g. composition, Eg, N…
sharedboolean–grading only: one profile over adjacent layers.
temperature_k––measurement only.
xarrayyesabsorption: wavelength or photon energy (x_unit); spectrum, filter: wavelength nm; generation: position um; grading: position um, relative position or composition; measurement: V (iv, cv), Hz (cf) or…
x_unitstring–absorption only: unit of x, wavelength or photon energy.
yarrayyesabsorption: alpha or k (see quantity); spectrum: W/m2/nm or W/m2 per point; generation: G; filter: % transmission or reflection; grading: property in script units; measurement: mA, nF or QE %.
NameTypeReqDescription
filestringyes–
folderstringyes–
kindstringyes–
pointsintegeryes–

No examples provided.

Install

How do I install the SCAPS-1D MCP server?

SCAPS-1D runs locally as a PyPI package, launched with uvx scaps-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · scaps-mcp

# add to Claude Code
claude mcp add asiff00-scaps-mcp -- uvx scaps-mcp
Common questions

What is the SCAPS-1D MCP server?

SCAPS-1D is an MCP server listed in the public MCP registry as io.github.asiff00/scaps-mcp. Design, simulate, fit and sanity-check thin-film solar cells with SCAPS-1D on your own installation. This page covers its PyPI package (scaps-mcp).

Is the SCAPS-1D MCP server safe to use?

SCAPS-1D scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SCAPS-1D MCP server expose?

SCAPS-1D exposes 16 tools: scaps_status, scaps_list_files, scaps_script_reference, scaps_describe_device, scaps_edit_device, and 11 more. Their descriptions and schemas cost roughly 3,932 tokens of context every time the server is loaded.

Is the SCAPS-1D MCP server still maintained?

SCAPS-1D is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the SCAPS-1D MCP server under?

SCAPS-1D declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.