RSAP MCP
This MCP server enables AI assistants (Claude, Codex) to control Autodesk Robot Structural Analysis Professional via natural language, covering the full structural engineering workflow from model creation to results extraction. Key capabilities include:
Session & Project Management: Connect to or launch Robot, check status, create new projects (2D/3D frames, trusses, shells, plates, grillages), open, save, and close .rtd files.
Structural Modeling: Add individual or bulk nodes and bars, list and delete objects using Robot selection strings (e.g., '1to10'), and manage geometry.
Sections & Materials: Define sections from profile databases (IPE, HEA, etc.) and materials from built-in or custom elastic properties, assign to bars, and list defined sections.
Boundary Conditions: Define pinned, fixed, roller, or custom supports with full translational and rotational restraint control, and assign to nodes.
Loads & Combinations: Create load cases with nature and analysis type, add self-weight, nodal forces/moments, uniform and point loads on bars, and define load combinations (ULS/SLS) with custom factors.
Analysis: Generate FE mesh for shell/plate models, run structural analysis, and check calculation status.
Results Extraction: Retrieve bar internal forces (axial, shear, bending, torsion) at points or as envelopes, nodal displacements, support reactions, and a results summary (peak displacement, peak moment) per load case.
Provides tools for interacting with Autodesk Robot Structural Analysis Professional, enabling AI agents to create structural models, apply loads, run analyses, and retrieve results via the RobotOM COM API.
Click on "Install 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., "@RSAP MCPBuild a 6x4m portal frame in S235, fix bases, add 10 kN/m roof load, analyze, get reactions."
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.
RSAP MCP — Robot Structural Analysis ↔ Claude
MCP server cho Autodesk Robot Structural Analysis Professional 2027 — dùng với Claude hoặc Codex.
Mục lục / Contents
Related MCP server: Civil3D MCP Server
Yêu cầu / Requirements
OS | Windows 10/11 (64-bit) |
Robot | Robot Structural Analysis Professional 2027, đã cài & mở ít nhất một lần |
Python | 3.10+, 64-bit |
uv |
|
Host | Claude Desktop hoặc Codex |
Bước 1 — Cài đặt / Install
git clone https://github.com/nhantruong96/rsap-mcp.git
cd rsap-mcp
uv syncChạy lại uv sync sau mỗi git pull.
Kiểm tra (không cần Robot):
uv run python -m rsap_mcp --selfcheck
# -> [selfcheck] 35 tools registered ... OKTùy chọn thêm / optional extras:
uv sync --extra dev # + ruffTùy chọn — chép .env.example thành .env rồi sửa RSAP_VISIBLE, RSAP_INTERACTIVE,
RSAP_AUTO_CONNECT, RSAP_LOG_LEVEL, RSAP_LOG_FILE, RSAP_PROJECT_DIR.
Không có uv:
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1Bước 2 — Đăng ký với Claude Desktop / Register with Claude Desktop
powershell -ExecutionPolicy Bypass -File .\scripts\register_claude_desktop.ps1Hoặc sửa tay %APPDATA%\Claude\claude_desktop_config.json: chép một trong hai khối dưới đây,
thay C:\path\to\rsap-mcp bằng đường dẫn thật (mẫu: config/claude_desktop_config.example.json).
A. Qua uv — khuyến nghị:
{
"mcpServers": {
"rsap": {
"command": "uv",
"args": ["--directory", "C:/path/to/rsap-mcp", "run", "rsap-mcp"]
}
}
}B. Trỏ thẳng Python của venv — khi uv không có trong PATH của Claude Desktop:
{
"mcpServers": {
"rsap": {
"command": "C:\\path\\to\\rsap-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "rsap_mcp"],
"env": {
"PYTHONPATH": "C:\\path\\to\\rsap-mcp\\src",
"RSAP_VISIBLE": "true",
"RSAP_LOG_LEVEL": "INFO"
}
}
}
}Sau khi sửa: thoát hẳn rồi mở lại Claude Desktop.
Log: %APPDATA%\Claude\logs\mcp-server-rsap.log.
Bước 3 — Dùng thử / First run
Mở Claude Desktop và ra lệnh bằng lời:
"Kết nối Robot, tạo dự án khung 2D, dựng khung cổng nhịp 6 m cao 4 m bằng thép S235 IPE300, ngàm 2 chân, thêm trọng lượng bản thân và tải mái 10 kN/m, chạy tổ hợp ULS 1.35×TT+1.5×HT rồi cho biết phản lực chân cột và mô men lớn nhất ở xà."
"Connect to Robot, make a 2D frame, build a 6×4 m portal in S235 IPE300, fix both bases, add self-weight and a 10 kN/m roof load, run a 1.35G+1.5Q ULS combination, then tell me the base reactions and peak rafter moment."
Trình tự chuẩn / the workflow:
connect → new_project → add_nodes → add_bars → define_section/material → assign →
define_support → assign_support → add_load_case → add_*_load → add_combination →
calculate → bar_forces / node_displacement / node_reaction → save_projectĐơn vị: m, N, N·m.
Chuỗi chọn đối tượng:
'1to10','1 2 3','1to20by2'.Chờ lâu ở tool đầu tiên — Robot đang mở.
Dùng với Codex / Use with Codex
Mở
C:\Users\<YOU>\.codex\config.toml(macOS/Linux:~/.codex/config.toml).Thêm khối sau, sửa đường dẫn (mẫu:
config/codex_config.example.toml):[mcp_servers.rsap] enabled = true command = 'C:\path\to\rsap-mcp\.venv\Scripts\python.exe' args = ["-m", "rsap_mcp"] startup_timeout_sec = 30 tool_timeout_sec = 600 # rsap_calculate chạy lâu default_tools_approval_mode = "prompt" # "auto" nếu không muốn hỏi từng tool [mcp_servers.rsap.env] RSAP_VISIBLE = "true" RSAP_INTERACTIVE = "true" RSAP_AUTO_CONNECT = "true" RSAP_LOG_LEVEL = "INFO"Hoặc thêm bằng một dòng lệnh / or add it with the CLI:
codex mcp add rsap --env RSAP_VISIBLE=true --env RSAP_AUTO_CONNECT=true -- ` "C:\path\to\rsap-mcp\.venv\Scripts\python.exe" -m rsap_mcpKiểm tra:
codex mcp list.Thoát hẳn và mở lại app Codex, gõ
/mcpđể thấyrsapvà 35 tools.
Giới hạn tool: thêm enabled_tools = [...] hoặc disabled_tools = [...] vào khối [mcp_servers.rsap].
Kiểm thử bằng client rời / Test with the standalone client
uv run python client\test_client.py # liệt kê tool qua MCP thật
uv run python client\test_client.py --call rsap_status
uv run python client\examples\01_portal_frame.py # end-to-end (cần Robot)
uv run ruff check . # lintThêm công cụ mới / Add a new tool
Mở module phù hợp trong
src/rsap_mcp/tools/(project_,modeling_,property_,support_,load_,analysis_,results_tools.py).Viết hàm bên trong
register(mcp), gắn@mcp.tool()rồi@com_call, kèm type hints và docstring Google-style:def register(mcp): @mcp.tool() @com_call def rsap_count_objects() -> dict: """Return node and bar counts.""" c = conn() return {"nodes": c.count(c.nodes), "bars": c.count(c.bars)}Gọi hằng RobotOM bằng tên qua
const("I_..."), không ghi số trực tiếp.Trả về
dicthoặc model Pydantic; lỗi thìraise.Không dùng
print(); log quaconfig.py.Chạy
uv run python -m rsap_mcp --selfcheckvàuv run ruff check ..
Danh sách công cụ / Tool list
35 tool (tiền tố rsap_) và 3 resource. Dấu * = tham số bắt buộc.
Session & Project
Tool | Mô tả / Description | Tham số / Parameters |
| Connect to (or launch) Autodesk Robot Structural Analysis Professional. |
|
| Report connection status and a summary of the current Robot model. | (none) |
| Create a new, empty Robot project. |
|
| Open an existing Robot model from an absolute .rtd path. |
|
| Save the current model. Pass a path to Save As, or omit to Save in place. |
|
| Close the current project (Robot itself stays open). | (none) |
Modeling
Tool | Mô tả / Description | Tham số / Parameters |
| Create a single node at the given coordinates (metres). |
|
| Create many nodes at once. |
|
| Create a bar (beam/column) between two existing nodes, optionally assigning section/material. |
|
| Create many bars at once. |
|
| List nodes with their coordinates. |
|
| List bars with their start/end node numbers. |
|
| Delete nodes or bars matching a selection string. |
|
Sections & Materials
Tool | Mô tả / Description | Tham số / Parameters |
| Define a bar section label by loading a profile from Robot's active database. |
|
| Define a material label, either loaded from Robot's material database or from explicit properties. |
|
| Assign an existing section label to a set of bars. |
|
| Assign an existing material label to a set of bars. |
|
| List the names of section labels defined in the model. | (none) |
Supports
Tool | Mô tả / Description | Tham số / Parameters |
| Define a support (boundary condition) label. True = restrained. |
|
| Assign an existing support label to a set of nodes. |
|
Loads & Combinations
Tool | Mô tả / Description | Tham số / Parameters |
| Create a simple load case. |
|
| Add a self-weight (dead) load to a case. |
|
| Add a nodal force/moment to a case (global axes). |
|
| Add a uniformly distributed load along bars. |
|
| Add a concentrated (point) force/moment on bars. |
|
| Create a load combination from weighted load cases. |
|
| List load cases and combinations in the model. | (none) |
Analysis
Tool | Mô tả / Description | Tham số / Parameters |
| Generate the finite-element mesh. | (none) |
| Run the structural analysis (solve the model). | (none) |
| Report whether analysis results are currently available. | (none) |
Results
Tool | Mô tả / Description | Tham số / Parameters |
| Internal forces at a point along a bar (local axes). |
|
| Sample a bar along its length and return the extreme internal forces. |
|
| Nodal displacement (global axes). |
|
| Support reaction at a node (global axes). |
|
| Summarise results for a case: peak nodal displacement and peak bar moment. |
|
Resources
URI | Nội dung / Content |
| Bản đồ friendly → hằng RobotOM. |
| Hướng dẫn tiết diện & vật liệu. |
| Quy trình end-to-end. |
Tham chiếu RobotOM COM API để mở rộng server: docs/RobotOM_API_Reference.md.
Xử lý sự cố / Troubleshooting
Triệu chứng / Symptom | Xử lý / Fix |
Server không hiện trong Claude | Kiểm tra |
| Thoát hẳn & mở lại Codex; chạy |
| Mở Robot một lần để đăng ký type library; đối chiếu tên hằng trong |
Kết nối COM thất bại | Dùng Python 64-bit; kiểm tra Robot đã cài đúng bitness. |
Giao thức hỏng ngay khi khởi động | Tìm thư viện đang in ra stdout; chuyển log sang stderr/file. |
| Đang dùng |
| Chạy qua venv: |
| Chạy |
| Đặt đúng CSDL tiết diện/vật liệu trong Job Preferences (IPE300 cần catalog châu Âu). |
Treo khi Calculate | Đóng hộp thoại đang chờ trong cửa sổ Robot. |
Tool đầu tiên rất chậm / timeout | Robot đang khởi động — tăng |
Model gọi tool sai thứ tự | Nhắc trong prompt "làm tuần tự theo cheatsheet". |
Cấu trúc thư mục / Repository layout
rsap-mcp/
├── src/rsap_mcp/ # MCP server (server.py, robot_app.py, com_utils.py,
│ │ # enums.py, config.py)
│ ├── tools/ # 35 tool rsap_* theo nhóm
│ ├── models/ # pydantic schemas
│ └── resources/ # rsap://reference/*
├── client/ # client MCP rời + examples
├── scripts/ # install / run / register (PowerShell)
├── config/ # claude_desktop_config.example.json, codex_config.example.toml
├── native/RsapHelper/ # DLL C# tùy chọn
├── docs/ # RobotOM_API_Reference.md
├── pyproject.toml
└── uv.lock # `uv sync` đọc file nàyLicense
MIT. © 2026 PORTCOAST Taskforce.
Maintenance
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
- Alicense-qualityDmaintenanceEnables users to control AutoCAD, GstarCAD, or ZWCAD through natural language via Claude Desktop. It provides tools for drawing geometric shapes, adding text and dimensions, and managing CAD files using the Windows COM interface.Last updated2MIT
- Alicense-qualityDmaintenanceConnects Claude to a running Autodesk Civil 3D instance via COM automation to perform drawing, surface, alignment, COGO point, line, and corridor operations.Last updated7MIT
- AlicenseAqualityBmaintenanceEnables Claude Desktop to control FreeCAD for 3D CAD modeling, including creating, editing, and deleting objects, executing Python code, and running FEM analyses.Last updated14MIT
- Alicense-qualityDmaintenanceEnables programmatic control of AutoCAD through COM automation, allowing natural language commands to create structures, manage layers, and manipulate entities via MCP clients like Claude.Last updated54Apache 2.0
Related MCP Connectors
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/nhantruong96/rsap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server