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.

toolsmelt

PYPI · TOOLSMELT

Curated MCP tools from OpenAPI, websites, apps, Postman, cURL or SQL; your agent designs them.

Available components

80 Trust /100

Last scanned (17 hours ago)

Scores higher than 79% of PyPI servers

Category Developer Tools

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
  • 4 of 49 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to sepehr071/toolsmelt). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 2470 tokens (~130/item across 19 items; 19 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 observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses.Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 20 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.

  • 22 Oct 26 80

    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 22 Oct 2026 · Analysed pypi/toolsmelt@0.8.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo sepehr071/toolsmelt
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/sepehr071/toolsmelt/.github/workflows/publish.yml@refs/tags/v0.8.0
Rekor log index 3382330814
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:5d3f9a0c42162cbe6b6d633e07488acfb603ce6cf1d67dc83dfcab72140881a3

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 49 packages
Packages resolved 49
Stale 3
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 19 exposed · ~1,955 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
smith_app_android ~239

Read the HTTP interface an Android app declares (through the jadx CLI or REA's JADX jar) into source.json, for the user's own or an authorized app. Decompiles the APK with jadx (CLI or REA's jar). Without class_name it lists candidate classes; an app that declares no interface gets an error with next steps (record its traffic, or a sign-in provider for its request signing). The endpoints are unverified until smith_probe calls them. Next: smith_probe, then smith_draft.

NameTypeReqDescription
apk––Absolute path of the APK on this machine.
base_urlstring–The app's API base URL, e.g. https://api.example.com.
class_name––Decompiled Retrofit interface class; omit to list candidate classes.
jadx_jar––REA's JADX MCP jar; default: `jadx` on PATH, else $REA_JADX_MCP_JAR.
source_file––Absolute path of a .java class already decompiled by any tool; skips the jar.
workdirstring–Absolute directory for source.json and digest.md.

No output schema declared.

No examples provided.

smith_app_desktop ~165

Guide recording a desktop program's own traffic, then import the HAR, for the user's own or an authorized program. The developer runs the proxy (mitmproxy) themselves; toolsmelt installs, starts and configures nothing. Certificate-pinned programs are out of scope. Without har it returns the steps. With har the endpoints are verified (real responses). Next: smith_draft.

NameTypeReqDescription
forceboolean–Overwrite an existing source.json.
har––Absolute path of the HAR the user's own mitmdump wrote; omit to get the steps.
hosts––Keep traffic to these hosts only.
portinteger–Proxy port used in the steps.
workdirstring–Absolute directory for source.json and digest.md.

No output schema declared.

No examples provided.

smith_app_js ~143

Read the HTTP calls an Electron/JavaScript app makes out of its own shipped code, for the user's own or an authorized app. Reads files as text (preferring the original sources in .map files); runs nothing. The endpoints are unverified until smith_probe calls them. Next: smith_probe, then smith_draft.

NameTypeReqDescription
base_urlstring–The app's API base URL, e.g. https://api.example.com.
pathstringyesAbsolute path of the app directory, its app.asar, or one .js/.ts/.map file.
workdirstring–Absolute directory for source.json and digest.md.

No output schema declared.

No examples provided.

smith_call ~83

Call a read-only tool of a connection by name, for clients that do not refresh their tool list. Tools that change data are refused here: call them as their own tool after the user confirms.

NameTypeReqDescription
args––The tool's arguments.
connectionstringyesConnection name, from smith_connections.
toolstringyesTool name, from smith_tools.

No output schema declared.

No examples provided.

smith_check ~97

Call every tool of a generated project against the live API with its example arguments. Reports errors, output size and output fields that came back empty; run it after the tests pass. Tools that change data are skipped (skipped: true) unless writes=true.

NameTypeReqDescription
projectstringyesAbsolute path of a generated project directory.
writesboolean–Also call tools that change data on the live API. Only after the user agrees.

No output schema declared.

No examples provided.

smith_connect ~84

Validate plan.yaml and, if it has no errors, add its tools to this server right now. The connection is saved and comes back on restart. Credentials: `toolsmelt secret set <connection> <ENV>`.

NameTypeReqDescription
name––Connection name. Default: the plan name.
workdirstringyesAbsolute workdir holding plan.yaml (and source.json).

No output schema declared.

No examples provided.

smith_connections ~23

List the connected sites: tools, auth type, and whether each loaded.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

smith_disconnect ~34

Remove a connection's tools from this server and forget the connection.

NameTypeReqDescription
namestringyesConnection name, from smith_connections.

No output schema declared.

No examples provided.

smith_draft ~91

Write a heuristic starting <workdir>/plan.yaml from source.json. Then edit plan.yaml yourself following smith_guide, and call smith_validate.

NameTypeReqDescription
forceboolean–Overwrite an existing plan.yaml (loses your edits).
name––Project name, e.g. 'petstore-mcp'.
workdirstringyesAbsolute workdir that smith_inspect wrote source.json into.

No output schema declared.

No examples provided.

smith_generate ~93

Validate plan.yaml and, if it has no errors, write the server project. Next: run the project's tests (`uv run pytest` inside it), then smith_check.

NameTypeReqDescription
forceboolean–Write into an existing output directory.
out––Absolute output directory. Default: <plan name> next to the workdir.
workdirstringyesAbsolute workdir holding plan.yaml (and source.json).

No output schema declared.

No examples provided.

smith_guide ~38

Return the rules for designing the tools of an MCP server (the plan.yaml format). Read it before editing plan.yaml, after smith_inspect.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

smith_inspect ~126

Read an OpenAPI file or HAR and write source.json and digest.md into the workdir. Start here. Next: read the returned digest, call smith_guide, then smith_draft.

NameTypeReqDescription
budgetinteger–Maximum digest size in characters.
hosts––HAR only: keep traffic to these hosts, e.g. ['api.shop.ir'].
sourcestringyesOpenAPI/Swagger file or HAR, as an absolute path or an http(s) URL.
workdirstring–Absolute directory for source.json, digest.md and plan.yaml.

No output schema declared.

No examples provided.

smith_install ~205

Register a generated server with the user's coding agents so it runs as a normal MCP server. By default it only returns the planned config changes: show them to the user, and after they agree call it again with dry_run=false. Edits only the entry named after the plan (backup once, atomic write); an entry of that name that runs something else is a conflict unless force. The user restarts their agents after.

NameTypeReqDescription
agents––Agents to register with: claude, codex, cursor, gemini. Default: found.
dry_runboolean–Only return the planned changes; false applies them.
forceboolean–Replace an entry of the same name that runs something else.
projectstringyesAbsolute path of a project written by smith_generate.
pypiboolean–Run the released package (uvx name@version), not the folder.
removeboolean–Remove the project's entry instead.

No output schema declared.

No examples provided.

smith_login ~108

Return who is signed in to a connection, or how the user signs in (a link for signin auth). Use it when a connection's tool reports 'Not signed in' or an expired session, and after the user signs in to check the account and where its data is. Show the user the link or step, then retry the tool.

NameTypeReqDescription
againboolean–Sign in again, e.g. with another account.
connectionstringyesConnection name, from smith_connections.

No output schema declared.

No examples provided.

smith_probe ~133

Call unverified GET endpoints live with the user's own credentials and store scrubbed example responses. This sends real requests to a third-party API with the user's credentials; even GETs hit the live service. Endpoints read from an app's code have no example response. Non-GET endpoints are skipped unless writes=true, which needs the user's confirmation. Next: smith_draft or smith_validate.

NameTypeReqDescription
limitinteger–Most endpoints to probe.
workdirstringyesAbsolute workdir holding source.json.
writesboolean–Also call non-GET endpoints on the live API. Only after the user agrees.

No output schema declared.

No examples provided.

smith_record_start ~103

Start recording the API calls of the shared Chrome (opened with `toolsmelt browser`) into a HAR. Returns at once; browse the site in that Chrome, then call smith_record_stop. Cookies and tokens are not kept.

NameTypeReqDescription
hostsarrayyesRecord only these hosts and their subdomains, e.g. ['api.shop.ir'].
namestringyesShort name for this recording, e.g. 'shop'. Becomes the work directory.

No output schema declared.

No examples provided.

smith_record_stop ~57

Stop the recording and write capture.har; then inspect it with smith_inspect. Headers carrying cookies or tokens are saved as "<dropped>"; bodies are never returned here.

NameTypeReqDescription
namestringyesThe name given to smith_record_start.

No output schema declared.

No examples provided.

smith_tools ~60

List the tools of one connection with their descriptions and input schemas, plus the plan's instructions. Use it when your client does not show tools added after start; then call them with smith_call.

NameTypeReqDescription
connectionstringyesConnection name, from smith_connections.

No output schema declared.

No examples provided.

smith_validate ~73

Check plan.yaml against the design rules and return its errors and warnings. Errors block smith_generate; fix them in plan.yaml and validate again.

NameTypeReqDescription
plan_path––Absolute path of a plan file, if not <workdir>/plan.yaml.
workdir––Absolute workdir holding plan.yaml (and source.json).

No output schema declared.

No examples provided.

Install

How do I install the toolsmelt MCP server?

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

pypi · toolsmelt

# add to Claude Code
claude mcp add sepehr071-toolsmelt -- uvx toolsmelt
Common questions

What is the toolsmelt MCP server?

toolsmelt is an MCP server listed in the public MCP registry as io.github.sepehr071/toolsmelt. Curated MCP tools from OpenAPI, websites, apps, Postman, cURL or SQL; your agent designs them. This page covers its PyPI package (toolsmelt).

Is the toolsmelt MCP server safe to use?

toolsmelt scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 October 2026. Its build provenance is signed and verified. 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 toolsmelt MCP server expose?

toolsmelt exposes 19 tools: smith_guide, smith_inspect, smith_app_android, smith_app_js, smith_app_desktop, and 14 more. Their descriptions and schemas cost roughly 1,955 tokens of context every time the server is loaded.

Is the toolsmelt MCP server still maintained?

toolsmelt is still listed as active in the MCP registry. We last reached this channel on 22 October 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 toolsmelt MCP server under?

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