# mcpsmith

Turns OpenAPI specs, Postman collections, cURL calls, SQL databases and logged-in sites into a handful of agent tools. Handy when you need an MCP server for one specific API without hand-writing it.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 16
- Author: sepehr071
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/sepehr071/toolsmelt
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/mcpsmith

## What it does

You point mcpsmith at a service description and the agent drafts the toolset. A typical run goes `toolsmelt inspect <file-or-url>`, then the agent reviews the spec, edits `plan.yaml`, validates it and connects the result as live tools. The plan can also become plain Python code you own, so you can ship it.

What goes in: OpenAPI or Swagger as a file or URL, a Postman export, cURL lines copied from DevTools, databases read through SQLAlchemy (install `pip install "toolsmelt[sql]"`), gRPC with server reflection (install `pip install "toolsmelt[grpc]"`), SOAP with a WSDL. Sites behind a login take another route. `toolsmelt browser` starts a shared Chrome on port 9222, you sign in yourself, and the agent records traffic between `smith_record_start` and `smith_record_stop`. Credentials and 2FA codes stay out of the agent's hands.

No API key is involved because your coding agent does the designing. Three skills ship with it: `build-mcp-server`, `extract-api`, `design-mcp-tools`. Two limits matter. Hub connections are personal, live in `~/.toolsmelt` and do not survive as a published server. And `generate` rejects plans that rely on browser auth. If you sit behind a proxy, add `HTTPS_PROXY` to the server's `env` block — MCP clients launch servers without your shell variables, and `smith_inspect` will fail to fetch the spec.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mcpsmith -- uvx mcpsmith
```
uvx runs the command named after the package; if the README names another one, use uvx --from mcpsmith <command>

### Codex

**Platform CLI**
```bash
codex mcp add mcpsmith -- uvx mcpsmith
```
uvx runs the command named after the package; if the README names another one, use uvx --from mcpsmith <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcpsmith": {
            "command": "uvx",
            "args": [
                "mcpsmith"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from mcpsmith <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcpsmith": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcpsmith"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from mcpsmith <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add mcpsmith uvx mcpsmith
```
uvx runs the command named after the package; if the README names another one, use uvx --from mcpsmith <command>

## When to use it
- build agent tools from an OpenAPI spec
- expose a SQLite or PostgreSQL database as agent calls
- capture an internal dashboard's API after logging in
- map endpoints of an Android APK you own
- wire tools into a running agent session without publishing

## Example prompts
- Inspect `openapi.yaml` and draft the tools for it.
- Validate `plan.yaml` and generate the Python server.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
