Funky Junction
Provides tools for electromagnetic simulation using Octave/OpenEMS, including creating CPW simulations, running full-wave analysis, extracting S-parameters, analyzing impedance, and exporting results in various formats.
Enables quantum circuit design using Qiskit Metal, with tools for creating designs, configuring CPW parameters, adding transmon qubits and couplers, routing transmission lines, exporting to GDS format, and visualizing with KLayout.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Funky Junctiondesign a transmon qubit with 50Ī© CPW lines and simulate its impedance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Funky Junction
Quantum Hardware Optimization Platform
A comprehensive MCP server ecosystem for quantum circuit design using Qiskit Metal and electromagnetic simulation via Octave/OpenEMS.
Built by Team Silicon Architects at the Stanford MCP x Quantum Science Hackathon 2025
Team Members: Sarah Dweik, Sebastien Boussard, Paul Goldschmidt, & Gabriel Dupuis
Related MCP server: qiskit-sim-mcp
š Features
š§ Quantum Circuit Design: Complete design workflow with Qiskit Metal
ā” EM Simulation: Full-wave electromagnetic analysis using Octave/OpenEMS
š Optimization Loops: Automated parameter optimization with convergence detection
š Learning Resources: Python examples and research paper access
š¤ Dual MCP Architecture: 25+ specialized tools across two integrated servers
š Installation
Prerequisites
Python 3.8+, Octave 4.0+, OpenEMS, Git
Quick Install
# Clone repository
git clone https://github.com/PaulGoldschmidt/qsim-mcp.git
cd qsim-mcp
# Install Python dependencies
pip install -r requirements.txt
# Install system dependencies (Ubuntu/Debian)
sudo apt update && sudo apt install octave openems
# Verify installation
python -c "import qiskit_metal; print('ā Qiskit Metal ready')"
octave --version && openEMS --versionš Quick Start
Start Both MCP Servers:
# Terminal 1 - Qiskit Metal Server
cd src/qiskit-metal-mcp && python quantum_hardware_mcp_server.py
# Terminal 2 - Octave OpenEMS Server
cd src/octave-mcp && python octave_openems_server.pyBasic Optimization Workflow:
# 1. Design Phase
create_design()
set_design_variables(cpw_width='10um', cpw_gap='6um')
create_transmons(q1_pos_x='-2.5mm', q2_pos_x='2.5mm')
export_design_to_gds('./quantum_design.gds')
# 2. Simulation Phase
create_cpw_octave_simulation(name='opt_v1', width=10.0, gap=6.0)
run_octave_simulation('opt_v1')
# 3. Analysis & Iteration
analyze_octave_impedance('opt_v1')
# Adjust parameters if needed and repeat
# 4. Export Results
export_octave_results('opt_v1', export_format='touchstone')š Project Structure
qsim-mcp/
āāā src/
ā āāā qiskit-metal-mcp/ # Quantum circuit design server
ā ā āāā quantum_hardware_mcp_server.py
ā ā āāā requirements.txt
ā āāā octave-mcp/ # EM simulation server
ā ā āāā octave_openems_server.py
ā ā āāā requirements.txt
ā āāā resources/ # Examples and papers
āāā requirements.txt # Combined dependencies
āāā README.mdš§ Available Tools
Qiskit Metal Design Tools
create_design()- Initialize quantum circuit designset_design_variables()- Configure CPW parameters (cpw_width,cpw_gap)create_transmons()- Add transmon qubits with positioningadd_coupler()- Create spiral inductors (n_turns,spacing)connect_components()- Route CPW transmission linesexport_design_to_gds()- Export for fabricationvisualize_gds_with_klayout()- Professional visualization
Octave/OpenEMS Simulation Tools
create_cpw_octave_simulation()- Set up EM simulationrun_octave_simulation()- Execute full-wave analysisextract_octave_s_parameters()- Analyze S11, S21 parametersanalyze_octave_impedance()- Verify 50Ī© characteristic impedanceexport_octave_results()- Export to Touchstone, CSV, JSONlist_octave_simulations()- View completed simulations
š Optimization Workflow
Set Targets: Define optimization goals (impedance, Q-factor, coupling)
Design: Create/modify quantum circuit components in Qiskit Metal
Simulate: Run electromagnetic analysis with synchronized parameters
Analyze: Compare results against targets
Iterate: Adjust parameters until convergence
Export: Generate GDS files and simulation reports
āļø Configuration
MCP Client Setup:
{
"mcpServers": {
"qiskit-metal": {
"command": "python3",
"args": ["src/qiskit-metal-mcp/quantum_hardware_mcp_server.py"]
},
"octave-openems": {
"command": "python3",
"args": ["src/octave-mcp/octave_openems_server.py"]
}
}
}š§ Troubleshooting
System Requirements Issues:
# Install missing dependencies
sudo apt install octave openems # Ubuntu/Debian
brew install octave # macOS
# Check installations
check_octave_openems_status()
check_status()Common Solutions:
Simulation timeout: Increase timeout in
config.jsonMemory issues: Use
clear_octave_data("all")Permission errors: Check file paths and write permissions
š” Example: Complete Optimization
# Target: 50Ω ±5% characteristic impedance
targets = {'impedance': 50.0, 'tolerance': 2.5}
for iteration in range(1, 6):
# Design with current parameters
set_design_variables(cpw_width=f'{current_width}um', cpw_gap=f'{current_gap}um')
# Simulate
create_cpw_octave_simulation(name=f'iter_{iteration}',
width=current_width, gap=current_gap)
run_octave_simulation(f'iter_{iteration}')
# Analyze and check convergence
results = analyze_octave_impedance(f'iter_{iteration}')
if within_tolerance(results, targets):
print(f"ā
Converged in {iteration} iterations!")
break
# Adjust parameters for next iteration
current_width, current_gap = optimize_parameters(results, targets)
# Export final design
export_design_to_gds('./optimized_quantum_chip.gds')
export_octave_results(f'iter_{iteration}', 'touchstone')š License
MIT License - see LICENSE file for details.
š¤ Contributing
Contributions welcome! Create an issue or submit a pull request.
Built with ā¤ļø by Team Silicon Architects for the quantum computing community
This server cannot be deployed
Maintenance
Related MCP Connectors
QuLab MCP remote server (Streamable HTTP) for computational science and lab tools.
Research-only MCP server: your AI as a quant research desk. 90 tools, no trades, no brokers.
Production-grade cryptography toolkit with 31 MCP tools for classical, PQC, and KMS workflows.
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables quantum systems analysis and simulation including quantum circuits, open quantum systems, quantum chemistry calculations, many-body physics, quantum machine learning, and quantum field theory computations.1MIT
- FlicenseAqualityDmaintenanceThis MCP server enables Claude Desktop to create, visualize, and simulate quantum circuits using Qiskit and Qiskit Aer, with support for preset circuits, custom QASM, and noise modeling.3-
- AlicenseNot gradedqualityCmaintenanceMCP server exposing Qiskit quantum computing functionality through the Model Context Protocol. Enables LLMs to create, manipulate, and execute quantum circuits via standardized MCP tools and resources.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for quantum device physics laboratory instrumentation control, enabling LLMs to interact with physics instruments and measurement systems through QCodes and JupyterLab.36MIT