toolsmelt
PYPI · TOOLSMELT
Curated MCP tools from OpenAPI, websites, apps, Postman, cURL or SQL; your agent designs them.
Available components
Last scanned (17 hours ago)
Scores higher than 79% of PyPI servers
Category Developer Tools
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.
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.
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 →
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 →
smith_app_android Read an Android app's API ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| apk | – | – | Absolute path of the APK on this machine. |
| base_url | string | – | 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. |
| workdir | string | – | Absolute directory for source.json and digest.md. |
No output schema declared.
No examples provided.
smith_app_desktop Read a desktop app's API ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | 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. |
| port | integer | – | Proxy port used in the steps. |
| workdir | string | – | Absolute directory for source.json and digest.md. |
No output schema declared.
No examples provided.
smith_app_js Read a JavaScript app's API ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| base_url | string | – | The app's API base URL, e.g. https://api.example.com. |
| path | string | yes | Absolute path of the app directory, its app.asar, or one .js/.ts/.map file. |
| workdir | string | – | Absolute directory for source.json and digest.md. |
No output schema declared.
No examples provided.
smith_call Call a connection's tool ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| args | – | – | The tool's arguments. |
| connection | string | yes | Connection name, from smith_connections. |
| tool | string | yes | Tool name, from smith_tools. |
No output schema declared.
No examples provided.
smith_check Check a generated server live ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | yes | Absolute path of a generated project directory. |
| writes | boolean | – | Also call tools that change data on the live API. Only after the user agrees. |
No output schema declared.
No examples provided.
smith_connect Connect a plan as live tools ~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>`.
| Name | Type | Req | Description |
|---|---|---|---|
| name | – | – | Connection name. Default: the plan name. |
| workdir | string | yes | Absolute workdir holding plan.yaml (and source.json). |
No output schema declared.
No examples provided.
smith_connections List 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 Remove a connection ~34
Remove a connection's tools from this server and forget the connection.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Connection name, from smith_connections. |
No output schema declared.
No examples provided.
smith_draft Draft a tool plan ~91
Write a heuristic starting <workdir>/plan.yaml from source.json. Then edit plan.yaml yourself following smith_guide, and call smith_validate.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Overwrite an existing plan.yaml (loses your edits). |
| name | – | – | Project name, e.g. 'petstore-mcp'. |
| workdir | string | yes | Absolute workdir that smith_inspect wrote source.json into. |
No output schema declared.
No examples provided.
smith_generate Generate the MCP server project ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Write into an existing output directory. |
| out | – | – | Absolute output directory. Default: <plan name> next to the workdir. |
| workdir | string | yes | Absolute workdir holding plan.yaml (and source.json). |
No output schema declared.
No examples provided.
smith_guide Get the tool-design 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 Inspect an API source ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| budget | integer | – | Maximum digest size in characters. |
| hosts | – | – | HAR only: keep traffic to these hosts, e.g. ['api.shop.ir']. |
| source | string | yes | OpenAPI/Swagger file or HAR, as an absolute path or an http(s) URL. |
| workdir | string | – | Absolute directory for source.json, digest.md and plan.yaml. |
No output schema declared.
No examples provided.
smith_install Install a generated server ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| agents | – | – | Agents to register with: claude, codex, cursor, gemini. Default: found. |
| dry_run | boolean | – | Only return the planned changes; false applies them. |
| force | boolean | – | Replace an entry of the same name that runs something else. |
| project | string | yes | Absolute path of a project written by smith_generate. |
| pypi | boolean | – | Run the released package (uvx name@version), not the folder. |
| remove | boolean | – | Remove the project's entry instead. |
No output schema declared.
No examples provided.
smith_login Sign in to a connection ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| again | boolean | – | Sign in again, e.g. with another account. |
| connection | string | yes | Connection name, from smith_connections. |
No output schema declared.
No examples provided.
smith_probe Probe unverified endpoints ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Most endpoints to probe. |
| workdir | string | yes | Absolute workdir holding source.json. |
| writes | boolean | – | Also call non-GET endpoints on the live API. Only after the user agrees. |
No output schema declared.
No examples provided.
smith_record_start Start recording API traffic ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| hosts | array | yes | Record only these hosts and their subdomains, e.g. ['api.shop.ir']. |
| name | string | yes | Short name for this recording, e.g. 'shop'. Becomes the work directory. |
No output schema declared.
No examples provided.
smith_record_stop Stop recording API traffic ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | The name given to smith_record_start. |
No output schema declared.
No examples provided.
smith_tools List a connection's 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.
| Name | Type | Req | Description |
|---|---|---|---|
| connection | string | yes | Connection name, from smith_connections. |
No output schema declared.
No examples provided.
smith_validate Validate a tool plan ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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.
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
claude mcp add sepehr071-toolsmelt -- uvx toolsmelt
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.