mcpField
O
OpenSolar MCP

OpenSolar MCP

ローカル
github.comビジネス・マーケティング04 週間前に更新

OpenSolar MCP について

OpenSolar MCPは、OpenSolarの公開ドキュメントに基づくAPIへAIエージェントから構造化アクセスする、セルフホスト可能なMCPサーバーです。プロジェクトや連絡先、システム、ファイル、商取引設定、Teams共有を扱い、読み取り専用制御と曖昧な検索結果への慎重な対応を備えています。

主な機能

  1. 01プロジェクトと連絡先の厳選ツール
  2. 02システム比較と設計概要
  3. 03ファイル、商取引、Teamsの操作
  4. 04読み取り専用モードと制限付き変更
  5. 05機密情報を除いた構造化出力

活用シーン

  1. 01プロジェクトを検索して進捗を確認
  2. 02プロジェクトのシステム案を比較
  3. 03共有変更前にプロジェクト共有を確認

MCP 対応

OpenSolar APIの操作をMCPクライアント向けツールとして公開し、stdioまたはステートレスなStreamable HTTPで接続します。組織独自のAPIトークンを使い、読み取り専用モードでは変更ツールを無効にできます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"align-software-company-opensolar": {
"command": "npx",
"args": [
"-y",
"@alignco/opensolar-mcp"
],
"env": {
"OPENSOLAR_API_TOKEN": "<OPENSOLAR_API_TOKEN>",
"OPENSOLAR_ORG_ID": "<OPENSOLAR_ORG_ID>",
"OPENSOLAR_PROFILE": "<OPENSOLAR_PROFILE>",
"OPENSOLAR_READ_ONLY": "<OPENSOLAR_READ_ONLY>",
"OPENSOLAR_PLAN": "<OPENSOLAR_PLAN>",
"OPENSOLAR_TOOLSETS": "<OPENSOLAR_TOOLSETS>",
"OPENSOLAR_UPLOAD_ROOT": "<OPENSOLAR_UPLOAD_ROOT>"
}
}
}
}
起動コマンドnpx -y @alignco/opensolar-mcp
設定が必要な環境変数
OPENSOLAR_API_TOKENシークレットOpenSolar bearer token
OPENSOLAR_ORG_IDOpenSolar organisation ID
OPENSOLAR_PROFILETool profile: agent (curated default) or full (every registered tool)
OPENSOLAR_READ_ONLYHide every tool that can change OpenSolar data
OPENSOLAR_PLANOpenSolar access plan; api_access hides tools that need Raw Data API Access
OPENSOLAR_TOOLSETSComma-separated toolsets that replace the profile's tool selection
OPENSOLAR_UPLOAD_ROOTDirectory that create_private_file may read from; uploads stay disabled when unset

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

パッケージ
npm@alignco/opensolar-mcp0.1.3
ocighcr.io/align-software-company/opensolar-mcp:0.1.3

ツール

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

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

詳細

OpenSolar MCP

Claude、Cursor、VS Code、その他あらゆる MCP クライアントに、OpenSolar の組織への安全で構造化されたアクセスを提供します。

非公式 · セルフホスト可能 · OpenSolar API トークンはご自身で用意してください

npm CI MCP 2026-07-28 Node.js 24+ License: MIT

クイックスタート · クライアントを接続 · ツール · 設定 · リモートデプロイ · セキュリティ · トラブルシューティング


OpenSolar MCP は、ドキュメント化された OpenSolar API 向けの Model Context Protocol サーバーです。ご自身のマシンまたはインフラストラクチャ上で動作し、ご自身の OpenSolar 認証情報を使用して、プロジェクト、連絡先、システム、ファイル、商用設定、Teams の共有に対応する厳選されたツール群を AI エージェントに提供します。

flowchart LR
    client["MCP client<br/>Claude · Cursor · VS Code · Codex"]
    server["OpenSolar MCP<br/>runs where you run it"]
    api[("OpenSolar API<br/>api.opensolar.com")]
    client -- "stdio or Streamable HTTP" --> server
    server -- "HTTPS with your bearer token" --> api

重要

このプロジェクトは OpenSolar Pty Ltd と提携、承認、運営されているものではありません。公開されているドキュメント化済みの OpenSolar API のみを呼び出し、共有またはホスト型の OpenSolar サービスを運営することはありません。

主な特長

  • エージェント向けに厳選。 デフォルトの 31 ツールのプロファイルで、日常的な作業をカバーします。登録済みの 75 ツールすべてを、設定ひとつで利用できます。
  • 単なるエンドポイントではなく、意味のある操作。 プロジェクトと連絡先の検索、運用スナップショット、名前によるステージ変更、システムの並列比較、設計の概要、読み取り専用の共有事前確認に対応します。
  • 設計段階から慎重。 検索では一致結果が unique、ambiguous、incomplete のいずれかとして報告され、エージェントには推測しないよう指示されます。書き込みは自動再試行されず、読み取り専用モードではすべての変更操作が無効になります。
  • OpenSolar のドキュメントに忠実。 すべてのツールは公式 API ドキュメント、または記録された実環境での検証に基づいており、リクエスト本文が確定している場合にのみ書き込み操作を公開します。各ツールの根拠はAPI コントラクトマトリクスに記載されています。
  • クリーンなモデルコンテキスト。 公開済みスキーマを備えた構造化出力を提供します。認証情報、署名付き URL、設計データ、その他の生データや機密フィールドは、モデルに届く前に取り除かれます。
  • 最新の MCP に対応。 2026-07-28 仕様に対応した公式 MCP TypeScript SDK v2 を基盤とし、以前のプロトコルバージョンを使用するクライアント向けのフォールバックも備えています。stdio とステートレスな Streamable HTTP をサポートし、すべてのツールでタイトル、出力スキーマ、動作アノテーションを宣言します。

質問できること

エージェントへの質問…実行されること
「Harbour Street プロジェクトを探して、進捗を要約してください。」search_projects でプロジェクトを検索し、続いて get_project_snapshot でワークフローの段階、システム、ファイルを読み取ります。
「そのプロジェクトのシステムの選択肢を比較してください。」compare_project_systems でサイズ、年間出力、価格、ワットあたりの価格、ハードウェアを並べて比較します。順位付けは行いません。
「Installing に移動してください。」update_project_stage でプロジェクトのワークフローから段階名を特定し、曖昧な一致やアーカイブ済みの一致がある場合は処理を行いません。
「提案の投資回収期間と NPV はいくらですか?」get_proposal_data で投資回収年、NPV、IRR、ROI を返します。Raw Data API Access が必要です。
「Jordan Lee を連絡先に追加してください。すでに存在する場合は追加しないでください。」search_contacts で既存の一致を先に確認し、続いて create_contact で連絡先を追加します。
「そのプロジェクトの提案書 PDF を生成してください。」generate_project_document で OpenSolar に文書をプライベートファイルとして保存し、ファイル ID を返します。
「このプロジェクトを施工パートナーと共有できますか?」preflight_project_share で接続と共有対象エンティティを確認します。変更は行いません。

クイックスタート

要件

ヒント

OpenSolar の標準ユーザートークンは 7 日後に有効期限が切れます。長期間運用する場合は、API 作業専用の OpenSolar ユーザーを作成し、マシンユーザーに設定してください。マシンユーザーのトークンには有効期限がありません。このサーバーが代わりにこの設定を変更することはありません。

1. 利用できるツールを確認します(認証情報は不要です)。

npx -y @alignco/opensolar-mcp --list-tools

2. 設定とトークンを確認します。

OPENSOLAR_API_TOKEN=your_token OPENSOLAR_ORG_ID=12345 \
  npx -y @alignco/opensolar-mcp --check

--check は組織の情報を 1 回読み取ります。OpenSolar に接続せず設定を検証するには、--no-probe を追加してください。

3. 以下のいずれかの方法で MCP クライアントに追加します。

MCP クライアントを接続する

VS Code にインストール Cursor に追加

すべてのクライアントで必要な設定は、OPENSOLAR_API_TOKEN と OPENSOLAR_ORG_ID の 2 つです。以下の your_token と 12345 を、ご自身の値に置き換えてください。

Claude Code
claude mcp add opensolar \
  -e OPENSOLAR_API_TOKEN=your_token \
  -e OPENSOLAR_ORG_ID=12345 \
  -- npx -y @alignco/opensolar-mcp

すべてのプロジェクトで利用できるようにするには、--scope user を追加します。

Claude Desktop

Settings → Developer → Edit Config を開き、次の内容を追加します。

{
  "mcpServers": {
    "opensolar": {
      "command": "npx",
      "args": ["-y", "@alignco/opensolar-mcp"],
      "env": {
        "OPENSOLAR_API_TOKEN": "your_token",
        "OPENSOLAR_ORG_ID": "12345"
      }
    }
  }
}

保存した後、Claude Desktop を再起動します。

Cursor

上の Cursor に追加 ボタンを使うか、~/.cursor/mcp.json(すべてのプロジェクト)または .cursor/mcp.json(1 つのプロジェクト)に次の内容を追加します。

{
  "mcpServers": {
    "opensolar": {
      "command": "npx",
      "args": ["-y", "@alignco/opensolar-mcp"],
      "env": {
        "OPENSOLAR_API_TOKEN": "your_token",
        "OPENSOLAR_ORG_ID": "12345"
      }
    }
  }
}
VS Code

上の VS Code にインストール ボタンを使うか、.vscode/mcp.json に次の内容を追加します。VS Code がトークンの入力を求め、安全に保存します。

{
  "inputs": [
    {
      "type": "promptString",
      "id": "opensolar_api_token",
      "description": "OpenSolar API token",
      "password": true
    },
    {
      "type": "promptString",
      "id": "opensolar_org_id",
      "description": "OpenSolar organisation ID"
    }
  ],
  "servers": {
    "opensolar": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@alignco/opensolar-mcp"],
      "env": {
        "OPENSOLAR_API_TOKEN": "${input:opensolar_api_token}",
        "OPENSOLAR_ORG_ID": "${input:opensolar_org_id}"
      }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に次の内容を追加します。

{
  "mcpServers": {
    "opensolar": {
      "command": "npx",
      "args": ["-y", "@alignco/opensolar-mcp"],
      "env": {
        "OPENSOLAR_API_TOKEN": "your_token",
        "OPENSOLAR_ORG_ID": "12345"
      }
    }
  }
}
OpenAI Codex

~/.codex/config.toml に次の内容を追加します。

[mcp_servers.opensolar]
command = "npx"
args = ["-y", "@alignco/opensolar-mcp"]
env = { OPENSOLAR_API_TOKEN = "your_token", OPENSOLAR_ORG_ID = "12345" }
Gemini CLI

~/.gemini/settings.json に次の内容を追加します。

{
  "mcpServers": {
    "opensolar": {
      "command": "npx",
      "args": ["-y", "@alignco/opensolar-mcp"],
      "env": {
        "OPENSOLAR_API_TOKEN": "your_token",
        "OPENSOLAR_ORG_ID": "12345"
      }
    }
  }
}
その他の MCP クライアント

OPENSOLAR_API_TOKEN と OPENSOLAR_ORG_ID を環境変数に設定し、stdio サーバーとして npx -y @alignco/opensolar-mcp を実行します。HTTP 経由で接続するクライアントについては、リモートデプロイを参照してください。

npx 経由ではなく、コマンドを一度だけインストールするには、次を実行します。

npm install -g @alignco/opensolar-mcp
opensolar-mcp --version

ヒント

使い方に慣れるまでは、env ブロックに OPENSOLAR_READ_ONLY=1 を設定して始めてください。これにより、OpenSolar のデータを変更できるすべてのツールが無効になります。

ツール

プロファイル

プロファイルは、厳選された操作環境です。ツールセットは、直接選択できる機能領域です。読み取り専用モードとアクセスプランのフィルターは、どちらにも適用されます。

操作環境ツール用途
agent(デフォルト)31日常的なプロジェクト、連絡先、システム、ファイル、共有の操作
agent + OPENSOLAR_READ_ONLY=122調査、レポート作成、安全なお試し
agent + OPENSOLAR_PLAN=api_access29Raw Data API Access を利用できない組織
full75管理:コンポーネントカタログ、ワークフロー、Webhook、削除、Teams の設定

--list-tools を実行すると、設定によって有効になる操作環境が常に正確に表示されます。

npx -y @alignco/opensolar-mcp --list-tools
OPENSOLAR_PROFILE=full npx -y @alignco/opensolar-mcp --list-tools
OPENSOLAR_TOOLSETS=webhooks npx -y @alignco/opensolar-mcp --list-tools
デフォルトの agent ツール

✏️ は OpenSolar のデータを変更するツールを示します。🔒 は Raw Data API Access が必要なツールを示します。

領域ツール
プロジェクトsearch_projects · list_projects · get_project · get_project_snapshot · create_project ✏️ · update_project ✏️ · update_project_stage ✏️ · update_project_usage ✏️
連絡先search_contacts · list_contacts · get_contact · create_contact ✏️ · update_contact ✏️
組織get_org · list_roles
システムcompare_project_systems · get_system_details
商取引list_payment_options · list_pricing_schemes · list_costings
ファイルとドキュメントlist_private_files · get_private_file · create_private_file ✏️ · generate_project_document ✏️
リファレンスlist_roof_types · list_file_tags
チーム共有list_connected_orgs · preflight_project_share · share_entities ✏️
Raw Dataget_proposal_data 🔒 · get_project_design 🔒
ツールセット別の全 75 ツール

すべてのツールを公開するには OPENSOLAR_PROFILE=full を設定するか、OPENSOLAR_TOOLSETS でツールセットを指定してください(例:projects,contacts,systems)。

ツールセットツール
projectslist_projects, search_projects, get_project, get_project_snapshot, create_project, update_project, update_project_stage, update_project_usage, delete_project
orgget_org, list_roles, get_role
contactslist_contacts, search_contacts, get_contact, create_contact, update_contact, delete_contact
eventsget_event, list_event_types
systemslist_project_systems, compare_project_systems, get_system, get_system_details, get_system_image
componentslist_modules, get_module, delete_module_activation, list_inverters, get_inverter, delete_inverter_activation, list_batteries, get_battery, delete_battery_activation, list_other_components, get_other_component, delete_other_component_activation
workflowlist_workflows, get_workflow, create_workflow, delete_workflow
paymentlist_payment_options, get_payment_option, delete_payment_option
pricinglist_pricing_schemes, get_pricing_scheme, delete_pricing_scheme
costinglist_costings, get_costing, delete_costing
referencelist_roof_types, list_file_tags
fileslist_private_files, get_private_file, create_private_file, update_private_file, delete_private_file, generate_project_document
webhookslist_webhooks, create_webhook, update_webhook, list_webhook_logs, list_webhook_queue
teamslist_connected_orgs, preflight_project_share, list_connection_requests, create_connection_request, accept_connection_request, update_connection, delete_connection, share_project, share_entities, create_permission_role
raw_dataget_proposal_data, get_project_design

ドキュメントにリクエスト本文が明記されていないため、一部の OpenSolar 操作は意図的に公開していません。たとえば、価格体系、支払いオプション、原価、コンポーネントの有効化の作成や、ワークフローまたは組織の更新などです。現在の実装に一覧があります。

設定

変数用途デフォルト
OPENSOLAR_API_TOKENOpenSolar のベアラートークンです。stdio および --check で必須です。ループバック HTTP ではフォールバックとして使用できます。—
OPENSOLAR_ORG_IDOpenSolar の組織 ID です。必須
OPENSOLAR_BASE_URLOpenSolar API のベース URL です。https が必須です(localhost の場合のみ http を使用できます)。https://api.opensolar.com/api/
OPENSOLAR_PROFILEツールプロファイルです。agent または full を指定します。agent
OPENSOLAR_TOOLSETSカンマ区切りのツールセットです。設定すると、プロファイルの選択を置き換えます。未設定
OPENSOLAR_READ_ONLY1、true、yes、または on を指定すると、すべての変更操作を非表示にします。0、false、no、または off を指定すると、変更操作を表示します。それ以外の値を指定すると起動を停止します。off
OPENSOLAR_PLANapi_access を指定すると Raw Data API Access が必要なツールを非表示にし、raw_data を指定すると表示します。未設定
OPENSOLAR_UPLOAD_ROOTcreate_private_file が読み取り可能なディレクトリです。未設定の場合、アップロードは無効です。未設定
MCP_TRANSPORThttp を指定すると、stdio の代わりに Streamable HTTP を提供します。stdio
MCP_HTTP_HOSTHTTP バインドアドレスです。127.0.0.1
MCP_HTTP_PORTHTTP ポートです。3000
MCP_HTTP_PATHMCP エンドポイントのパスです。/mcp
MCP_HTTP_ALLOWED_HOSTS非ループバックバインドで許可する Host 値をカンマ区切りで指定します。0.0.0.0 と :: の場合は必須です。未設定
MCP_HTTP_ALLOWED_ORIGINS非ループバックバインドで許可するブラウザーの Origin ホスト名です。Origin ヘッダーのないリクエストは引き続き許可されます。Host の許可リスト

OPENSOLAR_TOOLSETS はプロファイルより優先されます。その後に OPENSOLAR_READ_ONLY と OPENSOLAR_PLAN が適用されます。コメント付きテンプレートについては .env.example を参照してください。サーバー自体は .env ファイルを読み込みません。

コマンドラインオプション
オプション説明
(none)stdio 経由で MCP を提供します
--httpStreamable HTTP 経由で MCP を提供します
--host <host>、--port <port>、--path <path>HTTP のバインド設定です(MCP_HTTP_* 変数を上書きします)
--check設定を検証し、組織を 1 回読み取ります
--check --no-probeOpenSolar に接続せずに設定を検証します
--list-tools設定で公開されるツール名を表示します
--version、-vパッケージのバージョンを表示します
--help、-hヘルプを表示します
ローカルファイルのアップロード

create_private_file はサーバーを実行しているマシン上のファイルをアップロードするため、デフォルトでは無効です。有効にするには、ディレクトリを指定します。

export OPENSOLAR_UPLOAD_ROOT=/absolute/path/to/uploads

相対パスはそのディレクトリ内で解決されます。絶対パスとシンボリックリンクは、実際のパスがそのディレクトリ内にとどまる場合にのみ使用できます。モデルがファイルのバイトデータを送信することはありません。

get_private_file と get_system_image によるダウンロードは 10 MB に制限されます。テキストコンテンツはモデルに返されます。画像やその他のバイナリファイルは JSON にコピーされず、MCP の画像またはリソースコンテンツとして返されます。

リモートデプロイ

サーバーは、ネットワーク経由で接続するクライアント向けに、ステートレスな Streamable HTTP も使用できます。

OPENSOLAR_API_TOKEN=your_token OPENSOLAR_ORG_ID=12345 \
  npx -y @alignco/opensolar-mcp --http
エンドポイント用途
http://127.0.0.1:3000/mcpMCP
/health稼働状態です。{"status":"ok"} を返します。認証情報は不要です。
/ready準備状態です。{"status":"ready"} を返します。認証情報は不要です。

ループバックアドレスでは、Authorization: Bearer <token> ヘッダーが優先され、OPENSOLAR_API_TOKEN 変数はローカルのフォールバックとして使用されます。

localhost を超えて公開する

ループバック以外にバインドする場合、すべての MCP リクエストで OpenSolar のベアラートークンが必須です。OPENSOLAR_API_TOKEN 変数はフォールバックとして無視され、不正な形式の Authorization ヘッダーは拒否されます。

export OPENSOLAR_ORG_ID=12345
export MCP_HTTP_HOST=0.0.0.0
export MCP_HTTP_ALLOWED_HOSTS=mcp.example.com
npx -y @alignco/opensolar-mcp --http

たとえば、リクエストヘッダーにトークンを指定してクライアントを接続します。

claude mcp add --transport http opensolar https://mcp.example.com/mcp \
  --header "Authorization: Bearer your_token"

警告

組み込みサーバーは平文の HTTP を使用します。ネットワーク上でトークンを送信する前に、TLS を終端するリバースプロキシまたはプラットフォームの背後に配置してください。MCP_HTTP_ALLOWED_HOSTS と MCP_HTTP_ALLOWED_ORIGINS は、DNS リバインディングやクロスサイトのブラウザーリクエストを防ぐための設定であり、認証機能ではありません。

Docker

このイメージは、非特権ユーザーとして HTTP トランスポートを実行し、ヘルスチェックを備えています。

docker pull ghcr.io/align-software-company/opensolar-mcp:latest
docker run --rm \
  -e OPENSOLAR_ORG_ID=12345 \
  -p 127.0.0.1:3000:3000 \
  ghcr.io/align-software-company/opensolar-mcp:latest

このリポジトリをクローンした場所からビルドするには、次のようにします。

docker build -t opensolar-mcp .
docker run --rm \
  -e OPENSOLAR_ORG_ID=12345 \
  -p 127.0.0.1:3000:3000 \
  opensolar-mcp

コンテナー内では、サーバーは 0.0.0.0 にバインドされるため、クライアントはすべてのリクエストで Authorization: Bearer <token> を送信する必要があります。このイメージでは、Host 値として localhost と 127.0.0.1 が許可されています。それ以外の場合は、MCP_HTTP_ALLOWED_HOSTS に公開ホスト名を設定してください。

セキュリティモデル

  • テレメトリーはありません。 サーバーは分析データや使用状況データを送信しません。外部へのリクエストは、OpenSolar API と、OpenSolar から返されるファイルおよび画像の URL に限られます。
  • 認証情報はご自身のプロセス内に留まります。 トークンは環境変数またはクライアントの設定内に留まります。何も永続化されず、このプロジェクトはホスト型サービスを実行しません。
  • 書き込みは明示的に行われます。 データを変更するツールには MCP の readOnlyHint: false アノテーションが付与され、破壊的なツールには destructiveHint: true が付与されます。また、いずれも自動的に再試行されません。OPENSOLAR_READ_ONLY=1 を設定すると、これらのツールはすべて無効になります。
  • 推測は行いません。 検索で対象が確定するのは、resolution: unique が返された場合、または完全なスキャンでメールアドレスもしくは電話番号が完全一致する候補が 1 件だけの場合に identifier_match_id が返された場合に限られます。サーバーは書き込みを再試行せず、隠れた一括書き込み機能も公開しません。
  • 出力は最小限です。 署名付きダウンロード URL、連携シークレット、Webhook シークレット、個人を特定する情報、未加工の設計データは、マスキングまたは省略されます。
  • 処理量には上限があります。 検索、ダウンロード、Raw Data の展開にはすべて固定の上限があります。通常の読み取りのみ再試行され、HTTP 429 の場合に限り、最大 3 回まで再試行されます。
  • HTTP モードでは OpenSolar トークンがそのまま転送されます。 クライアントが送信するベアラートークン自体が OpenSolar トークンであり、そのまま OpenSolar に転送されます。これは MCP OAuth トークンではありません。複数人で 1 つのデプロイメントを共有する場合は、認証ゲートウェイを前段に配置してください。

脆弱性は非公開で報告してください。詳細は SECURITY.md をご覧ください。

互換性

MCP プロトコル2026-07-28。2025-11-25、2025-06-18、およびそれ以前のリビジョンを使用するクライアント向けのフォールバックにも対応
トランスポートstdio、ステートレス Streamable HTTP
ツールの結果各ツールの outputSchema に一致する structuredContent に加え、短いテキストの要約と互換性のための簡潔な JSON テキスト
ランタイムNode.js 24 以降、ESM

成功した構造化ツールの結果には、同じペイロードを簡潔な JSON テキストとしてシリアライズしたものも含まれます。そのため、structuredContent を転送しないクライアントでも、構造化された結果全体をモデルに渡すことができます。

トラブルシューティング

症状対処方法
Token missing or expired標準トークンの有効期限は7日間です。新しいトークンを取得するか、マシンユーザーを使用してください。
This call needs Raw Data API AccessOpenSolar で Raw Data API Access を有効にするか、OPENSOLAR_PLAN=api_access を設定して該当するツールを非表示にしてください。
The caller cannot use this record (HTTP 403)トークンのユーザーに権限がないか、プロジェクトが API Access の利用資格の対象外です。
Throttled by OpenSolar (HTTP 429)OpenSolar のスロットル制限に達しました。再試行する前にお待ちください。
想定しているツールが見つからない同じ環境で --list-tools を実行し、OPENSOLAR_PROFILE、OPENSOLAR_TOOLSETS、OPENSOLAR_READ_ONLY、OPENSOLAR_PLAN を確認してください。
起動時に Unknown OPENSOLAR_READ_ONLY が表示される1/true/yes/on または 0/false/no/off を使用してください。入力ミスによって書き込みが有効にならないよう、それ以外の値は拒否されます。
クライアントからサーバーを起動できないクライアントが使用する PATH 上で、node --version が24以降であることを確認してください。Windows では、クライアントによっては "command": "cmd" と "args": ["/c", "npx", "-y", "@alignco/opensolar-mcp"] が必要です。
HTTP が 401 Unauthorized を返すループバック以外へのバインドでは OPENSOLAR_API_TOKEN は無視されます。各リクエストに Authorization: Bearer <token> を付けてください。
MCP に到達する前に HTTP が 403 を返すホスト名を MCP_HTTP_ALLOWED_HOSTS に、またはブラウザーのオリジンを MCP_HTTP_ALLOWED_ORIGINS に追加してください。

ログは JSON Lines 形式で stderr に出力されるため、stdout は MCP プロトコル用にクリーンな状態に保たれます。

開発

git clone https://github.com/Align-Software-Company/opensolar-mcp.git
cd opensolar-mcp
corepack enable
pnpm install --frozen-lockfile
pnpm check:all      # repository hygiene, registry metadata, lint, typecheck, offline tests
pnpm build
pnpm test:docker    # build and smoke-test the Docker image

通常のテストスイートはオフラインで実行されます。ライブ統合テストは .env.local を読み込み、デフォルトでは読み取り専用で実行されます。書き込みには OPENSOLAR_INTEGRATION_WRITES=1 と専用のフィクスチャレコードが必要です。

pnpm test:integration
OPENSOLAR_INTEGRATION_WRITES=1 pnpm test:integration

プルリクエストを作成する前に、CONTRIBUTING.md をお読みください。特に OpenSolar API の根拠に関するルールを確認してください。

ドキュメント

ドキュメント内容
現在の実装提供済みの動作:公開ルール、トランスポート、クライアントの動作、秘匿化、制限
API 契約マトリックス各ツールのエンドポイント、メソッド、パラメーター、プラン、スロットル、根拠
API の特記事項想定外だった OpenSolar の動作と、サーバーでの対処方法
ソースログ各契約の根拠となるドキュメントページとライブチェック
デフォルトプロファイルの評価デフォルトプロファイルの動作評価とリリースに向けた調整
リリースの制約デプロイに影響する OpenSolar の規約、スロットル、アクセスプラン
リリースチェックリストリリースゲート
変更履歴バージョンごとの主な変更点

貢献

貢献を歓迎します。CONTRIBUTING.md と行動規範をご覧ください。セキュリティ上の問題については、イシューを作成せず、SECURITY.md に従ってください。

ライセンス

MIT © 2026 Align Software Company.

OpenSolar は OpenSolar Pty Ltd の商標です。このプロジェクトは独立したものであり、OpenSolar の承認を受けていません。

コメント

MCP は初めてですか?

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

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