Whatic IC Datasheets
IC datasheet search: parametric part finding, spec lookup, price comparison — grounded in real PDFs.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"datasheets": {
"url": "https://whatic.io/mcp"
}
}
}リモートエンドポイント
https://whatic.io/mcpstreamable-httpできること
ツール一覧
ツール(7)
🟢find_parts(constraints, top_k)
Shortlist IC part numbers by parametric spec constraints, ranked by how many constraints each part satisfies, then by headroom past those thresholds, and spread across device families. Each constraint is {canonical, op: gte|lte|eq|range, value, unit?}. Returns per-constraint pass/fail/unknown, plus `matched` (parts meeting EVERY constraint), `ranked` (all parts scored, partial matches included) and `returned` (parts in this response). `truncated` means some qualifying parts are not on this page. When `matched` is 0 every result is a partial match. `canonical` MUST be one of the exact (case-sensitive) names enumerated in this tool's inputSchema, also readable as the whatic://parametric/canonicals resource.
入力スキーマ
{
"type": "object",
"properties": {
"constraints": {
"description": "Spec constraints; a part is ranked by how many it satisfies.",
"items": {
"$ref": "#/$defs/Constraint"
},
"title": "Constraints",
"type": "array"
},
"top_k": {
"default": 50,
"description": "Maximum number of parts to return, best first.",
"title": "Top K",
"type": "integer"
}
},
"required": [
"constraints"
],
"$defs": {
"Constraint": {
"description": "One parametric spec constraint for find_parts.",
"properties": {
"canonical": {
"description": "Canonical parameter name, e.g. supply_voltage_range — must be one of the values enumerated for this field (also readable as the whatic://parametric/canonicals resource).",
"enum": [
"abs_max_current",
"abs_max_voltage",
"adc_resolution",
"block_erase_time",
"breakdown_voltage_ds",
"channel_count",
"clamping_voltage",
"clock_frequency",
"cmrr",
"cmti",
"coil_power",
"coil_resistance",
"coil_voltage",
"collector_emitter_voltage",
"contact_current",
"contact_resistance",
"core_size",
"cpu_speed",
"current_rating",
"dark_current",
"data_rate",
"data_retention",
"dc_resistance",
"drain_current",
"driver_count",
"dropout_voltage",
"dynamic_range",
"eeprom_size",
"emitter_base_voltage",
"fall_time",
"forward_current",
"forward_voltage",
"gain_bandwidth",
"gate_charge",
"impedance",
"input_bias_current",
"input_capacitance",
"input_offset_current",
"input_offset_current_drift",
"input_offset_voltage",
"input_offset_voltage_drift",
"input_voltage_noise_density",
"insertion_loss",
"io_count",
"isolation_voltage",
"junction_capacitance",
"load_capacitance",
"memory_size",
"operate_time",
"operating_frequency",
"operating_temperature",
"output_capacitance",
"output_count",
"output_current",
"output_noise_voltage",
"output_power",
"output_voltage",
"output_voltage_high",
"output_voltage_low",
"page_program_time",
"peak_pulse_current",
"power_dissipation",
"program_erase_cycles",
"program_memory_size",
"propagation_delay",
"psrr",
"quiescent_current",
"ram_size",
"rds_on",
"receiver_count",
"rectified_current",
"release_time",
"response_time",
"reverse_leakage_current",
"reverse_recovery_time",
"reverse_transfer_capacitance",
"reverse_voltage",
"rise_time",
"sample_rate",
"sector_erase_time",
"sensitivity",
"settling_time",
"slew_rate",
"standby_current",
"supply_voltage_range",
"switching_frequency",
"switching_voltage",
"vgs_threshold",
"zener_voltage"
],
"title": "Canonical",
"type": "string"
},
"op": {
"description": "Comparison: gte (>=), lte (<=), eq (==), or range (value within [low, high]).",
"enum": [
"gte",
"lte",
"eq",
"range"
],
"title": "Op",
"type": "string"
},
"value": {
"anyOf": [
{
"type": "number"
},
{
"items": {
"type": "number"
},
"type": "array"
}
],
"description": "A single number for gte/lte/eq; a two-element [low, high] array for range.",
"title": "Value"
},
"unit": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Informational unit only, e.g. 'V', 'A' — comparison uses the stored SI value.",
"title": "Unit"
}
},
"required": [
"canonical",
"op",
"value"
],
"title": "Constraint",
"type": "object"
}
},
"title": "find_partsArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "find_partsDictOutput"
}🟢get_specs(part_numbers, canonicals)
Read canonical extracted specs (min/typ/max, unit, conditions) for known IC part numbers from a pre-extracted parametric index — not from datasheet text. This is the cheapest and most precise source for numeric parameters where it has coverage. Optionally restrict to specific canonical parameter names. A part absent from `results` (with a "No specs found" warning) means no index coverage, not that the datasheet lacks the parameter — fall back to `lookup` for that part.
入力スキーマ
{
"type": "object",
"properties": {
"part_numbers": {
"description": "Exact IC part numbers / MPNs, e.g. ['NE5532', 'LM358']. Family fallback is applied (e.g. TL084CDT -> TL084C).",
"items": {
"type": "string"
},
"title": "Part Numbers",
"type": "array"
},
"canonicals": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional: restrict to these canonical parameter names; omit to return all available specs.",
"title": "Canonicals"
}
},
"required": [
"part_numbers"
],
"title": "get_specsArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "get_specsDictOutput"
}🟢compare_parts(parts)
Relative price tier, stock posture, and library class for a set of IC part numbers (a ranking from a distributor snapshot, not a live quote).
入力スキーマ
{
"type": "object",
"properties": {
"parts": {
"description": "Two or more IC part numbers to rank relatively; needs >=2 priced parts for a verdict.",
"items": {
"type": "string"
},
"title": "Parts",
"type": "array"
}
},
"required": [
"parts"
],
"title": "compare_partsArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "compare_partsDictOutput"
}🟢search(q, scope, k)
Search the datasheet corpus; returns hit records (metadata + snippet, each with an opaque `ref`). Pass a ref list to `get_segments` for full content. If you already know the part number(s), prefer `lookup` — it fuses this search with `get_segments` in one call and groups full content per part. Use `search` when the part is unknown, or to triage snippets before pulling full content. For part-specific queries, pass scope='device:<MPN>' (e.g. scope='device:NE5532') to restrict hits to that part and avoid cross-part contamination.
入力スキーマ
{
"type": "object",
"properties": {
"q": {
"description": "Free-text query, e.g. 'input voltage noise density'.",
"title": "Q",
"type": "string"
},
"scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional filter, e.g. 'device:NE5532', to restrict hits to one part and avoid cross-part matches.",
"title": "Scope"
},
"k": {
"default": 5,
"description": "Maximum number of hit records to return.",
"title": "K",
"type": "integer"
}
},
"required": [
"q"
],
"title": "searchArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "searchDictOutput"
}🟢lookup(query, parts)
One-shot spec/section retrieval: full content of the most relevant datasheet segments for one or more parts (fuses search+get_segments). Already groups results per part (via `parts`), so prefer `lookup` over `search` when you know the part(s).
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"description": "What to retrieve, e.g. 'supply voltage' or 'absolute maximum ratings'.",
"title": "Query",
"type": "string"
},
"parts": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Part numbers to scope and group the retrieval by; results are returned per part.",
"title": "Parts"
}
},
"required": [
"query"
],
"title": "lookupArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "lookupDictOutput"
}🟢get_segments(refs)
Expand opaque `ref` tokens (from search/lookup) into full datasheet segment content.
入力スキーマ
{
"type": "object",
"properties": {
"refs": {
"description": "Opaque `ref` tokens from search/lookup hit records, to expand into full segment content.",
"items": {
"type": "string"
},
"title": "Refs",
"type": "array"
}
},
"required": [
"refs"
],
"title": "get_segmentsArguments"
}出力スキーマ
{
"type": "object",
"additionalProperties": true,
"title": "get_segmentsDictOutput"
}🟢get_image(refs)
Fetch datasheet figure images (PNG/JPEG) for opaque `ref` tokens obtained from search/lookup/get_segments. Returns each image plus its caption/description/page metadata. Only `type='image'` segments have image data; a ref that is not one comes back as an error record whose `available_images` lists the document's figures nearest that ref's page and section, closest first.
入力スキーマ
{
"type": "object",
"properties": {
"refs": {
"description": "Opaque `ref` tokens (from search/lookup/get_segments) of image segments; non-image segments return an error record.",
"items": {
"type": "string"
},
"title": "Refs",
"type": "array"
}
},
"required": [
"refs"
],
"title": "get_imageArguments"
}推奨プロンプト
find_partsfind_partsget_specsget_specsfind_partsget_specsコミュニティ
エビデンス