Skip to main content
Glama
SorataYang

Qiao-MCP

by SorataYang

šŸŒ‰ Qiao-MCP

English Ā· 简体中文

Full-lifecycle bridge structural analysis — modeling, staging, code checks
ę”„ę¢å…Øčæ‡ēØ‹ē»“ęž„åˆ†ęž MCP ęœåŠ”å™Ø — å»ŗęØ”ć€ę–½å·„é˜¶ę®µć€č§„čŒƒéŖŒē®—

Qiao-MCP is a Model Context Protocol (MCP) server that enables AI assistants to interact with bridge structural analysis software. It provides tools for creating bridge models, applying loads, running structural analysis, and reviewing results.

Features

šŸ”§ Tools (132 tools, grouped)

Tools are organized by workflow area. Highlights per group:

Group

Representative tools

Core modeling

create_nodes_linear, create_beam_elements_linear, create_material, create_section (all parametric section types), create_polygon_section

Loads

create_load_group, create_load_case, set_self_weight_stage, set_gravity, apply_nodal_force, apply_beam_distributed_load, temperature/settlement loads

Boundary

set_support, add_elastic_link, add_master_slave_link, add_elastic_support, add_beam_constraint

Groups

create_structure_group, add_to_structure_group, merge_operation_stage

Stages & analysis

add_construction_stage, merge_operation_stage, configure_analysis, run_analysis (async, progress-reporting), get_analysis_results

Tendons

create_tendon_property, create_tendon_2d, apply_prestress, get_tendon_info

Traffic (moving load)

add_node_tandem, add_influence_plane, add_traffic_lane, add_standard_vehicle, create_live_load_case

Checking

setup_concrete_check, add_check_load_combination, add_parametric_reinforcement, run_concrete_check, get_check_data

Queries

get_model_info, get_model_data (by kind), find_entities, calc_section_property, get_special_results (paginated where applicable)

Modification

initialize_model, save_model_file, open_model_file, update_node, move_nodes, update_element, remove_nodes, remove_elements

Visualization

save_model_screenshot, plot_analysis_result (optionally return viewable images), set_view_angle, display_ids

Workflows

create_simple_beam_bridge, create_continuous_beam_bridge

Gateway & diagnostics

check_qiaotong_connection, list_qtmodel_api, call_qtmodel_api — diagnose the bridge connection or discover and call long-tail qtmodel methods with signature validation

Tool responses are normalized to structured content ({status, ...}), while image tools can return MCP image content directly. Tool failures use typed MCP errors, and read-only, destructive, and open-world operations carry MCP tool annotations. The server instructions include the full tool-group overview; use list_qtmodel_api before calling an uncovered backend method through the gateway.

šŸ“¦ Resources (7 resources)

URI

Description

bridge://model/summary

Model overview

bridge://model/materials

Material list

bridge://model/sections

Section list

bridge://model/load-cases

Load cases

bridge://model/stages

Construction stages

bridge://model/structure-groups

Structure groups

bridge://model/boundaries

Boundary conditions

šŸ’¬ Prompts (4 workflows)

Prompt

Description

design-simple-beam

Simple beam bridge design workflow (简支梁设讔)

design-continuous-beam

Continuous beam bridge design (čæžē»­ę¢č®¾č®”)

check-structure

Structural code checking (ē»“ęž„ę£€ē®—)

construction-stage-analysis

Construction stage analysis (ę–½å·„é˜¶ę®µåˆ†ęž)

Related MCP server: ETABS MCP Server

Architecture

qiao-mcp/
ā”œā”€ā”€ src/qiao_mcp/
│   ā”œā”€ā”€ server.py              # MCP server entry point
│   ā”œā”€ā”€ tools/                 # MCP Tools (envelope-wrapped)
│   ā”œā”€ā”€ resources/             # MCP Resources
│   ā”œā”€ā”€ prompts/               # MCP Prompts
│   └── providers/             # Backend adapters
│       ā”œā”€ā”€ __init__.py        # BridgeProvider abstract base
│       └── qtmodel_provider.py  # QiaoTong adapter
ā”œā”€ā”€ tests/                     # Offline unit, integration, and API contract tests
└── reference-docs/            # Review notes and project documentation

The Provider pattern keeps the 132 tools decoupled from any single backend. Select one with BRIDGE_PROVIDER; each provider declares its own software-specific rules, so the LLM adapts without prompt changes. Currently supports:

Adding a backend means implementing BridgeProvider and registering one line — no tool-layer changes. See Backend Selection.

Quick Start

Prerequisites

  • Python >= 3.11

  • uv package manager

  • qtmodel 2.6.3 (installed by uv sync)

  • QiaoTong software 2.6.3 running when calling backend model, analysis, or visualization operations

The MCP server can start without QiaoTong. Use check_qiaotong_connection to distinguish a connected server, a version mismatch, and software that is not running.

Install & Run

# Install dependencies
uv sync

# Run the server
uv run qiao-mcp

Configure in Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "qiao-mcp": {
      "command": "uv",
      "args": ["--directory", "/path/to/qiao-mcp", "run", "qiao-mcp"]
    }
  }
}

Configure in Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "qiao-mcp": {
      "command": "uv",
      "args": ["--directory", "/path/to/qiao-mcp", "run", "qiao-mcp"]
    }
  }
}

Configure in Reasonix (UI)

Open Settings → MCP & Tools, then add a new MCP server:

  • Name: qiao-mcp

  • Transport: stdio (keep default)

  • Command: uv --directory /path/to/qiao-mcp run qiao-mcp

    • Replace /path/to/qiao-mcp with your actual project path

    • Windows: use backslashes D:\path\to\qiao-mcp

    • macOS/Linux: use forward slashes /path/to/qiao-mcp

  • Environment (optional): UV_PYTHON=3.11

Click Add to save.

Configure in Cherry Studio (UI)

Open 设置 → 扩展 → MCP Servers, then add a new server:

  • åē§° (Name): qiao-mcp

  • ęčæ° (Description): Optional description

  • ē±»åž‹ (Type): 标准输兄 / 输出 (stdio)

  • 命令 (Command): uv

  • åŒ…ē®”ē†å™Ø (Package Manager): Select 默认 (Default)

  • å‚ę•° (Args):

    /path/to/qiao-mcp
    run
    qiao-mcp

    (Each line is one argument, no --directory prefix needed)

    • Replace /path/to/qiao-mcp with your actual project path

Click äæå­˜ to save.

Test with MCP Inspector

npx @modelcontextprotocol/inspector uv run qiao-mcp

LAN debugging proxy

For cross-machine debugging, scripts/qiaotong_lan_proxy.py forwards a LAN-facing port to the QiaoTong API on the same machine. It uses 45125 for the proxy and forwards to the selected QiaoTong process on 127.0.0.1:55125:

python scripts/qiaotong_lan_proxy.py

Then point the client machine at:

from qtmodel import mdb

mdb.set_url("http://<proxy-machine-LAN-IP>:45125/pythonForQt/")

The proxy prints each forwarded request and response. When several QiaoTong processes are running, keep one process on 55125 for this fixed proxy, or use separate proxy instances and ports for separate processes.

An SSH tunnel is an alternative that does not expose the API port on the LAN:

ssh -N -L 45125:127.0.0.1:55125 <user>@<qiaotong-machine-LAN-IP>

Use http://127.0.0.1:45125/pythonForQt/ in the client machine while the tunnel is running.

Development

# Install in dev mode (includes ruff, mypy, pytest)
uv sync

# Run directly
uv run python -m qiao_mcp.server

# Quality gate (same checks as CI)
uv run ruff check src/ tests/
uv run mypy src/qiao_mcp/
uv run pytest tests/ -q

The test suite is designed to run offline — it does not require the QiaoTong software. Provider/tool calls are validated against the installed qtmodel API signatures (contract tests) and dispatched against an in-process fake backend.

Backend: QTModel (ꔄ通)

This MCP server wraps the qtmodel Python API which provides access to:

  • mdb — Model database: building & modifying bridge models

  • odb — Output database: querying analysis results & visualization

  • cdb — Check database: structural verification & code checking

Versioning

Qiao-MCP versions independently from qtmodel — the project iterates on its own (bug fixes, new tools, docs) without waiting for a backend release, and a backend release does not force a version bump here. The backend requirement is expressed where it belongs: in the dependency constraint.

Compatibility

Qiao-MCP

qtmodel

QiaoTong software

0.3.x

2.6.3 – 2.6.x

2.6.3

0.2.x

2.5.0 – 2.5.x

2.5.0

The QiaoTong software API version and the installed qtmodel must match exactly — qtmodel 2.6+ performs a precise version handshake and refuses to connect otherwise. Run check_qiaotong_connection to see both versions and what to do when they differ.

0.x signals the API is still free to change; it is not a statement about release quality. When moving to a new qtmodel minor line, raise the dependency bound and add a row to the table above.

License

Copyright 2026 Sorata (https://github.com/SorataYang)

Licensed under the Apache License, Version 2.0. See LICENSE. Additional attribution notices are available in NOTICE.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Connects AI assistants to CSI ETABS for structural engineering tasks, enabling model creation, analysis, design, and seismic checks via the COM API.
    69
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with Autodesk Civil 3D through natural language, supporting tools for surfaces, alignments, profiles, corridors, pipe networks, COGO points, and AutoCAD geometry.
    9
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to interact with Bentley STAAD.Pro models for tasks like load case definition, data extraction, and property setting, running locally with multi-instance support and no cloud dependency.
    5
    MIT

View all related MCP servers

Related MCP Connectors

  • AI-callable calculators and engineering models with real formulas. No hallucinated math.

  • Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.

  • AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SorataYang/qiao-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server