mcpField
E
Easyeda Mcp Pro

Easyeda Mcp Pro

ローカル
oaslananka.github.ioAI・エージェント63今日更新

Easyeda Mcp Pro について

Easyeda Mcp Proは、EasyEDA ProでのAI支援ハードウェア設計ワークフロー向けMCPサーバーです。WebSocketブリッジ拡張機能で接続し、回路図や基板の確認、BOM作業、各種チェック、製造用データの出力に対応するプロファイル別ツールを提供します。

主な機能

  1. 01回路図要素の確認と編集
  2. 02BOMの生成、検証、調達
  3. 03設計ルールと電気ルールの検査
  4. 04PCBの層と寸法の分析
  5. 05製造用ファイルの出力
  6. 06ブリッジとサーバー状態の診断

活用シーン

  1. 01AIアシスタントで回路図を確認する
  2. 02部品表を調達し内容を検証する
  3. 03製造前にPCBをチェックする
  4. 04ガーバーと実装用データを出力する

MCP 対応

MCPサーバーは、EasyEDA Proの設計データとワークフロー向けに、最大120個のプロファイル別ツールを公開します。WebSocketブリッジ拡張機能を介してアプリケーションに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"easyeda-mcp-pro": {
"command": "npx",
"args": [
"-y",
"easyeda-mcp-pro"
],
"env": {
"NODE_ENV": "<NODE_ENV>",
"LOG_LEVEL": "<LOG_LEVEL>",
"TOOL_PROFILE": "<TOOL_PROFILE>",
"TOOL_SCOPES": "<TOOL_SCOPES>",
"MCP_PROTOCOL_VERSION": "<MCP_PROTOCOL_VERSION>",
"MCP_BRIDGE_BACKEND": "<MCP_BRIDGE_BACKEND>",
"MCP_REMOTE_SESSION_ID": "<MCP_REMOTE_SESSION_ID>",
"TRANSPORT": "<TRANSPORT>",
"HTTP_HOST": "<HTTP_HOST>",
"HTTP_PORT": "<HTTP_PORT>",
"HTTP_AUTH_DISABLED": "<HTTP_AUTH_DISABLED>",
"HTTP_RATE_LIMIT_MAX": "<HTTP_RATE_LIMIT_MAX>",
"CORS_ORIGIN": "<CORS_ORIGIN>",
"ALLOWED_ORIGINS": "<ALLOWED_ORIGINS>",
"MCP_TASKS_ENABLED": "<MCP_TASKS_ENABLED>",
"MCP_APPS_ENABLED": "<MCP_APPS_ENABLED>",
"MCP_SKILLS_ENABLED": "<MCP_SKILLS_ENABLED>",
"MCP_V2_EXPERIMENTAL": "<MCP_V2_EXPERIMENTAL>",
"MCP_RAW_EXEC_EXPERIMENTAL": "<MCP_RAW_EXEC_EXPERIMENTAL>",
"BRIDGE_HOST": "<BRIDGE_HOST>",
"BRIDGE_PORT": "<BRIDGE_PORT>",
"BRIDGE_PORT_SCAN": "<BRIDGE_PORT_SCAN>",
"BRIDGE_TIMEOUT_MS": "<BRIDGE_TIMEOUT_MS>",
"BRIDGE_HEARTBEAT_MS": "<BRIDGE_HEARTBEAT_MS>",
"BRIDGE_WAIT_FOR_EDA_MS": "<BRIDGE_WAIT_FOR_EDA_MS>",
"BRIDGE_MAX_PAYLOAD_SIZE": "<BRIDGE_MAX_PAYLOAD_SIZE>",
"BRIDGE_TOKEN": "<BRIDGE_TOKEN>",
"EASYEDA_DEV_BRIDGE": "<EASYEDA_DEV_BRIDGE>",
"BRIDGE_RAW_EXEC_ENABLED": "<BRIDGE_RAW_EXEC_ENABLED>",
"DATA_DIR": "<DATA_DIR>",
"SQLITE_PATH": "<SQLITE_PATH>",
"ARTIFACT_DIR": "<ARTIFACT_DIR>",
"CACHE_DIR": "<CACHE_DIR>",
"AI_PROVIDER": "<AI_PROVIDER>",
"AI_MODEL": "<AI_MODEL>",
"AI_API_KEY": "<AI_API_KEY>",
"AI_MAX_TOKENS": "<AI_MAX_TOKENS>",
"AI_TIMEOUT_MS": "<AI_TIMEOUT_MS>",
"AI_ALLOW_DESIGN_MUTATIONS": "<AI_ALLOW_DESIGN_MUTATIONS>",
"JLCPCB_MODE": "<JLCPCB_MODE>",
"JLCPCB_CLIENT_ID": "<JLCPCB_CLIENT_ID>",
"JLCPCB_CLIENT_SECRET": "<JLCPCB_CLIENT_SECRET>",
"JLCPCB_API_BASE_URL": "<JLCPCB_API_BASE_URL>",
"JLCPCB_ENABLE_ORDERING": "<JLCPCB_ENABLE_ORDERING>",
"JLCSEARCH_ENABLED": "<JLCSEARCH_ENABLED>",
"JLCSEARCH_BASE_URL": "<JLCSEARCH_BASE_URL>",
"LCSC_API_KEY": "<LCSC_API_KEY>",
"KEYLESS_SOURCING_ENABLED": "<KEYLESS_SOURCING_ENABLED>",
"SOURCING_CACHE_TTL_SECONDS": "<SOURCING_CACHE_TTL_SECONDS>",
"VENDOR_MIN_REQUEST_INTERVAL_MS": "<VENDOR_MIN_REQUEST_INTERVAL_MS>",
"MOUSER_ENABLED": "<MOUSER_ENABLED>",
"MOUSER_API_KEY": "<MOUSER_API_KEY>",
"MOUSER_API_BASE_URL": "<MOUSER_API_BASE_URL>",
"DIGIKEY_ENABLED": "<DIGIKEY_ENABLED>",
"DIGIKEY_CLIENT_ID": "<DIGIKEY_CLIENT_ID>",
"DIGIKEY_CLIENT_SECRET": "<DIGIKEY_CLIENT_SECRET>",
"DIGIKEY_SANDBOX": "<DIGIKEY_SANDBOX>",
"DIGIKEY_LOCALE": "<DIGIKEY_LOCALE>",
"DIGIKEY_CURRENCY": "<DIGIKEY_CURRENCY>",
"OAUTH_ENABLED": "<OAUTH_ENABLED>",
"OAUTH_ISSUER": "<OAUTH_ISSUER>",
"OAUTH_AUDIENCE": "<OAUTH_AUDIENCE>",
"OAUTH_JWKS_URI": "<OAUTH_JWKS_URI>",
"OAUTH_REQUIRED_SCOPES": "<OAUTH_REQUIRED_SCOPES>",
"OTEL_ENABLED": "<OTEL_ENABLED>",
"OTEL_SERVICE_NAME": "<OTEL_SERVICE_NAME>",
"OTEL_EXPORTER_OTLP_ENDPOINT": "<OTEL_EXPORTER_OTLP_ENDPOINT>",
"TRACE_SAMPLE_RATE": "<TRACE_SAMPLE_RATE>"
}
}
}
}
起動コマンドnpx -y easyeda-mcp-pro
設定が必要な環境変数
NODE_ENVEnvironment mode
LOG_LEVELPino log level
TOOL_PROFILEActive tool profile (core, pro, full, dev, experimental)
TOOL_SCOPESOptional comma- or space-separated capability scope allowlist; empty enables all scopes allowed by the active tool profile.
MCP_PROTOCOL_VERSIONMCP protocol version string
MCP_BRIDGE_BACKENDBridge backend: local_bridge or experimental remote_relay
MCP_REMOTE_SESSION_IDOptional fixed Remote Relay session id for the remote_relay backend
TRANSPORTServer transport mode (stdio or http)
HTTP_HOSTHTTP bind address
HTTP_PORTHTTP port
HTTP_AUTH_DISABLEDシークレットDisable HTTP transport authentication
HTTP_RATE_LIMIT_MAXMax requests per minute per IP
CORS_ORIGINAllowed CORS origin for HTTP transport
ALLOWED_ORIGINSComma-separated list of allowed origins for HTTP transport (use * for wildcard)
MCP_TASKS_ENABLEDReserved; currently non-functional: parsed for compatibility, but the server does not advertise or execute MCP Tasks.
MCP_APPS_ENABLEDExperimental; enables sandboxed read-only MCP Apps project review UI; off by default.
MCP_SKILLS_ENABLEDExperimental; serves packaged read-oriented Skills over MCP; off by default.
MCP_V2_EXPERIMENTALExperimental; enables opt-in dual-era HTTP and stdio support for MCP 2026-07-28 while legacy behavior remains the default.
MCP_RAW_EXEC_EXPERIMENTALExperimental second gate for raw EasyEDA runtime execution; requires BRIDGE_RAW_EXEC_ENABLED.
BRIDGE_HOSTBridge WebSocket host for EasyEDA Pro connection
BRIDGE_PORTBridge primary port
BRIDGE_PORT_SCANPort scan specification (comma-separated ports or ranges)
BRIDGE_TIMEOUT_MSBridge call timeout in ms
BRIDGE_HEARTBEAT_MSBridge heartbeat interval in ms
BRIDGE_WAIT_FOR_EDA_MSHow long to wait for EasyEDA Pro to become available on startup (ms)
BRIDGE_MAX_PAYLOAD_SIZEMax bridge payload size in bytes
BRIDGE_TOKENシークレットSession token for extension auth
EASYEDA_DEV_BRIDGEEnable EasyEDA dev bridge mode
BRIDGE_RAW_EXEC_ENABLEDExperimental first gate for raw EasyEDA runtime execution; requires MCP_RAW_EXEC_EXPERIMENTAL.
DATA_DIRBase directory for writable local state; defaults beneath the operating-system user home directory.
SQLITE_PATHSQLite database path; derived from DATA_DIR unless explicitly configured.
ARTIFACT_DIRArtifact export directory; derived from DATA_DIR unless explicitly configured.
CACHE_DIRCache directory; derived from DATA_DIR unless explicitly configured.
AI_PROVIDERReserved; currently non-functional: no in-process AI provider client is invoked.
AI_MODELReserved; currently non-functional: no model is selected or invoked.
AI_API_KEYシークレットReserved; currently non-functional: do not supply credentials because no provider client consumes them.
AI_MAX_TOKENSシークレットReserved; currently non-functional: retained only for future provider compatibility.
AI_TIMEOUT_MSReserved; currently non-functional: retained only for future provider compatibility.
AI_ALLOW_DESIGN_MUTATIONSReserved; currently non-functional: cannot enable AI-originated design mutation.
JLCPCB_MODEJLCPCB API mode (disabled, mock, approved_api)
JLCPCB_CLIENT_IDJLCPCB API client identifier.
JLCPCB_CLIENT_SECRETシークレットJLCPCB API client secret
JLCPCB_API_BASE_URLJLCPCB API base URL
JLCPCB_ENABLE_ORDERINGEnable JLCPCB ordering
JLCSEARCH_ENABLEDEnable LCSC component search
JLCSEARCH_BASE_URLLCSC search API base URL
LCSC_API_KEYシークレットLCSC API key
KEYLESS_SOURCING_ENABLEDシークレットAllow supported public keyless component-sourcing fallbacks when vendor credentials are unavailable.
SOURCING_CACHE_TTL_SECONDSComponent-sourcing cache lifetime in seconds (0 disables cache reuse).
VENDOR_MIN_REQUEST_INTERVAL_MSMinimum delay in milliseconds between outbound requests to the same sourcing vendor.
MOUSER_ENABLEDEnable Mouser integration
MOUSER_API_KEYシークレットMouser API key
MOUSER_API_BASE_URLMouser API base URL
DIGIKEY_ENABLEDシークレットEnable DigiKey integration
DIGIKEY_CLIENT_IDシークレットDigiKey OAuth2 client identifier.
DIGIKEY_CLIENT_SECRETシークレットDigiKey OAuth2 client secret
DIGIKEY_SANDBOXシークレットUse DigiKey sandbox environment
DIGIKEY_LOCALEシークレットDigiKey locale
DIGIKEY_CURRENCYシークレットDigiKey pricing currency
OAUTH_ENABLEDシークレットEnable OAuth for HTTP mode
OAUTH_ISSUERシークレットExpected OAuth token issuer
OAUTH_AUDIENCEシークレットExpected OAuth token audience
OAUTH_JWKS_URIシークレットJWKS endpoint for token signature validation
OAUTH_REQUIRED_SCOPESシークレットRequired OAuth token scope
OTEL_ENABLEDReserved; currently non-functional: no OTLP exporter is started.
OTEL_SERVICE_NAMEReserved; currently non-functional: retained for a future OTLP exporter.
OTEL_EXPORTER_OTLP_ENDPOINTReserved; currently non-functional: retained for a future OTLP exporter.
TRACE_SAMPLE_RATEReserved; currently non-functional: no OTLP traces are emitted.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmeasyeda-mcp-pro1.6.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

easyeda-mcp-pro

EasyEDA Pro 向けの本番品質の MCP サーバーです。安全な PCB 設計の検査、BOM の部品調達、製造用データのエクスポート、AI によるハードウェアレビューを提供します。

npm バージョン npm 累計ダウンロード数 対応する Node.js バージョン ライセンス pnpm

CI ステータス ドキュメントのステータス セキュリティポリシー OpenSSF Scorecard

DeepWiki に質問する

ロードマップ · OpenSSF のエビデンス · セキュリティ保証ケース

コンプライアンス関連ドキュメント: サードパーティに関する通知 · ベンダー規約とサポート対象外のワークフロー · リモート MCP モード

コーヒーをごちそうしてください    GitHub でスターを付ける


信頼性とサプライチェーン

easyeda-mcp-pro では、過去の OpenSSF Best Practices のエビデンスを docs/OPENSSF_BEST_PRACTICES.md に、セキュリティ保証ケースを docs/SECURITY_ASSURANCE_CASE.md に記録しています。ヘッダーのバッジが示すのは、現在のワークフローに基づくシグナルのみです。CI、生成ドキュメントのデプロイ、プロジェクトのセキュリティポリシー、OpenSSF Scorecard が含まれます。リリースの完全性に関するエビデンス(npm のプロベナンス、署名済みリリースの状況)は docs/RELEASE_VERIFICATION.md で追跡しています。カバレッジ、テスト分析、拡張機能バンドルのモニタリングについては docs/CODECOV_ANALYTICS.md に記載しています。

ライセンスに関する注意: このリポジトリは現在、OSI 承認のオープンソースライセンスではなく、PolyForm Noncommercial 1.0.0 の下でソースを公開しています。過去の OpenSSF エビデンスは監査履歴として保持しているものであり、現在 FLOSS ライセンスを採用していることを示すものとして扱ってはなりません。


クイックスタート

お気に入りのAIアシスタントやIDEにeasyeda-mcp-proをすばやくインストールして設定する方法です。

  1. MCP クライアントを自動設定します:

    npx easyeda-mcp-pro setup all
    

    Claude Desktop、Cursor、VS Code、Windsurf、Cline、Gemini、Zed などを検出して設定し、MCP サーバーを自動的に実行します。 (または、npx easyeda-mcp-pro setup claudeのように、特定のクライアントを指定して実行します。)

  2. EasyEDA Pro ブリッジ拡張機能の場所を確認してインストールします:

    npx easyeda-mcp-pro extension --open
    

    拡張機能パッケージeasyeda-bridge-extension.eextが含まれるフォルダーを開きます。EasyEDA Pro → Settings → Extensions → Extension Managerからインポートしてください。

  3. ブリッジに接続します: EasyEDA Pro で、メニューバーのMCP Bridge → Connectをクリックします。

高度な設定、手動での手順、特定のクライアントについては、インストールとクライアントの設定をご覧ください。


概要

easyeda-mcp-pro は、AI アシスタントと EasyEDA Pro のハードウェア設計ワークフローをつなぐModel Context Protocol(MCP)サーバーです。回路図の確認と編集、制御された EasyEDA Pro API 呼び出し、Personal Device のメタデータ、BOM 管理、設計ルールチェック、PCB ボード解析、製造用データのエクスポート、診断、サプライヤー連携のための、プロファイルで利用を制御できる最大120個の MCP ツールを公開します。

サーバーは WebSocket ブリッジ拡張機能を介して EasyEDA Pro に接続し、開いているプロジェクトデータにリアルタイムでアクセスできます。BOM の調達と価格確認のため、JLCPCB、LCSC、Mouser、DigiKey と連携します。

主な機能
分野できること
回路図ネット/コンポーネントの一覧表示、検索とデバイスの配置、配線/プリミティブの編集
BOM部品表の生成、検証、エクスポート、調達
DRC/ERC設計ルールチェックと電気ルールチェックの実行
ボードレイヤー、スタックアップ、寸法、フィーチャーの確認
エクスポートガーバーデータ、部品実装データ、PDF、ネットリストのエクスポート
診断ヘルスチェック、ブリッジのステータス、API インベントリ、機能、自動テスト

前提条件

  • Node.js:Node.js 24.x が必要です。リポジトリの自動化処理では 24.22.1 に固定されています。
  • pnpm:ローカル開発と自動化処理には、正確に 11.28.8 が必要です。

依存関係をインストールする前に、サポート対象のランタイムを準備してください。

nvm install 24.22.1
nvm use 24.22.1
corepack enable
corepack prepare [email protected] --activate
node scripts/check-runtime.mjs --require-pnpm
  • EasyEDA Pro:付属のブリッジ拡張機能をインストールし、実行してください。
  • サプライヤー連携の場合:JLCPCB、LCSC、Mouser、DigiKey の API 認証情報

インストールとクライアントの設定

安定版 v1 が公開されています。v1 より前のリリースからアップグレードする場合は、v1 への移行に従ってください。

easyeda-mcp-proは自動または手動で設定できます。

1. 自動設定(CLI)

CLI のセットアップでは、クライアントの設定ファイルを自動的に編集します。

# Configure all detected clients automatically
npx easyeda-mcp-pro setup all

# Or configure a specific client
npx easyeda-mcp-pro setup <client>
対応するクライアントキー:
  • claude(Claude Desktop)
  • cursor(Cursor IDE)
  • vscode(VS Code Copilot)
  • windsurf(Windsurf)
  • cline(Cline)
  • gemini(Gemini CLI / Antigravity)
  • zed(Zed Editor)
  • amazonq(Amazon Q Developer)
  • continue(Continue.dev)
オプション:
  • --profile <name>:ツールプロファイルを指定します。指定可能な値:core(デフォルト)、pro、full、dev。 例:npx easyeda-mcp-pro setup cursor --profile full
2. 拡張機能のインストール

MCP サーバーを EasyEDA Pro に接続するには:

# Open the directory containing the .eext extension package in your file manager
npx easyeda-mcp-pro extension --open

# Or copy it to a specific directory
npx easyeda-mcp-pro extension --copy /path/to/destination

EasyEDA Pro でのインストール手順:

  1. EasyEDA Pro を開きます。
  2. Settings → Extensions → Extension Manager に移動します。
  3. Import Extension をクリックし、easyeda-bridge-extension.eext ファイルを選択します。
  4. 拡張機能の Allow External Interaction が有効になっていることを確認します。
  5. インポートまたはアップグレードのたびに、EasyEDA Pro を完全に終了してから再起動します。Extension Manager の成功メッセージで確認できるのは、インストールされたパッケージであり、メモリ上ですでに実行中のディスパッチャーが置き換わったことではありません。
  6. MCP Bridge → Connect をクリックし、続いて MCP Bridge → Status をクリックして、実行中のディスパッチャーのビルド ID を確認します。再接続や拡張機能の無効化/有効化だけでは、インポートした更新は有効になりません。バージョンに依存する操作では、新しい動作を信頼する前に、アクティブなビルドが使用するパッケージと一致していることを確認してください。

3. クライアントの手動設定

クライアントを手動で設定する場合は、各設定ファイルに次の設定を追加してください:

🟣 Claude Desktop

設定ファイルのパス:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "core"
      }
    }
  }
}
🔵 Cursor IDE

設定ファイルのパス: プロジェクト固有の .cursor/mcp.json またはグローバルの ~/.cursor/mcp.json

{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      }
    }
  }
}
🟢 VS Code (GitHub Copilot)

設定ファイルのパス: %APPDATA%\Code\User\mcp.json(Windows)、~/Library/Application Support/Code/User/mcp.json(macOS)、または ~/.config/Code/User/mcp.json(Linux)

{
  "servers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      }
    }
  }
}
🏄 Windsurf (Codeium)

設定ファイルのパス: ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      }
    }
  }
}
🤖 Cline

設定ファイルのパス: Cline VS Code 拡張機能のグローバルストレージ(cline_mcp_settings.json)

{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
✨ Gemini CLI / Antigravity

設定ファイルのパス: ~/.gemini/settings.json または ~/.gemini/config/mcp_config.json

{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      }
    }
  }
}
⚡ Zed Editor

設定ファイルのパス: ~/.config/zed/settings.json

{
  "context_servers": {
    "easyeda-mcp-pro": {
      "command": {
        "path": "npx",
        "args": ["-y", "easyeda-mcp-pro@latest"]
      },
      "settings": {}
    }
  }
}
🔄 Continue.dev

設定ファイルのパス: ~/.continue/config.json

{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      }
    }
  }
}
👑 Amazon Q Developer

設定ファイルのパス: ~/.aws/amazonq/mcp.json

{
  "mcpServers": {
    "easyeda-mcp-pro": {
      "command": "npx",
      "args": ["-y", "easyeda-mcp-pro@latest"],
      "env": {
        "TOOL_PROFILE": "pro"
      }
    }
  }
}

4. ソースからの実行(開発)

開発中、または変更したローカルビルドを実行する場合:

git clone https://github.com/oaslananka/easyeda-mcp-pro.git
cd easyeda-mcp-pro
cp .env.example .env
pnpm install

# Build the server and the bridge extension package
pnpm build
pnpm build:extension

ローカルの開発ビルドを使用するようにクライアントを設定するには:

# Print instructions and local config block pointing to dist/index.js
node dist/index.js --setup-local
ローカル診断とヘルスチェック

環境とブリッジの接続状態は、いつでも診断できます:

pnpm doctor

以下を確認します:

  1. Node.js のバージョン互換性。
  2. 実行モード:ソースチェックアウト、インストール済みパッケージ、または本番環境のランタイム。
  3. CLI エントリのシバンと .eext 拡張機能パッケージのチェックサム。
  4. ブリッジポートの利用可否。注:MCP クライアントがサーバーを起動して EasyEDA Pro 拡張機能に接続するまで、ブリッジのステータスはオフラインと表示されます。

pnpm が必要なのはソースチェックアウトの場合のみで、リポジトリで指定されているバージョンと一致している必要があります。インストール済みパッケージや、本番環境のランタイム(セキュリティ強化された Docker イメージを含む)では pnpm は不要です。 Doctor は、必須ランタイムがサポート対象外の場合、設定が無効な場合、またはランタイムのアーティファクトが存在しないか破損している場合に、終了ステータス 1 を返します。ブリッジがオフラインであることだけの場合は、情報として扱われます。


設定

.env.example を .env にコピーして編集してください。すべての変数に安全なデフォルト値が設定されているため、必要な項目のみ設定してください。

ブール型の環境変数には厳密なリテラルを使用します。true / 1 で設定が有効になり、false / 0 で無効になります。大文字と小文字は区別せず、前後の空白は無視されます。yes、no、on、off、enabled、disabled、空文字列、スペルミスなど、それ以外の値を指定すると、起動時の検証に失敗し、該当する変数が報告されます。ドキュメントに記載されたデフォルト値を使用するには、変数を設定しないでください。

必須項目
変数デフォルト値説明
NODE_ENVdevelopment本番環境では production に設定します
LOG_LEVELinfoPino のログレベル:trace、debug、info、warn、error、fatal、silent
TOOL_PROFILEcoreツールセット:core、pro、full、dev、experimental
TOOL_SCOPESemptyschematic:read,bom:read など、任意の機能許可リスト
MCP_PROTOCOL_VERSION2025-11-25MCP プロトコルのバージョン文字列
MCP_BRIDGE_BACKENDlocal_bridgeブリッジのバックエンド:local_bridge または実験的な remote_relay
MCP_REMOTE_SESSION_IDemptyremote_relay バックエンドで使用する、任意の固定 Remote Relay セッション ID
TRANSPORTstdioサーバーのトランスポート:stdio(デフォルト)または http

Remote Relay の実験を行う場合は、MCP_BRIDGE_BACKEND=remote_relay を設定した後に npx easyeda-mcp-pro doctor --fix を実行してください。doctor の出力で、HTTP トランスポート、セッションの選択、OAuth、ループバック限定の開発用認証設定が検証されます。

ブリッジ(EasyEDA Pro 接続)
変数デフォルト値説明
BRIDGE_HOST127.0.0.1ブリッジの WebSocket ホスト
BRIDGE_PORT49620プライマリブリッジポート
BRIDGE_PORT_SCAN49620-49629ポートスキャンの指定(カンマ区切り/範囲指定)
BRIDGE_TIMEOUT_MS15000ブリッジ呼び出しのタイムアウト(ms)
BRIDGE_HEARTBEAT_MS10000ハートビートの間隔(ms)
BRIDGE_WAIT_FOR_EDA_MS30000起動時に EasyEDA Pro を待機する時間(ms)
BRIDGE_MAX_PAYLOAD_SIZE1048576ブリッジの最大ペイロードサイズ(バイト、デフォルトは 1 MiB)
BRIDGE_TOKEN''拡張機能の認証に使用するセッショントークン
BRIDGE_RAW_EXEC_ENABLEDfalseEasyEDA ランタイムの生 JavaScript 実行を明示的に許可する最初のゲート
MCP_RAW_EXEC_EXPERIMENTALfalseeasyeda_execute の登録に必要な、2 つ目の実験的ゲート
ストレージ
変数デフォルト説明
DATA_DIR~/.easyeda-mcp-pro書き込み可能なローカル状態の基本ディレクトリ
SQLITE_PATH<DATA_DIR>/easyeda-mcp-pro.sqliteSQLite データベースのパス
ARTIFACT_DIR<DATA_DIR>/artifacts成果物のエクスポート先ディレクトリ
CACHE_DIR<DATA_DIR>/cacheキャッシュディレクトリ

ストレージのパスは 2 段階で解決されます。最初に DATA_DIR を解決し、その変数が明示的に指定されていない場合は、各サブパスを現在のオペレーティングシステムのネイティブなパス区切り文字を使って導出します。そのため、DATA_DIR のみを設定すると、デフォルトのデータベース、成果物、キャッシュの各パスがまとめて移動します。明示的な上書きはそれぞれ独立して適用され、指定された絶対パスまたは相対パスの意味を維持します。相対パスは MCP プロセスの作業ディレクトリを基準とします。これらの設定を変更しても、既存のデータは自動的に移行されません。

サプライヤー連携

認証情報を設定してサプライヤーを有効にします。すべてのサプライヤーはデフォルトで無効です。

  • JLCPCB:JLCPCB_MODE=approved_api + クライアント ID/シークレット
  • LCSC:JLCSEARCH_ENABLED=true(デフォルト。基本的な検索にはキーは不要です)
  • Mouser:MOUSER_ENABLED=true + API キー
  • DigiKey:DIGIKEY_ENABLED=true + OAuth2 クライアント ID/シークレット

共通の調達動作は、特定のベンダーとは独立して制御されます。

変数デフォルト説明
KEYLESS_SOURCING_ENABLEDtrue認証情報がない場合に、対応する公開のキー不要フォールバックを許可します
SOURCING_CACHE_TTL_SECONDS21600調達レスポンスを 6 時間キャッシュします(0 にするとキャッシュの再利用を無効にします)
VENDOR_MIN_REQUEST_INTERVAL_MS150同じ調達ベンダーへの送信リクエスト間に設ける最小遅延
予約済み AI 設定

現在、プロセス内の AI プロバイダークライアントは実装されていません。AI_* 変数は設定の互換性のために引き続き受け付けられますが、reserved として報告され、常に効果がありません。また、サーバーが設計データを AI プロバイダーに送信すると推測する根拠として使用してはなりません。API キーを指定しないでください。

変数デフォルト現在の動作
AI_PROVIDERnone予約済み。プロバイダークライアントは呼び出されません
AI_MODEL''予約済み。モデルは選択されません
AI_API_KEY''予約済み。認証情報を使用する機能はありません
AI_MAX_TOKENS8000互換性のための予約済み設定
AI_TIMEOUT_MS60000互換性のための予約済み設定
AI_ALLOW_DESIGN_MUTATIONSfalse予約済み。AI による設計変更を有効にすることはできません

easyeda_get_feature_flags または easyeda_get_capabilities を使って、オプション設定の configured、effective、maturity の値を確認してください。

HTTP トランスポート

TRANSPORT=http を使用する場合:

変数デフォルト説明
HTTP_HOST127.0.0.1バインドアドレス。ループバック以外では OAuth が必要です
HTTP_PORT3000ポート
HTTP_AUTH_DISABLEDfalse本番環境以外のループバックでのみ HTTP 認証を無効化します
HTTP_RATE_LIMIT_MAX100IP ごとの 1 分あたりの最大リクエスト数
CORS_ORIGIN''ループバックのブラウザークライアント向けの従来の許可オリジン
ALLOWED_ORIGINS''明示的なリモートオリジン許可リスト。* は拒否されます
リモート HTTP のセキュリティ

本番環境かどうかにかかわらず、ループバック以外のすべての HTTP デプロイでは OAuth 2.0 / OpenID Connect 認証が必要です。

変数デフォルト説明
OAUTH_ENABLEDfalseBearer トークンの検証を有効にします
OAUTH_ISSUER''想定するトークン発行者(iss クレーム)
OAUTH_AUDIENCEeasyeda-mcp-pro想定するトークンオーディエンス(aud クレーム)
OAUTH_JWKS_URI''トークン署名の検証に使用する JWKS エンドポイント
OAUTH_REQUIRED_SCOPESeasyeda:read必須のトークンスコープ

OAUTH_ENABLED=true の場合、本番環境以外のループバック開発で HTTP_AUTH_DISABLED=true が明示的に設定されていない限り、/mcp へのすべてのリクエストに Authorization: Bearer <token> ヘッダーを含める必要があります。トークンは OAUTH_JWKS_URI に基づいて検証され、iss/aud クレームが検証されます。また、OAUTH_REQUIRED_SCOPES は scope、scp、permissions、または roles クレームに対して適用されます。

サーバーは、すべての環境で起動時の安全性チェックを実行します。OAuth を設定せずにループバック以外の HTTP_HOST を指定すると拒否され、OAUTH_JWKS_URI/OAUTH_ISSUER/OAUTH_AUDIENCE が必須となります。また、ワイルドカードの ALLOWED_ORIGINS=* は拒否され、HTTP_AUTH_DISABLED=true は本番環境以外のループバック開発でのみ使用できます。認証が必要なデプロイでは、Origin ヘッダーのないリクエストにも有効なベアラートークンが必要です。CORS は認証の境界ではありません。

Docker のデフォルト設定

Docker イメージは HTTP モードで起動し、HTTP_HOST=127.0.0.1 を設定します。そのため、デフォルトのコンテナー起動経路は安全で、ローカルの HTTP モードと同じ起動時安全性チェックに合格します。外部からアクセス可能なコンテナーでは、バインドアドレスを上書きし、OAuth とワイルドカードを含まない明示的なオリジン許可リストを設定してください。

docker run --rm \
  -e HTTP_HOST=0.0.0.0 \
  -e ALLOWED_ORIGINS=https://your-client.example.com \
  -e OAUTH_ENABLED=true \
  -e OAUTH_ISSUER=https://issuer.example.com/ \
  -e OAUTH_JWKS_URI=https://issuer.example.com/.well-known/jwks.json \
  -e OAUTH_AUDIENCE=easyeda-mcp-pro \
  -p 127.0.0.1:3000:3000 \
  ghcr.io/oaslananka/easyeda-mcp-pro:latest

OAuth なしでループバック以外の HTTP を公開しないでください。ALLOWED_ORIGINS はブラウザーを制限するためのもので、認証の代わりにはなりません。TLS 終端と外部アクセスには、リバースプロキシまたはプラットフォームゲートウェイを使用してください。

HTTP のセキュリティ機能
  • レート制限:IP ごとのスライディングウィンドウ(HTTP_RATE_LIMIT_MAX で設定可能)。リトライ後の時間を示すヘッダーを付けて 429 Too Many Requests を返します
  • セキュリティヘッダー:X-Content-Type-Options: nosniff、X-Frame-Options: DENY、X-XSS-Protection: 0、Referrer-Policy: strict-origin-when-cross-origin
  • ヘルスエンドポイント:/healthz(稼働状態)と /readyz(準備状態)が JSON ステータスを返します

設定変数の全一覧については .env.example を参照してください。


MCP ツール

サーバーは、有効な TOOL_PROFILE に応じて、プロファイルで利用可否が制御されるツールを登録します。以下の表は、実行時に使用されるものと同じレジストリから生成されています。

プロファイル登録済みツール
core74
pro101
full116
dev121
experimental121

core では標準的なワークフローツールを利用でき、pro では製造用エクスポートが追加され、full では制御された、ドキュメント化済みの EasyEDA API 呼び出しが追加され、dev ではデバッグ用のランタイムプローブが追加されます。

TOOL_SCOPES が設定されている場合、機能スコープによって第 2 の認可レイヤーが追加されます。デフォルトのローカル全機能モードを使用するには空のままにするか、diagnostics:read、schematic:read、schematic:write、bom:read、bom:source、checks:read、pcb:read、pcb:write、export:write、api:read、api:write、bridge:execute などのスコープをカンマまたはスペースで区切って指定してください。

生の JavaScript 実行は、デフォルトの dev ツールセットには意図的に含まれていません。easyeda_execute は、BRIDGE_RAW_EXEC_ENABLED=true と MCP_RAW_EXEC_EXPERIMENTAL=true の両方が設定されている場合にのみ登録されます。TOOL_SCOPES が設定されている場合は、bridge:execute も必要です。

L0 — 診断(core)
ツール説明
easyeda_health_checkサーバーのヘルス状態、ランタイムバージョン、プロファイル、ブリッジの状態
easyeda_bridge_statusブリッジの接続状態、バージョン、機能
easyeda_get_capabilities利用可能なプロファイル、機能、サポート対象の操作
easyeda_get_server_config安全にマスキングされたサーバー設定
easyeda_get_tool_profiles利用可能なツールプロファイル
easyeda_get_feature_flags現在の機能フラグ
easyeda_run_self_test内部セルフテスト
easyeda_api_inventory実行中の EasyEDA API クラス、ランタイムパス、メソッド
L0 — フルコントロールおよび dev プローブ
ツールプロファイル説明
easyeda_api_callfullブリッジ経由で、ドキュメント化済みの EasyEDA Class.method パスを呼び出します
easyeda_bridge_probe_methodsdevブリッジのメソッドが利用可能かを調査します
easyeda_component_probedev実行中の回路図コンポーネントのランタイムオブジェクトと状態ゲッターを調べます

easyeda_api_call は、生の JavaScript 実行ではありません。ドキュメント化済みの EasyEDA Pro API クラスのプレフィックス(DMT_、SCH_、PCB_、LIB_)と、SCH_PrimitiveWire.getAll のような直接のメソッド名のみを受け付けます。create、delete、modify、openProject、save、import、export など、プロジェクトの状態を変更する可能性があるメソッドには、confirmWrite=true が必要です。

MCP クライアントで制御されたフルコントロール API ツールを有効にするには、次のように設定します。

TOOL_PROFILE=full
L1 — 回路図(コア)
ツール説明
easyeda_schematic_netsノード接続を含むすべてのネットを一覧表示します
easyeda_schematic_components参照番号、値、フットプリント、LCSC、データシートを含むコンポーネントを一覧表示します
easyeda_schematic_net_detail特定のネットの詳細情報を表示します
easyeda_schematic_search_deviceEasyEDA ライブラリのデバイスを検索します
easyeda_schematic_place_componentアクティブな回路図シートにライブラリコンポーネントを配置します
easyeda_schematic_add_wire回路図の配線セグメントを追加します
easyeda_schematic_delete_primitiveプリミティブ ID を指定して回路図のコンポーネントまたは配線を削除します
easyeda_schematic_modify_primitive回路図のコンポーネントまたは配線のプロパティを変更します

回路図の書き込み API は、EasyEDA が現在ベータ版と位置付けている EasyEDA Pro 拡張 API を使用します。ブリッジは実行時に、ドキュメントに記載された API クラス名が存在するか確認し、インストールされている EasyEDA Pro ビルドで必要なメソッドが公開されていない場合は、明示的なエラーを返します。

L1 — BOM(コア)
ツール説明
easyeda_bom_generate部品表を生成します
easyeda_bom_validateLCSC の在庫情報と照合して BOM を検証します
easyeda_bom_exportBOM をファイルにエクスポートします
easyeda_bom_sourcingサプライヤーの価格と在庫状況を取得します
L1 — DRC/ERC(コア)
ツール説明
easyeda_drc_runPCB のデザインルールチェックを実行します
easyeda_erc_run回路図の電気ルールチェックを実行します
easyeda_rule_check_summaryDRC と ERC の統合サマリーを表示します
L1 — 基板(コア)
ツール説明
easyeda_board_layersタイプ、色、表示状態を含む PCB レイヤーを一覧表示します
easyeda_board_stackup厚さと素材を含むレイヤー積層構成を表示します
easyeda_board_dimensions基板の外形、形状、取り付け穴を表示します
easyeda_board_featuresビア、配線、ゾーン、パッド、コンポーネントの数を表示します
L1 — エクスポート(コア/プロ)
ツールプロファイル説明
easyeda_export_gerberscore製造用のガーバーファイルをエクスポートします
easyeda_export_pick_placeproピックアンドプレース用の重心ファイルをエクスポートします
easyeda_export_pdfpro回路図/基板を PDF にエクスポートします
easyeda_export_netlistproネットリストをエクスポートします

アーキテクチャ

┌─────────────────┐     WebSocket      ┌─────────────────────┐
│   AI Assistant   │ ◄──── MCP ──────► │  easyeda-mcp-pro    │
│  (Claude, etc.)  │     Protocol      │  (MCP Server)       │
└─────────────────┘                    │                     │
                                       │  ┌───────────────┐  │
┌─────────────────┐     WebSocket      │  │  BridgeManager │──┼──► EasyEDA Pro
│  EasyEDA Pro     │ ◄── Bridge ──────►│  │  (WS Client)   │  │   (Plugin)
│  (via Plugin)    │     Protocol      │  └───────────────┘  │
└─────────────────┘                    │  ┌───────────────┐  │
                                       │  │  ToolRegistry  │  │
                                       │  │ (up to 120 tools) │ │
                                       │  └───────────────┘  │
                                       │  ┌───────────────┐  │
                                       │  │    Storage     │──┼──► SQLite
                                       │  │  (Cache/DB)   │  │
                                       │  └───────────────┘  │
                                       │  ┌───────────────┐  │
                                       │  │   Vendors     │──┼──► JLCPCB/LCSC/
                                       │  │ (API Clients) │  │    Mouser/DigiKey
                                       │  └───────────────┘  │
                                       └─────────────────────┘
トランスポート
  • stdio(デフォルト):標準の MCP トランスポートです。Claude Desktop、Cursor、ほとんどの MCP クライアントで動作します
  • HTTP:/healthz、/readyz、/mcp エンドポイント、CORS、オプションの OAuth に対応したストリーミング可能な HTTP トランスポートです。リモート環境へのデプロイに適しています
デプロイモード

ローカルの stdio/HTTP に加えて、このサーバーは、Claude Web や ChatGPT アプリとの連携など、コネクターを管理するデプロイ向けに、ホスト型リモートランタイム(src/remote/ 配下のゲートウェイ、セッションルーター、承認範囲を限定したリレー)をサポートしています。また、ユーザーが管理するエンドポイント向けのセルフホスト可能なリモートモードもサポートしています。各モードの全体像とネットワーク/セキュリティ上の境界については、Remote MCP Modes を参照してください。

ブリッジ拡張機能
pnpm build:extension
pnpm verify:extension

拡張機能のビルドにより、リポジトリのルートに easyeda-bridge-extension.eext が生成されます。 これには、extension.json、バンドルされたブラウザースクリプト、EasyEDA Pro に必要な画像アセットが含まれます。

インストールするには、EasyEDA Pro を開き、Settings → Extensions → Extension Manager... → Import Extension の順に選択して、.eext ファイルを指定します。拡張機能で Allow External Interaction が有効になっていることを確認してください。

ローカルでブリッジを開発する場合に使用できる、ループバック限定の実験的な CDP トランスポートについては、CDP Bridge ガイドに記載されています。通常の使用には、引き続き拡張機能を推奨します。一般公開に向けた目標とマイルストーンのライフサイクルに関するルールは、ロードマップで管理されています。


エージェントプラグインとスキル

このリポジトリでは、EasyEDA MCP Pro 向けの製品レベルのエージェントプラグインと、EasyEDA 固有のスキルを管理しています。中央の agent-tools リポジトリでこのプラグインをカタログ化する必要がありますが、マニフェストとワークフローの手順は、実際の MCP サーバー、ブリッジ拡張機能、ツールプロファイル、EasyEDA の実行時の動作との同期を保つため、ここに配置されています。

ファイル目的
.claude-plugin/plugin.json互換性のあるエージェント実行環境およびマーケットプレイスのカタログで使用できる、Claude Code 準拠のプラグインマニフェスト。
.mcp.jsonプロジェクトローカルの Claude Code MCP サーバー設定。
.codex/config.example.tomlCodex CLI の MCP 設定例。
.vscode/mcp.example.jsonVS Code / GitHub Copilot ワークスペースの MCP 設定例。
opencode.example.jsoncOpenCode プロジェクトの MCP 設定例。
.opencode/skills/OpenCode ネイティブのミラー版スキル定義。
docs/agent-runtime-config.mdエージェント実行環境のセットアップと検証マトリクス。
skills/easyeda-workflow/SKILL.mdEasyEDA のセットアップ、検査、制御された書き込み、エクスポート、レポート作成をエンドツーエンドで行うワークフロー。
skills/component-search/SKILL.mdコンポーネントの検索、BOM の確認、調達、価格、入手可能性、部品リスクに関するワークフロー。
skills/design-validation/SKILL.mdDRC/ERC、セマンティック ERC、PCB の制約、本番向け QA、エクスポート、リリース検証に関するワークフロー。
skills/easyeda-component-review/SKILL.mdデータシート、実際のフットプリント、関連付けられた 3D モデルの確認と、Personal Device に保存される構造化されたエビデンス。
エージェントのセットアップ

EasyEDA MCP Pro は、公開済みの npm パッケージまたはソースチェックアウトから起動できます。

npx easyeda-mcp-pro
TRANSPORT=http HTTP_HOST=127.0.0.1 HTTP_PORT=3000 npx easyeda-mcp-pro
pnpm build && node dist/index.js

EasyEDA Pro のライブワークフローでは、EasyEDA ブリッジ拡張機能をインストールし、easyeda_health_check と easyeda_bridge_status でブリッジに接続できることを確認してください。ツールの利用可否は、TOOL_PROFILE と、任意で設定する TOOL_SCOPES の制限によって異なります。

ソースチェックアウトの場合は、プラグインの変更を公開する前に、通常の検証手順を実行してください。

python3 -m json.tool .claude-plugin/plugin.json >/dev/null
claude plugin validate .
pnpm format:check
pnpm typecheck
pnpm test
pnpm build
pnpm check:metadata
検証ワークフロー

このプラグインを agent-tools から有効なものとして掲載する前に、少なくとも 1 つの互換性のあるエージェントランタイムで、次のことを確認してください。

  1. .claude-plugin/plugin.json を検出できる。
  2. stdio または HTTP 経由で easyeda-mcp-pro を起動、または接続できる。
  3. easyeda_health_check、easyeda_bridge_status、または easyeda_get_capabilities を呼び出せる。
  4. skills/ からスキルを読み込み、存在しないツールを参照することなくワークフローに従える。
  5. ブリッジの状態、ツールプロファイル、ERC、DRC、BOM、エクスポート成果物、前提条件、および人によるレビューが必要な事項をそれぞれ個別に報告できる。

EasyEDA MCP Pro はエンジニアリングアシスタントであり、製造に関する自律的な承認権限を持つものではありません。生成された設計、コンポーネントの選定、および製造用出力は、購入、製造、または組み立ての前に、資格を持つ人間によるレビューが必要です。

開発

前提条件
  • Node.js:Node.js 24.x が必要です。リポジトリの自動化では 24.22.1 に固定されています。
  • pnpm:ローカル開発と自動化には、バージョン 11.28.8 が必要です。

依存関係をインストールする前に、サポート対象のランタイムを準備してください。

nvm install 24.22.1
nvm use 24.22.1
corepack enable
corepack prepare [email protected] --activate
node scripts/check-runtime.mjs --require-pnpm
  • Go Task(任意。Taskfile コマンド用)
クイックスタート
# Setup
pnpm install
cp .env.example .env

# All quality gates (lint + format + typecheck + test + build)
pnpm verify

# Or, if you use Go Task:
task verify

# Use focused checks while iterating:
pnpm format:check          # Prettier
pnpm typecheck             # TypeScript
pnpm lint                  # ESLint

# Test
pnpm test                  # Vitest suite
pnpm test:coverage         # With coverage report

# Golden E2E fixture smoke tests are included in `pnpm test`
# See docs/golden-fixtures.md for fixture architecture

# Build & run
pnpm build                 # tsc -> dist/
pnpm build:extension       # Bundle EasyEDA Pro extension
pnpm verify:extension      # Verify extension package contents
pnpm dev                   # Hot-reload dev mode
pnpm start                 # Run compiled build

# MCP Inspector (debug UI)
pnpm inspector
利用可能な Taskfile コマンド

このプロジェクトには Taskfile.yml が含まれており、次のコマンドを利用できます。

コマンド説明
task install依存関係をインストールする
task lintESLint を実行する
task formatPrettier でフォーマットを確認する
task typecheckTypeScript の型チェックを実行する
task testテストを実行する
task buildプロジェクトをビルドする
task verifyTaskfile 経由ですべての品質ゲートを実行する

このパッケージでは pnpm verify も利用できます。Go Task を必要とせず、同じ CI 相当のローカルゲートを実行します。

これらのコマンドを使うには、Go Task をインストールしてください。

プロジェクト構成
src/
├── index.ts                 # Entry point (stdio or HTTP)
├── bridge/                  # EasyEDA Pro WebSocket bridge protocol
│   ├── manager.ts, protocol.ts, types.ts
├── cli/                     # Client auto-setup (setup/extension CLI commands)
├── config/                  # Environment, tool profiles, feature flags
│   ├── env.ts, profiles.ts, feature-flags.ts, version.ts
├── remote/                  # Hosted/self-hosted remote MCP gateway, session router, scopes
├── schemas/                 # Shared Zod schemas
├── server/                  # MCP server core
│   ├── factory.ts, resources-prompts.ts
│   └── transports/
│       ├── http.ts                    # HTTP/Streamable HTTP transport
│       └── oauth-resource-metadata.ts
├── storage/                 # Node.js sqlite storage (cache, artifacts)
├── tools/                   # Up to 115 profile-gated MCP tool definitions
│   ├── register.ts, registry.ts, types.ts, transaction.ts
│   ├── L0_diagnostics_core.ts, L0_diagnostics_api.ts
│   ├── L1_schematic_read.ts, L1_schematic_write.ts
│   ├── L1_bom_core.ts, L1_bom_sourcing.ts
│   └── L1_drc_erc.ts, L1_board.ts, L1_export.ts, L1_pcb_constraints.ts, L1_pcb_write.ts
├── vendors/                 # Supplier API clients (lcsc/, jlcpcb/, mouser/, digikey/)
└── ...                      # circuit, pcb-layout, net-validation, power-tree, production-qa,
                              # quote-gating, safety, observability, catalog, bom-quality,
                              # export-manifest, live, easyeda-runtime

easyeda-bridge-extension/    # EasyEDA Pro bridge extension workspace package

セキュリティ

デプロイモード、認証、ツールの安全管理、シークレット管理、安全なデフォルト設定、サプライヤー API のセキュリティ、脅威シナリオ、デプロイチェックリストなど、セキュリティに関する完全なリファレンスについては、セキュリティアーキテクチャと脅威モデルをご覧ください。

  • ネットワークの安全性:すべての環境で起動時に設定を検証します。完全な OAuth と、明示的なワイルドカード以外のオリジン許可リストがない場合、ループバック以外の HTTP を拒否します。
  • OAuth/JWKS:HTTP トランスポートでは、JWKS エンドポイントを介してベアラートークンを検証します(OAuth のセクションを参照)。
  • レート制限:HTTP トランスポートで、IP ごとのスライディングウィンドウ方式のレート制限を行います(デフォルトは 100 リクエスト/分)。
  • パストラバーサル対策:すべてのファイルエクスポートパスを ARTIFACT_DIR に対して検証します。
  • シークレットのマスキング:API キー、トークン、パスワードをログと診断出力からマスキングします。
  • ブランチ保護:ガバナンスポリシーにより、main ブランチへのコードレビューとステータスチェックが必須です(リポジトリガバナンスを参照)。
  • コードスキャン:CodeQL 分析をプッシュと PR のたびに実行します(security-extended と security-and-quality のクエリ)。
  • 依存関係の管理:Renovate ポリシーはリポジトリ内で設定されています。ホスト型プロバイダーの稼働状況は、Renovate の依存関係ダッシュボードまたは Renovate が作成した更新アクティビティで確認します。Dependency Audit、Dependency Review、Socket、CodeQL が、独立したセキュリティシグナルを提供します。
  • サプライチェーンの衛生管理:pnpm ワークスペースのビルド、固定された GitHub Actions、ネイティブ SQLite アドオンへの依存なし。
  • 報告:脆弱性の開示については、SECURITY.mdをご覧ください。

リリースと依存関係の自動化

このリポジトリでは、依存関係とリリースを管理するために自動化されたワークフローを使用しています。

  • Renovate:.github/renovate.jsonで、リポジトリの依存関係更新ポリシーを定義しています。ホスト型 Renovate はアカウントレベルの前提条件です。Dependency Dashboard または Renovate が作成した更新アクティビティを、プロバイダーが稼働している証拠として扱ってください。リポジトリガバナンスを参照してください。
  • Release Please:安定版のバージョン更新、リリースメタデータ、CHANGELOG.mdを自動化します。番号付きの rc.N 候補には、分離されたプレリリース経路を使用します。リリースポリシーとリリースプロセスを参照してください。
  • セキュアな公開:リリースワークフローでは、すべてのアセットを再ビルドして検証し、チャネルに応じた latest または next の dist-tag を指定して来歴情報付きで npm に公開します。また、拡張機能と SBOM を対応する GitHub Release にアップロードし、GHCR/MCP Registry の昇格を選択したチャネルに合わせます。

プロジェクトを応援する

このプロジェクトが EasyEDA Pro、BOM のワークフロー、MCP 連携を使った作業の時間短縮に役立っている場合は、この README の上部にある Buy me a coffee ボタンから、継続的な開発を支援できます。


ライセンス

現在のプロジェクト作成ソースは、PolyForm Noncommercial 1.0.0のライセンスで提供されています。商用利用には別途書面によるライセンスが必要です。商用ライセンスをご覧ください。以前の MIT リリースには、公開時に適用されていた MIT の権利が引き続き適用されます。ライセンスをご覧ください。


関連項目

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。