Skip to main content
Glama

Steel Brain

AIエージェントに鋼材ドメインの知識を提供するMCPサーバー — 鋼種の特性、代替判定、ミルシート指針を、あなたのエージェントが呼び出せるMCPツールとして提供します。

REST APIとして https://api.steelbrain.dev でも利用できます。


MCPサーバー

Steel BrainはModel Context Protocolを実装したサーバーです。stdioトランスポート経由で3つのMCPツールを公開します。

MCPツール

説明

grade_lookup

鋼種の特性、化学成分、形状、用途、溶接性。別名も解決されます(4140 = 42CrMo4 = SCM440; S355 = ST52)。

substitution_check

from_grade、to_grade、application を入力とし、ある鋼種が別の鋼種の代わりになるかどうかの判定(valid / conditional / invalid)とその理由を返します。

cert_guide

鋼種と用途に応じて該当するミルシート(EN 10204 3.1/3.2、船級証明書 ABS/DNV/LR/BV/NK)と、確認すべき項目を返します。

MCPサーバーの実行

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

stdioトランスポートでMCPサーバーを起動し、任意のMCPクライアント(Claude Desktop、Claude Code、その他のMCP互換エージェント)で利用できる状態にします。

MCPクライアント設定の例

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

公式MCP SDK(mcpパッケージ)で構築されており、標準のMCPツールインターフェースを介して3つのツールを登録します。


Related MCP server: simpson-strong-agent

Steel Brainが選ばれる理由

LLMは鋼材について推測で答えます。「4140の焼きなまし材は4140の調質済み材の代わりになる」と言って、仕事を台無しにします。Steel Brainは、現役の鋼材トレーダーが構築した人間が検証したナレッジベースに基づいて回答し、自信に満ちた推測ではなく、正直に「ナレッジベースにありません」と返します。

特に価値があるのは、代替判定と証明書ロジックです。

  • 4140RB → 4140QT(焼きなまし vs 調質済み):無効。同じ合金だが熱処理が逆

  • 316L → 304L(海洋用途):無効。耐食性クラスが異なる

  • EH36 → S355(構造用):一方向は有効、逆方向は条件付き

  • 圧力用途でのシームレス vs ERW:決して互換ではない

カバレッジ

炭素鋼、合金鋼、ステンレス鋼の23鋼種。丸棒、中空棒、板材、パイプ。39件の代替ルール、4件の証明書ガイド。

REST API(MCPの代替)

同じナレッジをREST APIとして 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"

ローンチ時は無料です。連絡先:dryow.jt@gmail.com

設計に組み込まれた正直さ

  • 鋼種特性:公開規格(ASTM/EN/JIS/API/ABS)の範囲であることを明記。

  • 代替判定・証明書ロジック:現役トレーダーによる、取引で検証済み・日付入りの判定。

  • 未知の鋼種:「ナレッジベースにありません」と正直に回答。決して捏造しない。

開発

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

ライセンス

コード:MIT(LICENSE参照)。ナレッジベース(kb/):プロプライエタリ(NOTICE参照)。

Available Tools

3 tools
cert_guideAInspect

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

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_lookupAInspect

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

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_checkAInspect

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

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

ActivitySlowing
ResponsivenessSyncing

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
    D
    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