Skip to main content
Glama

tqs-mcp

MCP server for TQS, the Brazilian structural engineering CAD/analysis system, built on the TQS Python Interface.

It lets Claude Code (or any MCP client) read building models, extract data from TQS drawings, run structural processing, and script against the TQS API.

Unofficial and independent. TQS® is a trademark of TQS Informática Ltda.

Requirements

  • Windows with TQS installed (the modules bind to native TQS DLLs)

  • The TQS Python Interface wheel installed in some Python 3.10+ interpreter:

    pip install TQSPythonInterface-1.2.1-py310-none-any.whl

    Get it from tqs.com.br/developers.

  • Python 3.10+ to run this server

The server itself does not need TQS in its own interpreter. It runs all TQS work in a subprocess under whichever interpreter has the TQS package — point TQS_PYTHON at it. That keeps the server alive if a TQS DLL crashes, and lets this server run on a modern Python while TQS code runs on the version its wheel was built for.

Related MCP server: Bonsai-mcp

Install

git clone https://github.com/carlostavares-manager-MNGT/tqs-mcp
cd tqs-mcp
uv sync

Configure

Add to Claude Code:

claude mcp add tqs -e TQS_PYTHON=C:\\TQSW\\Python\\python.exe -e TQS_ROOT=C:\\TQS -- uv --directory C:\\path\\to\\tqs-mcp run tqs-mcp

Or edit the MCP config directly:

{
  "mcpServers": {
    "tqs": {
      "command": "uv",
      "args": ["--directory", "C:\\path\\to\\tqs-mcp", "run", "tqs-mcp"],
      "env": {
        "TQS_PYTHON": "C:\\TQSW\\Python\\python.exe",
        "TQS_ROOT": "C:\\TQS"
      }
    }
  }
}

Variable

Meaning

Default

TQS_PYTHON

Interpreter with the TQS package installed

the server's own interpreter

TQS_ROOT

Root of the building tree

none — pass paths explicitly

TQS_MCP_TIMEOUT

Default subprocess timeout, seconds

120

Run tqs_status first. It reports the interpreter in use, which TQS modules import, and the TQS folders — and tells you what to fix if TQS is unreachable.

Tools

Tool

What it does

tqs_status

Is TQS reachable? Which interpreter, modules, folders

tqs_list_buildings

Find buildings (folders with EDIFICIO.DAT) under a root

tqs_building_read

Project metadata, model, floors, concrete strengths, covers, loads

tqs_building_edit

Change building properties and save — dry-run by default

tqs_dwg_read

Drawing metadata, extents, levels, blocks, entity counts, entities

tqs_process

Run TQSExec tasks — global processing, drawings, rebar schedules

tqs_introspect

List the installed TQS API's real methods and properties

tqs_run_script

Run arbitrary Python with TQS importable — the escape hatch

tqs_reference

Bundled offline API reference, browsable and searchable

tqs_building_edit, tqs_process and tqs_run_script modify project files and are annotated as such, so MCP clients prompt before running them.

The reference topics are also exposed as MCP resources under tqs://reference/.

Why tqs_introspect exists

TQS's published docs cover part of the API. Rather than guess at property names, ask the installed version:

tqs_introspect(target="TQSBuild.Building.floorsplan")
tqs_introspect(target="TQSDwg", filter="DWGTYPE")

Examples

Audit concrete strengths across a project

Read the building at C:\TQS\EDIF-A and tell me the concrete strength per floor.

Pull rebar callouts out of a drawing

From C:\TQS\EDIF-A\PAV1\VIGAS.DWG, extract all TEXT entities containing "Ø" and group them by level.

Reprocess after a change

Set beam cover to 3.0 cm in EDIF-A, then run global processing on the frames folder and regenerate the rebar schedule.

Anything else

# via tqs_run_script
from TQS import TQSDwg
dwg = TQSDwg.Dwg()
dwg.file.Open("PLANTA.DWG")
result = {"limits": dwg.limits.DwgLimits(), "scale": dwg.settings.scale}

Development

uv sync
uv run pytest

The test suite runs without TQS installed — it covers the tool surface, driver framing, and the absent-TQS error paths.

Status

The MCP layer, the subprocess bridge, and every driver's framing and error path are tested and working. The TQS API calls inside the drivers are written from the official documentation but have not been exercised against a live TQS install — that hardware wasn't available here. Expect to need tqs_introspect to correct property names on first real use, particularly:

  • the floor-count property on floorsplan (the driver probes several candidates)

  • the return shape of loads.GetLoad()

  • TaskGlobalProc parameter names beyond those in the docs

Corrections via issue or PR are welcome.

Layout

src/tqs_mcp/
  server.py      MCP tools
  bridge.py      subprocess protocol (sentinel-framed JSON)
  config.py      environment variables
  drivers/       scripts executed inside the TQS interpreter
  reference/     bundled API docs, served as tools and resources

Drivers are plain scripts, so they can be run and debugged directly:

echo {} > args.json
C:\TQSW\Python\python.exe src/tqs_mcp/drivers/status.py args.json

License

MIT — see LICENSE.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

View all related MCP servers

Related MCP Connectors

  • MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

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/carlostavares-manager-MNGT/tqs-mcp'

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