mcp-isolarcloud
An MCP server that serves the Sungrow iSolarCloud OpenAPI documentation — the official developer docs, control-parameter reference, device-type dictionary, error codes and measuring-point tables — as searchable tools, resources and how-to "skill" prompts.
The full documentation set is bundled with the package, so the server needs no network access or credentials at runtime.
Why
Building against the iSolarCloud API (e.g. the sungrow-isolarcloud client or the Home Assistant integration) means constantly cross-referencing the developer portal — whose docs live behind a JavaScript app. This server puts them one tool call away for any MCP-capable assistant, including the authoritative Appendix 10: Control Parameter Definitions (param codes, units and value encodings — e.g. SOC is sent as tenths of a percent, power in watts).
Run it
With uv (recommended — no install step):
uvx mcp-isolarcloud
Or add it to an MCP client (Claude Desktop / Claude Code / etc.):
{
"mcpServers": {
"isolarcloud": {
"command": "uvx",
"args": ["mcp-isolarcloud"]
}
}
}
For Claude Code: claude mcp add isolarcloud -- uvx mcp-isolarcloud
As a Claude Code plugin
This repo is also a Claude Code plugin marketplace, so the MCP server auto-registers when the plugin is enabled — no manual MCP config:
/plugin marketplace add KRoperUK/mcp-isolarcloud
/plugin install mcp-isolarcloud@mcp-isolarcloud
The plugin runs the published package via uvx mcp-isolarcloud.
What it exposes
Tools
list_docs()— every documentation page (slug, title, type)read_doc(slug)— the full markdown of one pagesearch_docs(query, limit=8)— keyword search, title-weighted, with snippets
Resources
isolarcloud://docs/{slug}— each page as an MCP resource
Prompts (skills)
find_control_parameter(what)— locate a dispatch/control parameter and its value encodingapi_call_walkthrough(endpoint)— walk through calling a specific API endpoint
Updating the docs
The bundled docs are refreshed from the portal with:
pip install cryptography markdownify
python tools/refresh_docs.py
The portal's doc API is public (no login); refresh_docs.py reproduces its request-encryption scheme using the public keys embedded in the portal's own web app.
Development
uv venv && uv pip install -e '.[dev]'
ruff check src/ tests/
pytest
License
MIT
Metadata
Release files for mcp-isolarcloud 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mcp_isolarcloud-0.2.0.tar.gz | 1.8 MB | With provenance | Details for mcp_isolarcloud-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mcp_isolarcloud-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for mcp_isolarcloud-0.2.0-py3-none-any.whl |
Total release size: 3.5 MB
Release files / mcp_isolarcloud-0.2.0.tar.gz
| Download URL | mcp_isolarcloud-0.2.0.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef70dbee1457b46c5fb2ba5e7a297349048be4fa3b49b02505237ea132cfa0dd
|
|
BLAKE2b-256 checksum How to use checksums |
0bb0a6cec66eefc051c56846c97183ea4f90da82fe8792d9b2505279065f2e24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 3, 2026.
Transparency logRelease files / mcp_isolarcloud-0.2.0-py3-none-any.whl
| Download URL | mcp_isolarcloud-0.2.0-py3-none-any.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
96212cb7ffbdf21beddcdcb708795d1f9184f6ed8184b5dc8bc75ae2a118d525
|
|
BLAKE2b-256 checksum How to use checksums |
00af50cbaaaec2dd17f2ad3a06f9ffdef6d58ac2c4110a5b659c74c8682fb7b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 3, 2026.
Transparency logSecurity for mcp-isolarcloud 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for mcp_isolarcloud-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.