Rftools について
Rftoolsは、エンジニアリングチームやAIアシスタント向けに、RF・電子回路計算機とサーバー側シミュレーションを提供するMCPサーバーです。計算機はAPIキーなしで利用でき、ファイルを使うシミュレーションにはキーが必要です。
主な機能
- 01255種類のRF・電子回路計算機
- 0213種類のサーバー側シミュレーション
- 03計算機検索とJSONスキーマ
- 04リソースとして提供される参照表
- 05シミュレーションのジョブ管理ツール
活用シーン
- 01マイクロストリップインピーダンスやリンクバジェットの計算
- 02フィルター、アンテナ、コンバーターの設計
- 03アンテナまたはFDTDシミュレーションの実行
- 04RF関連の参照値の検索
MCP 対応
MCPサーバーは計算機とシミュレーションのツールに加え、参照表をリソースとして公開します。シミュレーションジョブは管理ツールから送信・操作でき、ファイルのアップロードにはAPIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| category | string | いいえ | 絞り込みに使用する計算ツールのカテゴリ(例:rf、pcb、power) |
詳細
rftools-mcp
rftools.io 用の MCP サーバー — 255 種類の RF・電子回路計算ツールと、AI エージェント向けの 13 種類のサーバーサイドシミュレーションツールを提供します。
Claude、Cursor、または MCP 互換の AI アシスタントから、検証済みのエンジニアリング計算ツールや負荷の高いサーバーサイドシミュレーションを利用できます。マイクロストリップインピーダンス、リンクバジェット、フィルター設計、コンバーターのサイジング、アンテナパターンなど、200 種類以上の計算ツールに加え、NEC2 アンテナシミュレーション、FDTD、モンテカルロ、SMPS 解析、EMI 推定などを、すべて MCP ツールとして呼び出せます。
クイックスタート
計算ツールは API キーなしで利用でき、シミュレーションツールも同様です。API キーがない場合、ジョブは無料枠で実行されます。キーがあれば制限が緩和されます。rftools.io に登録し、ダッシュボードからキーを生成してください。キーが必須なのはファイルを使う場合のみです。ファイルのアップロードには API キーが必要なため、RFTOOLS_API_KEY を設定してください。
セットアップ
API キーなしの場合
255 種類すべての計算ツールは、登録なしでローカル実行できます。また、ファイルを必要としないシミュレーションツールはすべて送信できます。無料枠で実行され、無料枠の制限とパラメーター範囲は応答に記載されます。
例外は、ファイルを必要とするジョブタイプです。ファイルのアップロードには API キーが必要なため、RFTOOLS_API_KEY を設定してください。API キーがない場合、inputFiles または inputPaths を含む呼び出しは、この文言とともにここで拒否されます。ファイルを読み込む前、またこのマシンからリクエストを送信する前に拒否されます。
API キーありの場合
rftools.io に登録し、ダッシュボードから API キーを生成してください。無料アカウントには、月 5 回のシミュレーション実行が含まれます。Pro は月 100 回、API tier は月 10,000 回です。有料キーでは、無料枠では実行できないアンテナオプティマイザーと FDTD の normal および fine メッシュも利用できます。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加してください。
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
計算ツールのみを使う場合は、env ブロックを省略してください。保存した後、Claude Desktop を再起動してください。
Claude Code
claude mcp add rftools-mcp -- npx -y rftools-mcp
API キーを追加するには、次のようにします。
claude mcp add rftools-mcp -e RFTOOLS_API_KEY=rfc_your_key_here -- npx -y rftools-mcp
Cursor
プロジェクトの .cursor/mcp.json に追加してください。
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加してください。
{
"mcpServers": {
"rftools": {
"command": "npx",
"args": ["-y", "rftools-mcp"],
"env": {
"RFTOOLS_API_KEY": "rfc_your_key_here"
}
}
}
}
ツール
24 個のツール:計算ツール用に 6 個、13 種類のジョブタイプそれぞれに 1 個の simulate_* ツール、ジョブのライフサイクル用に 5 個です。さらに、サイトのリファレンステーブルをリソースとして利用できます。
2.5.7 での変更点
ツールに変更はありません。結果は rftools.io のトレース熱モデルに従います(変更履歴、2026-10-14)。
trace-width-currentにwidthBoardMmが追加され、pcb-trace-tempにtempRiseBoardとmaxTempBoardが追加されました:rftools 独自の熱モデル(IPC-2152 と表示されることはありません)に基づく、この基板での幅と温度上昇です。inModelRangeと 15 % のマージンも含まれます。新しいオプション入力はboardThickness、planeDistance、planeCopperWeight(およびpcb-trace-tempのisExternal)です。- この 2 つの計算ツールでは、
provenance.validRange.modelsに、各モデル独自のinsideとともに、当てはめた両方のモデルが記載されます。 - API と同様に、どちらの計算ツールも電流、温度上昇、銅の重量、長さが 0 以下の場合は拒否します。
2.5.6 の変更点
ツールに変更はありません。simulate_emi_radiated の各フィールドは、正確な π·µ₀/c および µ₀ を使用するようになりました(ワーカーのデプロイ後)。また、計算結果は rftools.io の数式に関する更新に準拠します(変更履歴、2026-10-13)。
- 7 つの出力を削除しました(互換性を損なう変更):差動ビアの 5 つのインピーダンス(フィールドソリューションにより、入力項目ではないプレーンピッチに依存することが判明)、USB 終端の
eyeOpening、パラボラディッシュアンテナのnoiseTemperature。 - 存在しない値は null になります(互換性を損なう変更):USB 3.0 の立ち上がり時間、弱結合限界を超えるクロストーク、Qts ≥ 0.707 の密閉型サブウーファー、共振以上の周波数におけるスパイラルの Q、損失のない LC 回路の Q、スタブのないビア。また、入力が拒否された場合、ゼロではなく値を返しません。
- **モデルを修正しました:**平面スパイラルの自己共振と Q、遠端出力を用いた Paul の両端クロストーク、Margolis & Small のポートチューニング、結合マイクロストリップの pcb-crosstalk、パッチ用の Balanis スロットモデル、並列モードでの LC の Q と共振時のインピーダンス、マイクロビアアレイ、ビアの自己発熱、BGA の引き出し行、IPC-2222 のアスペクト比。
- **定数を正確な値に変更しました:**η₀ = µ₀·c を 1 か所で定義し、すべてのマイクロストリップインピーダンスで η₀/2π を使用(−0.069 %)、銅は IEC 60028 に準拠。
- **新しい入力項目:**平面スパイラルインダクタの
frequency、pcb-crosstalk のdielectricConst、開口対角線のrouterBit。
2.5.5 の変更点
ツールや引数に変更はありません。計算機の入力と出力は、rftools.io の入力監査に準拠します(変更履歴、2026-10-12)。
- 結果に一度も影響しなかった 12 個の入力項目を廃止しました:引き続き送信した場合は計算が実行され、「Input 'X' is not read by this calculator and was ignored.」という警告とともに応答が返ります(
get_calculator_schemaには表示されなくなります)。 - 8 個の入力項目が新しい出力に反映されるようになりました:パッチアンテナのインセット部における給電抵抗、フライバックの一次インダクタンス、太陽光の自立運転時間、ケーブルの最大値に対する RS-485 のボーレート、ADC のナイキストゾーンとエイリアス、bldc-thermal の定格に対する割合、bldc-winding の無負荷速度、ISM バンド。Yagi では
assumedBoomLengthが報告されます。 - 4 つの定数出力を削除しました(互換性を損なう変更):balun-transformer の
vswrとinsertionLoss、opamp-bandwidth のslewLimited、capacitor-code のvoltageCode。 loop-antennaの利得に放射効率が含まれるようになりました(これまでは常に 1.76 dBi でした)。radiationEfficiency出力が追加されます。
2.5.4 の変更点
ツールや名前に変更はありません。trace-width-current の IPC-2152 幅(width2152mm)は、IPC-2221 × 0.75/0.85 ではなく、IPC-2152 図 5-1(公表された閉形式による保守的なグラフ)になりました。従来の計算は安全性が不足していました。1 oz 銅で温度上昇 10 °C の場合、5 A には 2.09 mm ではなく 7.19 mm が必要です。新しい任意の traceWidth 入力項目により、抵抗、電圧降下、電力を計算する幅を設定できます。pcb-trace-temp では、図 5-1 による温度上昇と最高温度が追加されます(rftools.io の変更履歴、2026-10-12)。
2.5.3 の変更点
ツール、引数、名前に変更はありません。12 個の計算機が、引用しているモデルを計算するようになりました(rftools.io の変更履歴、2026-10-12)。
mosfet-operating-pointはドレイン負荷線を解きます(デフォルトでは 450 mA ではなく 11.96 mA、biasMode1 では入力された V_DS を維持します)。radar-range-equationは必要な SNR における距離を求めます(Albersheim、新しいpd、pfa、pulses入力項目)。cable-shield-effectivenessはシールド効果を 50 Ω ラインに対する値として示します。ferrite-beadは複素フェライトビーズモデル(AN-1368)を使用します。bldc-motorは負荷時の速度を求めます。ethernet-cableは、各 PHY の信号周波数における TIA-568-C.2 の挿入損失を使用します(Category 8 では IEEE 802.3bq ドラフトの係数を使用)。bldc-efficiencyとbldc-thermalは I²·R の銅損を使用し、bldc-thermal は高温時の抵抗も計算します(暴走電流を超えると null になります)。class-d-efficiencyとmotor-driver-powerは、導通している FET を 2 個として計算します。coax-impedanceとvia-calculatorは η₀/2π を使用します。
2.5.2 での変更点
ツール、引数、名前に変更はありません。bldc-winding では各スロットのコイル辺を両方カウントするようになりました(二層巻線)。そのため、占積率は 2·N·A_wire/A_slot となり、100%を上限としなくなりました。分布係数にはスロットスター法を使用します(12N14P:0.933。0.966 ではありません)。また、デフォルトの最大電流は 5 A です。巻線を作成します(rftools.io changelog、2026-10-11)。
2.5.1 での変更点
ツール、引数、名前に変更はありません。引用元と異なる値を計算していた31個の計算ツールが、ウェブサイトおよび REST API と同じ数値を計算するようになりました(rftools.io changelog、2026-10-07)。
対象には、shielding-effectiveness(反射損失に η₀ を含めるようになりました。欠けていた 45.5 dB を追加し、多重反射にも対応)、ground-plane-impedance(µ₀·h·l/w。新たに省略可能な separation 入力を追加し、デフォルトは 1 mm)、speaker-crossover(2次インダクター √2·R/ω_c)、esd-tvs-diode(IEC 61000-4-2 の初回ピーク 3.75 A/kV)、common-mode-choke(50 Ω/50 Ω システム)、minimum-conductor-spacing(帯域ごとに IPC-2221B Table 6-1 を適用)、radiated-emission-estimate(距離における CISPR 32 Class B。30 MHz 未満または 6 GHz 超ではマージンなし)、via-thermal-resistance(IPC-2221 の電流容量。新たに省略可能な tempRise を追加)が含まれます。
2.5.0 での変更点
ツールの追加、削除、名前の変更はなく、ツールの引数にも変更はありません。
- 14個の新しい計算ツール(合計255個)。それぞれ、引用された教科書、規格、またはデータシートの値と照合済みです。
- アンテナ:
helical-antenna、monopole-antenna、antenna-downtilt; - RF:
line-of-sight、wilkinson-power-divider、directional-coupler、circular-waveguide、microstrip-mitered-bend、5g-nr-band-lookup(3GPP Release 18 のバンドテーブル)、5g-nr-link-budget; - 電源:
rc-snubber、rcd-clamp-snubber。
- アンテナ:
- 新しいカテゴリ
iot(「IoT & LPWAN」)を追加し、lora-link-budgetとble-link-budgetを登録しました。category: "iot"を指定してlist_calculatorsを呼び出すと、これらが一覧表示されます。 - 出力を修正しました:
filter-designer:チェビシェフ・プロトタイプの値は4次から誤っていました(g3 は 1.5733 でしたが、現在は 2.3661)。1次バターワースでは g1 = 1 でしたが、現在は 2 です。また、Q = 10 のとき、バンドパスの素子値が10分の1になっていました。値はテーブル参照ではなく、計算されるようになりました。waveguide-cutoff、free-space-path-loss、rf-link-budget、fresnel-zone、link-margin、radar-range-equationでは、3×10⁸ ではなく光速の正確な値を使用します。長さは約 0.07%、パス損失は 0.006 dB 変わります。radar-range-equationでは、ボルツマン定数の正確な値も使用します。planar-spiral-inductorは、内径が外径以上の場合に NaN を返すのではなく、エラーにします。
What changed in 2.4.0
No existing tool was removed or renamed, and no existing tool's arguments changed: every name and every argument 2.3.0 accepted is accepted the same way.
- New tool:
search_calculators. Finds calculators by words — "trace impedance on FR4 microstrip" — instead of listing all 255. It matches English titles, keywords, input and output names and descriptions, and the German, Spanish, French, Japanese, Korean and Portuguese titles and keywords, so "マイクロストリップ インピーダンス" finds the microstrip calculator too. - New tool:
get_calculator_schema. One calculator's inputs as a JSON Schema (2020-12): each a number with its unit, minimum, maximum, default and description, with the outputs, the formula and its reference, and the page URL. A misspelt identifier is refused with the closest ones. run_calculationlists what it assumed. A newdefaultedInputsfield names every declared input the call left out, which therefore took its default. An undeclared input key is still computed around and named in a warning, in the REST API's wording; it is not refused.- Every tool carries annotations: a
titleandreadOnlyHint,destructiveHint,idempotentHintandopenWorldHint, so a host can tell what it may run without asking (see Annotations below). - Every description says what the tool answers, its inputs' units and
ranges (or which tool states them), one complete example call and what it
returns. The 13
simulate_*descriptions are generated from the website's tool registry, so they change when the tool does. - Reference tables as resources: frequency bands, RF connectors, standard
values, component marking codes and PCB specifications, at
rftools://reference/{domain}/{id}(see Reference resources below). --manifest:npx rftools-mcp --manifestprints what this build lists — tools, resources, templates, counts — as JSON, and exits.run_calculation'swebUrlis now the page's canonical address, with its trailing slash.
Annotations
| Tools | read-only | destructive | idempotent | open world |
|---|---|---|---|---|
list_calculators, search_calculators, get_calculator_info, get_calculator_schema, run_calculation, list_simulation_tools, get_simulation_status, get_simulation_result | yes | no | yes | no |
solve_calculation, submit_simulation, run_simulation, every simulate_* | no | no | no | no |
A tool that starts a job or makes a metered call spends the account's monthly allowance, so it is not marked read-only — a host that runs read-only tools without asking would otherwise spend a free account's five runs unprompted — and it is not idempotent, because a repeat spends again (identical job submissions merge only inside 60 seconds). Nothing deletes or overwrites anything, and every tool talks only to rftools.io, so no tool is destructive or open-world.
What changed in 2.2.0
- New tool:
solve_calculation. Finds the value of one calculator input that makes an output equal a target — the trace width for 50 Ω, the gap for 90 Ω — instead of an agent guessing values and callingrun_calculationin a loop. Unlike every other calculator tool, this runs the search server-side on rftools.io and requires an API key and spends one metered call — seesolve_calculationbelow.
2.1.0 での変更点
- 計算結果に来歴情報が含まれるようになりました。
run_calculationは値とともにprovenanceオブジェクトを返します。このオブジェクトには、メソッド(calculator:<slug>)、エンジン(mcp@<version>)、公開されている計算式の出典、計算機に記載された前提条件、計算に使用した入力値、それらが計算機の適用範囲内かどうか(フィッティング済みモデルの場合は、検証済みの範囲と最悪ケースの誤差も含む)、計算日時、所要時間が含まれます。rftools.io API が返すものと同じオブジェクトです。 - 省略した入力にはデフォルト値が使われます。 ウェブサイトや API と同じ動作です。以前は、入力値が undefined のまま計算機に渡されていました。計算機が読み取らない入力は
warningsに記載され、指定された適用範囲外の入力も同様に通知されます。ただし、値は計算されます。 - シミュレーション結果の
provenanceがデフォルトの要約に全体として含まれるようになりました。 系列は引き続き、列挙ではなく説明として記載されます。
2.0.0 での変更点
- ジョブタイプごとに、型付きツールが用意されました。 13 種類のシミュレーションジョブタイプそれぞれに、実際の入力スキーマを持つ専用の
simulate_<jobType>ツール(例:simulate_impedance_matching)が追加されました。各パラメーターの名前、型、単位、範囲、選択肢、デフォルト値は、ジョブタイプのパラメーター契約から生成されます。互換性のためにjobTypeとparamsを受け取るrun_simulationも引き続き利用できますが、スキーマを読み取れるのはエージェントが使える型付きツールです。型付きツールの使用を推奨します。 - ファイルのアップロードはこのサーバーを経由します。 インライン形式(
inputFiles: [{name, content}])またはこのマシン上のパス(inputPaths)を使用します。ファイル入力を必要とするジョブタイプにはRFTOOLS_API_KEYが必要です。詳しくは以下の ファイル をご覧ください。 submit_simulation/get_simulation_status/get_simulation_resultは、run_simulationと型付きツールの基盤となる、処理を待たずに返すプリミティブです。ジョブを送信して別の作業を行い、後からポーリングしたい場合に使います。run_simulationはwaitSecondsの範囲内で待機するようになりました。 デフォルトは 90、最大値は 600 です。ジョブを送信してポーリングし、制限時間内に完了しなかった場合は、ブロックして待ち続けるのではなく、ジョブ ID、ステータス、進捗状況、ステージを返します。ジョブは実行を続け、後から呼び出すget_simulation_status/get_simulation_resultで結果を取得できます。- 結果はデフォルトで要約されます。
summary、warnings、provenance、すべてのスカラー値に加え、長い系列は全件列挙する代わりに、長さと最大値・最小値が示されます。ペイロード全体を取得するにはfull: trueを指定します。 - デフォルト値は送信されません。
simulate_*の呼び出しでは、指定したパラメーターのみが送信されます。契約上のデフォルト値が自動で補われることはなくなりました。サンプリングジョブタイプのランダムシードはリクエストボディから生成されるため、パラメーターを省略した場合とデフォルト値を指定した場合では、ソルバーへのリクエストは同じでもボディは異なり、異なるサンプルが生成されることがあります。実行内容を正確に固定するにはrandomSeedを設定してください。 - エラーが型付けされました。 失敗はメッセージのテキストとの照合ではなく、サービスの
errorKindによって分類されます。詳しくは以下の 問題が発生した場合 をご覧ください。
破壊的変更:
list_simulation_toolsでは、各ジョブタイプのパラメーターを説明する手書きの文は表示されなくなり、名前の単純な配列(params: string[])が表示されます。各パラメーターの型、単位、範囲、選択肢、デフォルト値を確認するには、simulate_*ツール自身の入力スキーマを参照してください。- 不明なパラメーターキーは、リクエストがこのマシンから送信される前にローカルで拒否されるようになりました。ここで事前に確認されるのは、サービスが検証するものと同じ契約です。
計算機ツール
list_calculators、search_calculators、get_calculator_info、
get_calculator_schema、run_calculation は API キー不要で、ローカルで無料で実行されます。例外は solve_calculation です。このツールは rftools.io 上で実行されるため、キーが必要です。run_calculation はキー不要です。詳しくは以下の該当セクションをご覧ください。
list_calculators
利用可能な計算ツールを一覧表示します。必要に応じてカテゴリで絞り込めます。
"List all RF calculators"
"What antenna calculators are available?"
"Show me power electronics calculators"
パラメーター:
category(任意):rf、pcb、power、signal、antenna、general、motor、protocol、emc、thermal、sensor、unit-conversion、audio、iot
search_calculators
英語またはサイトのほかの6言語の単語で計算ツールを検索し、一致度の高い順に表示します。
"Which calculator gives trace impedance on FR4 microstrip?"
"Find a calculator for battery charge time"
パラメーター:
query(必須):照合する単語category(任意):カテゴリを1つに限定します。存在しないカテゴリを指定すると、カテゴリ一覧を返して拒否されますlimit(任意):結果数は1~25件です。デフォルトは10件です
各結果には、slug、title、category、1行のdescription、ページのurl、およびscoreが含まれます。matchedには、一致した計算ツールの総数が示されます。一致するものがない場合は、空のリストではなく、その旨を示すエラーが返されます。
ランキングは決定的であるため、ホストされたエンドポイントでもまったく同じ結果を再現できます。テキストはNFKC正規化され、小文字に変換されます。ラテン文字のテキストは単語に分割され(アクセントを除去し、複数形のsを1つ削除)、日本語と韓国語は文字の2-gramに分割されます。各計算ツールのフィールドには重みがあります(英語のタイトルは10、翻訳されたタイトルは8、キーワードは6、翻訳されたキーワードは5、入力名と出力名は3、説明は2)。計算ツールのスコアは、クエリ内の単語ごとに、その単語が最もよく一致するフィールドの重みにln(1 + N/df)を掛けた値の合計です。同点の場合は、レジストリの順序が維持されます。ルールはsrc/calculator-search.tsに記載されています。
get_calculator_info
計算ツールの詳細情報(単位とデフォルト値を含む入力、出力、使用する数式)を取得します。
"What inputs does the microstrip impedance calculator need?"
"Show me the buck converter calculator parameters"
パラメーター:
slug(必須):計算ツールの識別子(例:"microstrip-impedance")
各入力には、指定されたmin/maxが含まれます(run_calculationのprovenance.validRangeがチェックする境界と同じです)。どちらも指定されていない入力には上限・下限がありません。そのような入力を解くには、solve_calculationで明示的なrangeが必要です。
get_calculator_schema
入力をJSON Schema(draft 2020-12)として取得します。これはrun_calculationの呼び出しで送信できる内容を示し、出力、数式、ページURLも含みます。
パラメーター:
slug(必須):計算ツールの識別子。スペルを間違えると、最も近い3つの候補を示して拒否されます(microstrip-impedence→microstrip-impedance、…)。
inputSchema(各プロパティはnumberで、title、description(ラベル、単位、ツールチップ)、default、minimum、maximum、x-unitを含む)、outputs(key、label、unit)、formula(primary、該当する場合はlatex、および数式の出典を示すreference)、urlを返します。
run_calculation
入力値を指定して計算ツールを実行します。単位付きの結果、rftools.ioのインタラクティブ版へのリンク、defaultedInputs、および結果のprovenance(数式の出典、前提条件、使用した入力、指定範囲内かどうか、エンジンのバージョンと実行時刻)を返します。省略した入力にはデフォルト値が適用され、defaultedInputsに記載されます。計算ツールで宣言されていない入力キーは読み取られず、warningsに記載されます。指定範囲外の値も計算され、warningsに記載されます。ローカルで実行されるため、即時に結果が得られ、クォータも消費しません。
"Calculate microstrip impedance for a 0.3mm trace on 0.2mm Rogers RO4003C"
"What's the link budget for a 2.4 GHz link over 500m?"
"Size a buck converter: 12V in, 3.3V out, 2A"
パラメーター:
slug(必須):計算ツールの識別子inputs(必須):入力値を含むオブジェクト。例:{"traceWidth": 0.3, "substrateHeight": 0.2}
solve_calculation — API キーが必要で、計測対象の呼び出しを1回消費します
検索したい値を見つけて出力を目標値と一致させます。自分で値を探すために、run_calculation をループで呼び出す必要はありません。検索は rftools.io 独自の計算ツール上でサーバー側で実行されます。/calculate が使用するものと同じエンジンです。そのため、/calculate 自体で必要となるものと同じ API キー(RFTOOLS_API_KEY)が必要で、ほかの API 呼び出しと同様に計測対象となります。reached: false は、検索範囲内に目標値に達する値がないことを意味します。この場合に返される値は、推測値ではなく、検索で見つかった最も近い値です。
"What trace width gives 50 Ω on 1.6mm FR4 with 1oz copper?"
"Find the gap that gives 90 Ω differential impedance for a 0.15mm trace"
パラメーター:
slug(必須):計算ツールの識別子inputs(必須):計算ツールのほかの入力。名前をキーとして指定します。solveFor自体の入力は含めませんsolveFor(必須):解を求める、宣言済みの数値入力。例:"traceWidth"target(必須):{"output": "impedance", "value": 50}— 出力キーと、到達させたい値grid(任意):解を最も近い製造グリッドの倍数に丸めます。例:0.001(mm)range(任意):[low, high]。solveForに記載された範囲内に検索範囲を絞り込みます。get_calculator_infoでその入力のmin/maxが示されていない場合は必須です
レスポンスには、value(指定があればグリッドに合わせた値)、unrounded、reached、evaluations、解の検索自体に関する warnings(例:範囲内に別の交点がある)、および result が含まれます。result は、その値で計算ツールを実行したときに run_calculation//calculate が返すものとまったく同じで、来歴情報も含まれます。
シミュレーションツール — ジョブでファイルを使う場合を除き、API キーは不要です
ブラウザー内での計算には負荷が高すぎるジョブを、サーバー側で実行します。13種類の各ジョブタイプには、それぞれ独立した simulate_<name> ツールがあります。入力スキーマは、そのジョブタイプのパラメーター契約から生成されます。各パラメーターには型、単位、範囲、選択肢、既定値、および無料利用枠に適用される上限があればその内容が示されます。呼び出しは送信前にこの契約と照合されるため、パラメーター名が誤っている場合は、該当するキーと使用可能なキーが返され、クォータは消費されません。
クォータ: 無料:月5回 · Pro:月100回 · API ティア:月10,000回。API キーがなくても、ファイルを必要としないジョブは無料利用枠で実行でき、レスポンスには適用された制限が示されます。ファイルを必要とするジョブには API キーが必要です。詳しくは以下のファイルを参照してください。
待機: simulate_* 呼び出しはジョブを送信し、最大 waitSeconds 秒(既定値90、最大600)まで待機します。直ちにポーリングを開始するため、1秒で完了するモードに余分な待ち時間はかかりません。また、進捗を要求するホストには進捗を報告します。上限に達すると、ジョブ ID、ステータス、進捗状況、ステージを返します。ジョブはそのまま実行され、get_simulation_status と get_simulation_result で取得できます。waitSeconds: 0 を指定すると、送信後すぐに返ります。
結果: 既定では要約が返されます。結果の summary、warnings、provenance、すべてのスカラー値とリンクが含まれます。また、50ポイントを超える系列は列挙せず、長さと最大値・最小値を示すため、100 kBの結果も約6 kBで届きます。ペイロード全体を受け取るには full: true を渡してください。保存された結果へのリンク(resultUrl)は署名付きで、15分間有効です。新しいリンクを発行するには、ステータスを再度取得してください。
送信の重複: 同一の送信が60秒以内に行われた場合、2つ目のジョブを開始せず、すでに実行中のジョブを返します。
ファイル: ファイル入力を受け取るジョブタイプでは、inputFiles: [{name, content}](インラインテキスト。1回の呼び出しにつき最大5 MB)または inputPaths: ["/path/to/file.s2p"](このマシンから読み込み)のいずれかを指定します。サーバーが署名付きアップロード URL を取得してファイルを送信し、発行されたキーを使ってジョブを送信します。
ファイルのアップロードには API キーが必要です。RFTOOLS_API_KEY を設定してください。このサービスは匿名でのアップロードを拒否するため、このサーバーもアップロードを事前に拒否します。ローカルで、ファイルの読み込み前かつリクエストの送信前に拒否し、単なる401エラーを返すのではなく、設定すべき環境変数を示します。アップロードされたオブジェクトはキーのアカウントに記録され、そのアカウントだけがそのファイルを使ってジョブを送信できます。
13 種類のジョブ
| ツール | jobType | 機能 | ファイル | 制限時間 | 有料プランのみ/無料レーンの上限 |
|---|---|---|---|---|---|
simulate_antenna_sim | antenna_sim | ワイヤーアンテナシミュレーター(NEC-2) | — | 1200 s | solveMode: optimize |
simulate_emi_radiated | emi_radiated | EMI 放射エミッション推定器 | — | 240 s | — |
simulate_eye_diagram | eye_diagram | S パラメーターからアイダイアグラムを生成 | 1 × .s2p .s4p | 120 s | — |
simulate_fdtd_sparam | fdtd_sparam | FDTD 伝送線路シミュレーター | — | 32400 s | solveMode: normal, fine |
simulate_filter_monte_carlo | filter_monte_carlo | RF フィルターのモンテカルロ解析 | — | 120 s | monteCarloIterations ≤ 500 |
simulate_impedance_matching | impedance_match | 広帯域インピーダンス整合シンセサイザー | 0–2 × .s2p | 120 s | — |
simulate_magnetics_optimizer | magnetics_optimizer | 磁気部品・トランス設計オプティマイザー | — | 360 s | — |
simulate_pdn_impedance | pdn_impedance | PDN インピーダンス解析器・デカップリングコンデンサーオプティマイザー | — | 360 s | — |
simulate_radar_detection | radar_detection | レーダー検出性能のモンテカルロ解析 | — | 300 s | — |
simulate_rf_cascade | rf_cascade | RF カスケードバジェット解析器 | 0–12 × .s2p | 180 s | — |
simulate_sat_link_budget | sat_link_budget | 衛星・地上通信のリンクバジェット | — | 240 s | — |
simulate_smps_control_loop | smps_control_loop | SMPS 制御ループ安定性解析器 | — | 300 s | — |
simulate_sparam_pipeline | sparam_pipeline | S パラメーター解析パイプライン | 1–4 × .s1p–.s4p | 120 s | — |
制限時間はレーンの上限であり、所要時間の見積もりではありません。ほとんどのジョブは 15~120 秒で完了しますが、キューの待ち時間が加わる場合があります。
list_simulation_tools
各ジョブタイプのツール名、パラメーター名、ファイルのルール、制限時間、無料レーンの上限を表示します。すべて、ツールの生成元である同じ契約から読み取られます。
submit_simulation
ジョブタイプを指定して送信すると、ジョブ ID、キュー内の位置、制限時間がすぐに返されます。jobType、params に加え、ファイル入力が必要なジョブタイプでは inputFiles / inputPaths を指定します。これらのジョブタイプには API キーが必要です。RFTOOLS_API_KEY を設定してください。
get_simulation_status
ジョブ ID の進捗状況、ステージ、キュー内の位置、開始時刻、終了時刻を取得します。
get_simulation_result
ジョブ ID の完了結果を返します。デフォルトでは要約されます。full: true を指定すると全体が返されます。
run_simulation
simulate_* 呼び出しの互換形式です。jobType、params、省略可能なファイル(上記と同様に API キーが必要)、waitSeconds(デフォルト 90、最大 600)、full を指定します。実行したいジョブの型付き simulate_* ツールを優先してください。エージェントがスキーマを読み取れるのはそのツールです。
"Analyse the PDN of a 100 × 80 mm four-layer board, port at the IC, target 10 mΩ"
"Run an eye diagram on this .s4p at 10 Gbps with PRBS-15"
"Synthesize a broadband matching network from 50Ω to 200Ω between 800–1200 MHz"
"Simulate a 3-element Yagi at 144 MHz and give me the pattern"
"Estimate radiated emissions from a 10 cm trace carrying 50 mA at 100 MHz"
問題が発生した場合
失敗は、テキストとの照合ではなく HTTP ステータスとサービス独自のエラー種別によって分類されます。無効なキー、使い切った利用枠、再試行時刻を伴うレート制限、サービス独自の詳細情報が変更されずに返される拒否パラメーター、レーンの上限を超える大きさのジョブ、プランで利用できないモード、タイムアウト、サービス障害は、それぞれ異なる方法で示されます。4xx が発生するとポーリングは直ちに停止し、それ以外の失敗が 5 回連続した場合も停止します。
リファレンスリソース
rftools.io/reference に掲載されている表は、各ページと同じデータを基に構成された MCP リソースで、ページごとに 1 つあります。そのため、件数は常にサイト上の件数と一致します。各ドメインには、識別子で検索するためのテンプレートがあります。
| テンプレート | 各エントリーの内容 |
|---|---|
rftools://reference/bands/{id} | 周波数帯:Hz 単位の範囲、波長、ITU 指定、用途、伝搬および規制に関する注記 |
rftools://reference/connectors/{id} | RF コネクター:インピーダンス、周波数および電力の上限、VSWR、嵌合回数、材質、用途 |
rftools://reference/values/{id} | 標準値の表:E24/E96 抵抗器、コンデンサー、AWG、ドリル、ねじ、SI 接頭辞 |
rftools://reference/codes/{id} | マーキングコード表:SMD 抵抗器のコード、コンデンサーの容量、電圧、許容差および誘電体コード |
rftools://reference/pcb/{id} | PCB の表:銅箔の重量と厚さ・電流の対応、標準的な基板厚 |
読み取り結果は、エントリーの値、source(ページに記載された規格と、値の出典に関する注記)、およびページの url を含む JSON です。不明な識別子を指定すると、テンプレートと有効な識別子が示された invalid params エラーが返されます。補完に対応するホストでは、{id} を補完できます。
会話例
PCB 設計
あなた: 1.6mm の FR4 と 1oz の銅箔で 50 オームのマイクロストリップを作りたいです。配線幅はいくつですか?
AI:
run_calculationを microstrip-impedance で呼び出します → 1.6mm の FR4(εr=4.2)では、配線幅を約 2.9mm にすると 50.2 Ω になります。rftools.io で表示 →
RF リンクバジェット
あなた: 100mW、915 MHz の LoRa リンクは、3dBi アンテナを使って 2km 先まで通信できますか?
AI:
run_calculationを rf-link-budget で呼び出します → 受信電力は -72 dBm です。LoRa の感度が -137 dBm なので、リンクマージンは 65 dB あります。十分に通信可能です。rftools.io で表示 →
パワーエレクトロニクス
あなた: 降圧コンバーターを設計してください。入力 24V、出力 5V、負荷 3A、スイッチング周波数 500kHz です。
AI:
run_calculationを buck-converter で呼び出します → デューティ比:20.8%、インダクター:17.4 μH、出力コンデンサー:22 μF。rftools.io で表示 →
255 種すべての計算ツール
| カテゴリ | 数 | 例 |
|---|---|---|
| RF & Microwave | 36 | マイクロストリップインピーダンス、コプレーナ導波路(CPW/GCPW)、VSWR/リターンロス、スミスチャート、リンクバジェット、雑音指数のカスケード、レーダー距離、自由空間伝搬損失、ミキサースプリアス、ウィルキンソン分配器、方向性結合器、円形導波管、見通し線、5G NR バンド検索とリンクバジェット |
| PCB Design | 36 | 電流に対する配線幅、制御インピーダンス、エッジ結合ストリップラインペア(対称、オフセット、埋め込み)、スタブ損失を伴う差動ビア、表皮深さの割合、導体とパッドの幅、BGA 引き出し配線幅、開口部の対角線、最大パッド径、実効比誘電率、ビアのステップ応答、マイクロビアの電流容量、非対称(オフセット)ストリップライン、デュアルストリップライン、ブロードサイド結合ペア、差動ペア、ビア計算ツール、クロストーク、クリティカル配線長、溶断電流、デカップリングコンデンサ、パッドスタック/アニュラリング、BGA ランドパッド、導体間隔、平面スパイラルインダクタ、埋め込み抵抗器、ビアの電圧降下 |
| Power Electronics | 23 | 降圧コンバータ、昇圧コンバータ、フライバック、LDO の熱設計、バッテリー寿命、MOSFET の損失、ソーラーパネルのサイズ選定、RC スナバ、RCD クランプスナバ |
| Signal Processing | 14 | フィルタ設計、ADC の SNR、FFT ビン分解能、PLL ループフィルタ、BER/SNR、ジョンソンノイズ、立ち上がり時間から帯域幅への換算 |
| Antenna Design | 11 | ダイポール、パッチ、八木・宇田、ホーン、パラボラディッシュ、ループ、EIRP、ビーム幅、ヘリカル、モノポール/ホイップ、アンテナの下向き傾斜 |
| General Electronics | 24 | オームの法則、水晶振動子の PPM 許容差、オペアンプのゲイン、555 タイマー、BJT バイアス、MOSFET の動作点、シュミットトリガー、水晶振動子の負荷容量 |
| Motor Control | 22 | DC モーター速度、ステッピングモーター、BLDC、サーボ、PID 調整、ギア比、H ブリッジの選定、トルクコンバーター |
| Communications | 11 | UART ボーレート、I2C プルアップ、SPI タイミング、CAN バス、USB 終端、RS-485、イーサネット、Modbus、LIN バス |
| EMC/EMI | 16 | シールド効果、EMI フィルタ、フェライトビーズ、ESD/TVS ダイオード、放射エミッションの推定、コモンモードチョーク |
| Thermal | 6 | ヒートシンク計算ツール、接合部温度、サーマルビアアレイ、PCB 配線温度 |
| Sensor Interface | 17 | NTC サーミスタ、RTD、熱電対、ホイートストンブリッジ、ロードセル、フォトダイオード、4-20 mA ループトランスミッター |
| Unit Conversion | 19 | dBm↔ワット、直交座標↔極座標、周波数↔波長、長さ(mm/mil/inch)、AWG ワイヤー、コンデンサコード、温度、インダクタンス、データレート |
| Audio Electronics | 18 | スピーカークロスオーバー、室内モード、ヘッドホン電力、クラスD 効率、オーディオトランス、イコライザー Q |
| IoT & LPWAN | 2 | LoRa リンクバジェット(拡散率ごとの感度、エアタイム、デューティサイクルのオフ時間、Okumura–Hata 距離)、PHY ごとの BLE リンクバジェット(ITU-R P.1238 屋内伝搬損失) |
AI に計算を頼む代わりに、これを使う理由
LLM は算術演算の信頼性が高くありません。次のようなことがあります。
- 補正を省いた簡略式を使う(例:マイクロストリップにおける銅の厚さ)
- 単位を混同する(mil と mm、dBm と dBW)
- 丸め誤差が累積する
- 間違った答えを自信たっぷりに提示する
この MCP サーバーは、rftools.io で動作するものとまったく同じ、検証済みの計算ツールコードを呼び出します。マイクロストリップには Hammerstad-Jensen、伝搬損失には Friis、正確な dB/線形変換などを使います。LLM による近似ではなく、実際の工学公式です。
仕組み
計算ツールは、純粋な TypeScript 関数として組み込まれています。API 呼び出しやネットワーク遅延、レート制限はありません。AI が関数を直接呼び出し、すぐに結果を取得します。
AI Agent ←stdio→ rftools-mcp ←direct call→ calculator function
**solve_calculation**は、直接呼び出す形式ではない唯一の計算ツールです。
rftools.io 独自の計算ツールで検索を実行するため、API キーが必要です。
通常の/calculate呼び出しと同じように従量課金されます。キューもポーリングもなく、
リクエストとレスポンスはそれぞれ 1 回です。
AI Agent ←stdio→ rftools-mcp ←HTTPS (key required)→ POST /calculate/solve
シミュレーションツールは、rftools.io のインフラストラクチャ(AWS Lambda + SQS + EC2/Fargate ワーカー)上でサーバー側実行されます。入力スキーマは、ウェブサイトのフォームと同じパラメーター契約からビルド時に生成されるため、契約の変更は手作業で編集した文字列を介さず、次回のリリースでエージェントに反映されます。サーバーは呼び出しを検証し、ファイルがあればアップロードしてジョブを送信します。進捗を報告しながら待機時間の上限内でポーリングし、ペイロード全体へのリンクを含む要約結果を返します。
AI Agent ←stdio→ rftools-mcp ←HTTPS (key optional)→ rftools.io API → SQS → worker
←poll /v1/jobs/{id}←
←result JSON from a 15-minute presigned link←
機械可読なドキュメント
- rftools.io/agents — このサーバーのツール、インストール手順、プロンプトの例を 7 つの言語で掲載しています
- rftools.io/llms.txt — API 情報と MCP のセットアップを含む概要
- rftools.io/llms-full.txt — 入力、出力、単位、URL を含む、全 255 種類の計算ツールの完全な一覧
npx rftools-mcp --manifest— このビルドに含まれるすべての内容(説明、注釈、入力スキーマを含むツール、リソース、テンプレート、件数)を 1 つの JSON ドキュメントとして出力します。エージェント向けページはこれを基に生成されます
リンク
- ウェブサイト: rftools.io
- npm: npmjs.com/package/rftools-mcp
- ブログ: rftools.io/blog
- お知らせ: rftools.io Now Speaks MCP
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。