# Steel Brain

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/dryow1/steel-brain  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/steel-brain

## Description
Trade-verified steel grade properties, substitution verdicts, and mill-cert guidance for AI agents.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "steel-brain": {
    "command": "npx",
    "args": ["-y","steel-brain"]
  }
}
```

## Documentation & README

# Steel Brain

**An MCP server providing steel domain knowledge to AI agents** — grade properties, substitution verdicts, and mill-cert guidance, delivered as MCP tools your agent can call.

Also available as a REST API at `https://api.steelbrain.dev`.

---

## MCP server

Steel Brain is a [Model Context Protocol](https://modelcontextprotocol.io) server. It exposes three MCP **tools**, over remote streamable HTTP (no install) or local stdio:

| MCP Tool | What it does |
|----------|--------------|
| `grade_lookup` | Properties, chemistry, forms, applications, weldability for a steel grade. Aliases resolved (4140 = 42CrMo4 = SCM440; S355 = ST52). |
| `substitution_check` | Given from_grade, to_grade, application, returns a verdict (valid / conditional / invalid) with reasoning on whether one grade can substitute another. |
| `cert_guide` | Which mill certificate applies for a grade + use case (EN 10204 3.1/3.2, class certs ABS/DNV/LR/BV/NK) and what to check. |

### Remote (no install, free)

Point any MCP client that supports streamable HTTP at:

    https://api.steelbrain.dev/mcp

    {
      "mcpServers": {
        "steel-brain": { "type": "http", "url": "https://api.steelbrain.dev/mcp" }
      }
    }

Claude Code: `claude mcp add --transport http steel-brain https://api.steelbrain.dev/mcp`

No API key needed. There is a shared daily cap to keep the server healthy.

### Local (stdio)

    pip install -r requirements.txt
    python -m steel_brain.mcp_server

Starts the MCP server on stdio transport, ready for any MCP client (Claude Desktop, Claude Code, or any MCP-compatible agent).

### Example MCP client config

    {
      "mcpServers": {
        "steel-brain": {
          "command": "python",
          "args": ["-m", "steel_brain.mcp_server"]
        }
      }
    }

Built with the official MCP SDK (mcp package), registering three tools via the standard MCP tool interface.

---

## Why Steel Brain

LLMs guess at steel. They will tell you 4140 annealed can stand in for 4140 pre-hardened, and scrap the job. Steel Brain answers from a human-verified knowledge base built by a working steel trader, and returns an honest "not in knowledge base" rather than a confident guess.

The valuable part is the substitution and cert logic:

- 4140RB to 4140QT (annealed vs pre-hardened): invalid, same alloy, opposite heat-treat
- 316L to 304L for marine: invalid, different corrosion class
- EH36 to S355 structural: valid one way, conditional the other
- Seamless vs ERW for pressure service: never interchangeable

## Coverage

23 grades across carbon, alloy, stainless. Round bar, hollow bar, plate, pipe. 39 substitution rules, 4 cert guides.

## REST API (alternative to MCP)

Same knowledge over REST at https://api.steelbrain.dev :

    curl "https://api.steelbrain.dev/v1/grade/4140QT" -H "X-API-Key: YOUR_KEY"
    curl "https://api.steelbrain.dev/v1/substitution?from_grade=316L&to_grade=304L&application=machined" -H "X-API-Key: YOUR_KEY"

Free tier at launch. Contact: dryow.jt@gmail.com

## Honesty by design

- Grade properties: published-standard ranges (ASTM/EN/JIS/API/ABS), labelled as such.
- Substitution + cert logic: trade-verified, dated rulings from a working trader.
- Unknown grades: honest "not in knowledge base," never fabricated.

## Development

One-command local test setup:

    make test

or directly:

    bash scripts/test.sh

This creates a `.venv` (via `python3 -m venv .venv`) if it doesn't exist yet, installs `requirements.txt` into it, sets `SB_SERVE_UNVERIFIED=1` (needed so the test suite can exercise unverified KB entries), and runs `pytest`. Works on macOS and Linux. Extra arguments are passed through to pytest, e.g. `bash scripts/test.sh tests/test_gate2.py -v`.

    python -m pytest tests/    # 15 tests (10 acceptance + 5 domain-safety guards)

## License

Code: MIT (see LICENSE). Knowledge base (kb/): proprietary (see NOTICE).

