Skip to main content
Glama

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 server. It exposes three MCP tools over stdio transport:

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.

Running the MCP server

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.


Related MCP server: simpson-strong-agent

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

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

License

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

Available Tools

3 tools
cert_guideA

Which mill cert type applies for a grade + use case (e.g. EH36 shipbuilding), and what fields to check on the cert.

ParametersJSON Schema
NameRequiredDescriptionDefault
gradeYes
use_caseYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It indicates the tool is an informational guide producing a certificate type and fields to check, implying a non-mutating lookup. It does not disclose limitations, source standards, or output details beyond that high-level outcome.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, with the core question front-loaded and a concrete example embedded. Every clause contributes: the inputs, the decision being made, and the output. No filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter lookup, this is minimally complete: it states inputs, the decision, and the returned guidance. However, with no output schema and no annotation safety profile, it would benefit from a bit more detail about what exact fields are returned and how it relates to grade_lookup and substitution_check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must add meaning. It clarifies that grade and use_case are the inputs determining the result and gives EH36 + shipbuilding as a concrete example. It does not enumerate accepted formats or possible use cases, but the parameter names plus example are enough for basic usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: determining which mill cert type applies for a grade and use case, plus which fields to inspect on the cert. The EH36 shipbuilding example makes the query concrete. It is implicitly distinct from the sibling tools grade_lookup and substitution_check because it centers on certificate type selection, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The wording implies usage: call this when you have a grade and use case and need the applicable certificate type and fields to check. However, it provides no explicit when-to-use guidance versus grade_lookup or substitution_check, and no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

grade_lookupA

Look up a steel grade: properties, chemistry, forms, applications, weldability. Aliases accepted (e.g. 4140 = 42CrMo4 = SCM440).

ParametersJSON Schema
NameRequiredDescriptionDefault
gradeYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It does disclose useful behavior: aliases are accepted and it returns multiple categories of grade information. However, it does not mention output format, error behavior, or whether results are normalized beyond the alias examples.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the first states the action and output scope, the second explains alias handling with a concrete example. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter lookup with no output schema, the description covers the purpose, input semantics, and output categories well. It lacks explicit sibling differentiation and return-structure details, but these are partly covered by the simple nature of the tool and the other dimensions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does by clarifying that the grade parameter refers to a steel grade and by giving concrete alias equivalents (4140 = 42CrMo4 = SCM440), which adds real meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Look up') with a clear resource ('a steel grade') and enumerates the return categories: properties, chemistry, forms, applications, weldability. It is clear but does not explicitly differentiate from sibling tools like substitution_check or cert_guide.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use grade_lookup versus the sibling tools substitution_check or cert_guide. The alias behavior is useful, but the description does not state exclusions, prerequisites, or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

substitution_checkA

Check if one steel grade can substitute another for a given application (machined / welded-structural / pressure). Returns verdict + reasoning from verified trade rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_gradeYes
from_gradeYes
applicationYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose useful behavioral detail: it returns a 'verdict + reasoning' and cites 'verified trade rules' as the source. However, it does not address limitations, error cases, or whether the operation is purely read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the operation, scopes the application, and summarizes the return value. Every clause is informative and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-string-parameter tool with no output schema, the description covers the operation, the main input dimension, and the return shape. It could be more complete by defining the possible verdict values, but nothing essential for a first correct call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema description coverage is 0%, the description must compensate. It adds meaning for 'application' by listing plausible values, and the directional roles of from_grade/to_grade are understandable from the description. It does not specify acceptable grade formats or exact string requirements, so the compensation is only partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'check if one steel grade can substitute another.' It further scopes the operation by application and distinguishes it from siblings like grade_lookup and cert_guide by its substitution-specific function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a given application' with the enumerated categories (machined / welded-structural / pressure) gives clear context for when the tool is appropriate. It does not explicitly state when to use a sibling instead, but the substitution purpose is sufficiently distinct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedcert_guide
    • First observedgrade_lookup
    • First observedsubstitution_check

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool addresses a distinct task: looking up material properties, checking substitution compatibility, and guiding certificate selection. There is no functional overlap between them.

Naming Consistency4/5

Tool names follow a clear two-part lowercase_with_underscore pattern (grade_lookup, substitution_check, cert_guide). The first two use a noun-verb structure, while cert_guide uses noun-noun, creating a minor inconsistency but still predictable.

Tool Count4/5

Three tools is slightly on the low side but appropriate for a focused, niche domain. The set covers the main steel-grade queries without unnecessary redundancy.

Completeness4/5

The surface covers lookup, substitution reasoning, and certification guidance, forming a coherent workflow. Minor gaps exist, such as no direct comparison tool or grade listing, but these are not critical for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Headless MCP server for Simpson Strong-Tie product data. Provides AI agents with structural connector lookups, load calculations, code compliance verification, and engineering specifications.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that exposes CAD geometry reasoning over STEP files to LLMs, allowing natural language queries about parts, assemblies, dimensions, holes, and mass properties.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    A local MCP server that gives AI coding assistants retrieval access to your personal knowledge base of books, standards, and docs, grounding their answers in sources you trust.
    MIT