IC CAP Server
FreeNot checkedEnables MCP-compatible agents to interact with Keysight IC-CAP through its Python API, providing tools to inspect and modify projects, run simulations and trans
About
Enables MCP-compatible agents to interact with Keysight IC-CAP through its Python API, providing tools to inspect and modify projects, run simulations and transforms, extract parameters, and retrieve plots and data.
README
IC-CAP MCP Server exposes the Keysight IC-CAP Python API through the Model Context Protocol. An MCP-compatible agent can inspect and modify the active IC-CAP project, run simulations and transforms, configure parameter extraction, and retrieve plots and data through a consistent tool interface.
Features
- 114 tools covering IC-CAP models, DUTs, setups, inputs, outputs, variables, parameters, transforms, plots, macros, and project-level operations.
- Fine-grained read, build, execute, and display operations instead of one opaque extraction command.
- Packaged operational and extraction-strategy skills exposed as MCP resources.
- In-process SSE server for access to the active IC-CAP session.
- Serialized IC-CAP API calls and configurable call timeouts.
- Plot capture and numerical data access for result inspection.
The full tool catalog is defined in
src/mcp_iccap_server/tools/all_tools.py.
Tool coverage
| Area | Tools |
|---|---|
| Generic object operations | 17 |
| Models, DUTs, and setups | 23 |
| Inputs and outputs | 22 |
| Variables and parameters | 20 |
| Transforms and optimization | 12 |
| Plots and display | 5 |
| Macros and project operations | 9 |
| Table and instrument variables | 6 |
| Total | 114 |
Architecture
The launcher runs inside IC-CAP and starts the MCP server in a background thread. Tool definitions validate MCP requests, handlers translate those requests into IC-CAP Python API calls, and skill resources provide operational and model-family extraction guidance.
MCP client
|
| SSE: http://127.0.0.1:8765/sse
v
IC-CAP MCP server
|-- tool definitions
|-- IC-CAP API handlers
`-- skill resources
|
v
active IC-CAP session
Requirements
- Windows 11
- Keysight IC-CAP 2025 with an IC-CAP-compatible Python environment configured according to the installed Python Installation documentation
- Python 3.12
- A licensed IC-CAP installation
- An MCP client that supports SSE connections
The current release has been developed against IC-CAP 2025 on Windows 11 with
Python 3.12. Other IC-CAP and Python versions have not yet been validated.
The proprietary iccap and IC-CAP-compatible PySide2 modules are supplied
with the product and are therefore not installed by this package.
The server must use the same Python environment selected by IC-CAP through
ICCAP_PYTHONHOME. Installing its dependencies into a system Python, Conda
environment, or unrelated virtual environment does not make them available to
the IC-CAP process and can introduce incompatible package versions.
Installation
1. Prepare the IC-CAP Python environment
Follow the Keysight documentation installed with IC-CAP:
iccap2025/icappydoc/Python_Installation
Use the corresponding page for your installed IC-CAP update when its
documentation path differs. For Windows, the documented procedure creates a
compatible Python 3.12 installation, installs the pre-built wheels and package
requirements provided under ICCAP_ROOT, and sets ICCAP_PYTHONHOME to that
installation. Use the exact Python patch release and product files specified
by the documentation shipped with your IC-CAP version.
Set ICCAP_PYTHONHOME before starting IC-CAP, then restart IC-CAP so that the
process inherits the setting. In PowerShell, confirm the selected interpreter:
$iccapPython = Join-Path $env:ICCAP_PYTHONHOME "python.exe"
& $iccapPython -c "import sys; print(sys.executable); print(sys.prefix)"
If ICCAP_PYTHONHOME is empty or this command fails, finish the Keysight
Python Installation procedure before installing this server.
2. Install the server into that environment
Clone the repository and use the same interpreter for installation:
git clone https://github.com/Solitario119/iccap-mcp-server.git
cd iccap-mcp-server
$iccapPython = Join-Path $env:ICCAP_PYTHONHOME "python.exe"
& $iccapPython -m pip install -e .
Do not substitute another Python executable. This command adds the MCP runtime
dependencies to the environment already prepared for IC-CAP; it does not
install or modify IC-CAP itself. Keep the cloned repository after installation:
the editable package and iccap_launcher.py are loaded from this checkout.
3. Verify the Python dependencies
Check the dependencies with the same interpreter:
& $iccapPython -c "import mcp, pydantic, starlette, typing_extensions, uvicorn; print('dependencies available')"
Run inside IC-CAP
Open IC-CAP after setting
ICCAP_PYTHONHOME, then load the project to be accessed.Load or paste
iccap_launcher.pyinto an IC-CAP Python Macro and execute it. This in-process launch is the supported way to give the server access to the active IC-CAP session.If imports fail, print
sys.prefixfrom an IC-CAP Python Macro and confirm that it matchesICCAP_PYTHONHOME.Wait for the IC-CAP console to report:
MCP-ICCAP server READY on http://127.0.0.1:8765/sseConfigure an MCP-compatible client to connect to:
http://127.0.0.1:8765/sse
The launcher is persistent for the current IC-CAP process. Running it again while the server is active reports the existing connection instead of starting a second server.
Verify the connection
After connecting the MCP client:
- Request the tool list and confirm that 114 tools are returned.
- Call
main_get_modelsto read the models in the active project. - Call
object_existwith the path of a known IC-CAP object. - Request the resource list and read
skill://skills/iccap-operation/SKILL.md.
These checks confirm the MCP connection, IC-CAP API access, and packaged skill resources. When validating another IC-CAP release, also use a temporary project to check object creation, value updates, simulation, plot capture, save, and deletion.
Skill resources
The MCP tools define what an agent can do in IC-CAP. The skill resources describe how to organize those operations into a safe and technically coherent device-modeling workflow. They are Markdown resources packaged with the server, not hard-coded prompts or client-specific configuration.
Operational skills
| Resource | Purpose |
|---|---|
iccap-operation/SKILL.md |
Entry point and standard inspect-edit-execute-verify loop |
basics.md |
Connection checks, simulation prerequisites, and result inspection |
hierarchy.md |
IC-CAP object ownership, paths, discovery, and creation order |
tool-usage-guide.md |
Reliable call patterns for objects, transforms, optimizers, and plots |
data-handling.md |
Measured/simulated data, MDM import, export, and project saving |
safety.md |
Project protection, destructive operations, timeouts, and network boundaries |
engineering-completion.md |
Functional completion checks for constructed projects |
troubleshooting.md |
Recovery from connection, simulation, transform, plot, and fitting failures |
Extraction-strategy skills
| Resource | Purpose |
|---|---|
iccap-extraction/SKILL.md |
Entry point and staged extraction loop |
setup-dut.md |
DUT, circuit, setup, sweep, output, and measurement-data preparation |
optimization.md |
Parameter grouping, bounds, objective construction, and recovery |
validation.md |
Numerical, visual, physical, and cross-domain fit assessment |
diode-extraction.md |
Staged SPICE diode I-V and C-V extraction |
bjt-gp-extraction.md |
Gummel-Poon BJT DC, CV, resistance, and transit-time extraction |
hemt-extraction.md |
ASM-HEMT DC, gate-current, CV, RF, thermal, and trap extraction |
An MCP client can discover all 15 files through resources/list. A typical
agent workflow is:
- Read
skill://skills/iccap-operation/SKILL.md. - Read the operational file needed for the current action.
- Read
skill://skills/iccap-extraction/SKILL.mdfor an extraction task. - Read the relevant model-family strategy.
- Use the tool schemas and inspect the active project before applying the documented procedure.
Resource loading depends on the MCP client. A client that does not automatically expose resources must explicitly list and read these URIs before the agent can use their contents.
Configuration
The launcher and server accept the following environment variables:
| Variable | Default | Purpose |
|---|---|---|
ICCAP_MCP_HOST |
127.0.0.1 |
SSE bind address |
ICCAP_MCP_PORT |
8765 |
SSE port |
ICCAP_MCP_TOOL_TIMEOUT |
60 |
Tool-call timeout in seconds |
ICCAP_MCP_WORKSPACE |
./iccap_mcp_workspace |
Plot capture and export directory |
ICCAP_MCP_LOG_FILE |
./mcp_server.log |
Launcher crash log |
ICCAP_MCP_SOURCE_DIR |
repository src directory |
Package source used by the launcher |
ICCAP_PYTHONHOME |
IC-CAP Python prefix | Location used to resolve typing_extensions |
ICCAP_MCP_ALLOW_REMOTE |
unset | Allow a non-loopback bind address when set to 1 |
Safety
This server can create, modify, execute, save, and delete objects in the active IC-CAP project. Work on a project copy until the intended tool sequence has been verified, and save before operations that may change a large part of the project.
The SSE transport does not provide authentication or transport encryption. The
server binds to 127.0.0.1 by default and rejects non-loopback addresses unless
ICCAP_MCP_ALLOW_REMOTE=1 is set. Do not expose it directly to the public
internet. A remote deployment requires a trusted network boundary,
authentication, encryption, and access controls appropriate to the environment.
Use GitHub private vulnerability reporting for suspected vulnerabilities. Do not include proprietary IC-CAP projects, measurement data, credentials, or licensed Keysight materials in a public issue.
Limitations
- IC-CAP API calls are serialized because the underlying application state is not designed for concurrent mutation.
- Long simulations and optimization transforms can exceed the default timeout.
- Measurement operations require correctly configured instruments and drivers.
- Tool availability does not replace model-specific extraction judgment; use the relevant skill resource and inspect intermediate results.
- Compatibility outside the tested environment is not yet established.
Development
The source tree uses a standard src layout:
src/mcp_iccap_server/server.py MCP transports and dispatch
src/mcp_iccap_server/tools/all_tools.py tool schemas
src/mcp_iccap_server/handlers/all_handlers.py
IC-CAP API handlers
src/mcp_iccap_server/skills/ packaged skill resources
iccap_launcher.py in-process IC-CAP launcher
This repository does not include IC-CAP projects, measurement data, vendor documentation, or licensed software. Functional validation must be performed in a licensed IC-CAP environment.
License and trademarks
The project is released under the MIT License.
This is an independent open-source project. It is not affiliated with, endorsed by, or sponsored by Keysight Technologies. IC-CAP and Keysight are trademarks of their respective owner.
Installing IC CAP Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Solitario119/iccap-mcp-serverFAQ
Is IC CAP Server MCP free?
Yes, IC CAP Server MCP is free — one-click install via Unyly at no cost.
Does IC CAP Server need an API key?
No, IC CAP Server runs without API keys or environment variables.
Is IC CAP Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install IC CAP Server in Claude Desktop, Claude Code or Cursor?
Open IC CAP Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare IC CAP Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
