
T32 Mcp Server
io.github.ormastes由 GitHub 账号 ormastes 发布v0.9.8更新于 Oct 25, 2026
TRACE32 debugger MCP — session, dialog, field, history, resource inspection
概览
该 MCP 服务器用于驱动 Lauterbach TRACE32 调试器会话,向助手提供会话、对话框、字段、历史与资源检查能力。
- 可以做什么
- 控制实时 TRACE32 调试会话:启动、连接与管理会话。
- 操作调试器对话框及其字段,读取和设置取值。
- 查看命令历史与调试器资源。
- 执行常见调试流程,例如设置断点、运行至断点并读取寄存器或局部变量。
- 适用场景
- 适合已经使用 Lauterbach TRACE32 硬件调试、希望由助手代为驱动会话、对话框和检查任务而不必手写 PRACTICE 命令的场景。它属于可选工具,不在默认配置中。
- 运行要求
- 以本地 stdio 进程在用户机器上运行(仅桌面端),通过 npm 包安装。它控制实时 TRACE32 环境,因此需要本地 TRACE32 安装及其厂商运行时文件;README 说明厂商文件须来自本地 /opt/t32 安装。未声明任何认证或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 T32 Mcp Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Simple Language
[Production Ready] [Tests] [LLVM Cross] [License]
Simple is a self-hosted language and toolchain that combines a readable Python-like surface with compiler-integrated testing, documentation, architecture rules, and baremetal-oriented execution paths.
The repo is unusually broad: language, compiler, interpreter, loader, test runner, doc generation, traceability tooling, SDN-backed project databases, editor tooling, and hardware-oriented test flows all live together.
Quick Navigation: Distinctive Features | Feature Status | Quick Start | Language Basics | Examples | Editor Plugins | Documentation
Distinctive Features
- Self-hosted staged toolchain: real source layers for frontend, type analysis, borrow checking, backend, driver, interpreter, and loader live in-tree.
- Verification-native workflow: SSpec tests, the SPipe runner/docgen process, SDoctest executable docs, coverage, traceability checks, and generated spec docs are part of the toolchain rather than bolted on.
- MDSOC architecture support: virtual capsules, manifests, and architecture-aware repository structure are first-class concepts.
- Parser-friendly macro system: macro definitions, expansion, validation, and hygiene are compiler features rather than editor-hostile text substitution.
- Math-oriented syntax blocks:
m{},loss{}, andnograd{}are implemented syntax with parsing, evaluation, five rendering backends (text, debug, Unicode, LaTeX, Markdown), and editor integration (query/LSP hover, VSCode highlighting/preview, Neovim inline Unicode preview with conceal). The autograd path is complete for the promoted torch-backed C/LLVM scope. - SDN-backed textual databases: tests, todos, dashboards, and other project metadata are stored through repo-native SDN data flows.
- Multiple execution paths: interpreter, loader, SMF/module loading, and native/LLVM-oriented compilation paths coexist in one system.
- Baremetal-oriented build and test plumbing: QEMU, semihosting, MMIO mailbox, remote baremetal flows, and adapter-backed hardware lanes (8 authoritative) are built into the repo story.
- Tooling-aware language rules: Tree-sitter integration, primitive-public-API linting, traceability tooling, and language statistics are part of the platform.
- Shared UI contract across supported surfaces: one HTTP-based test protocol (Protocol V1) with
UITestClientdrives both the web backend and the TUI-web proxy through a sharedhandle_test_requesthandler, verified by a cross-surface contract suite. Contract: doc/04_architecture/shared_ui_contract.md
Feature Status Highlights
Implemented and safe to advertise:
- SSpec tests, SPipe runner/docgen, SDoctest, coverage, traceability checks, and generated spec docs
- SPipe mock policy: system-test mock ban, HAL-only and custom pattern modes
- Self-hosted staged compiler, interpreter, and loader architecture
- MDSOC manifests and architecture-focused project structure
- Parser-friendly macros with validation and hygiene
- Tree-sitter outline/query tooling
- SDN-backed project, test, and todo databases
- Primitive-public-API linting and semantic wrapper/unit-type patterns
- Borrow-checking infrastructure
- Watch mode and auto-build support
- mmap-backed loader support and executable-memory plumbing
- Baremetal build/test plumbing and host-aware remote baremetal flows
- C/C++ bidirectional SFFI for the supported ABI subset: exports, imports, callback trampolines, layout verification, and round-trip proof tests
Implemented, but best described with qualifiers:
- LLVM full-family closure is complete for the declared public matrix: every
llvm-libandllvmbackend row is now explicitlystableorunsupported, with no ambiguous middle states.rust-llvmremains a bootstrap-only seed path outside the public family claim - Lean verification workflow is complete for the supported verification subset: deterministic Lean generation, proof artifact inventory, Lean/Lake checking, cache invalidation, and verification-state reporting. Contract: doc/04_architecture/lean_verification_contract.md. Report: doc/09_report/lean_verification_complete_2026-04-04.md
- GC and no-GC runtime families: 5 public families (
common,nogc_sync_mut,nogc_async_mut,gc_async_mut,nogc_async_mut_noalloc) with compiler boundary enforcement, interpreter warnings, and target preset mapping. Support matrix: doc/04_architecture/runtime_family_support_matrix.md - Shared UI contract across web backend and TUI-web proxy (Protocol V1): shared handler, structured error model, stable element IDs, cross-surface contract suite — but this is a shared test protocol, not a full unified UI rendering layer
- Remote baremetal execution has 8 authoritative lanes (3 stable + 5 host-aware including both GHDL semihost and mailbox simulation), but hardware-dependent lanes remain host- and board-aware rather than universally complete. Lane matrix: doc/08_tracking/lane_matrix.md
Implemented with bounded scope:
m{}/loss{}/nograd{}are complete for the promoted torch-backed C/LLVM scope, including backward, detached-input failure, andnograd{}restore semantics. Other backends remain deferred- AOP provides predicate-based pointcuts (
execution,within,attr), deterministic before/after/around advice, compile-time weaving as the default backend, and scoped runtime interception. Support matrix: doc/05_design/aop_support_matrix.md - VHDL backend compiles a documented hardware-oriented Simple subset to synthesizable VHDL-2008, validated through GHDL analysis/elaboration. Strict fail-fast on unsupported constructs. Two GHDL RV32 simulation lanes are operational: semihost (GDB-backed, ARM semihosting traps) and mailbox (debugger-independent, MMIO at 0x80FF0000 with ram_sentinel result collection). Support matrix: doc/04_architecture/vhdl_support_matrix.md. Mailbox protocol: doc/04_architecture/ghdl_rv32_mailbox_protocol.md
Implemented:
- Anti-dummy / anti-stub enforcement is active on the primary source and compiled CLI surfaces (
simple lint,simple verify quality). All public-facing proof suites (SFFI, T32 hardware, compiler/runtime/system) now pass the gate. Remaining debt is only in deferred OS/GPU/experimental areas — all active surfaces are clean.
See doc/report/unique_features.md for the evidence-backed audit.
Runtime Families
Simple organizes its standard library into runtime families based on allocation, mutation, and concurrency requirements:
The compiler enforces family boundaries: importing a GC module from a no-GC context produces a diagnostic warning. Target presets (Baremetal, Hosted, EmbeddedWithHeap) automatically restrict module resolution to compatible families.
For advanced use: nogc_async_immut provides persistent data structures with lock-free concurrency.
See Runtime Family Support Matrix for full contracts, and Known Limitations for current caveats.
Quick Start
Installation
What you get:
- Complete Simple compiler and toolchain source
- Standard library and generated spec manuals
- Development tools, including MCP server, LSP, and debugger surfaces
Use a source checkout for the current beta. It also initializes the example and tooling submodules used by the docs and tests:
For an existing checkout:
Note: Rust remains present as the bootstrap seed and host substrate. Product compiler, library, and tool work should stay in Simple source wherever the repo can express it; do not read "pure Simple" as "there is no Rust source in this checkout" today.
Source Footprint
Snapshot generated 2026-04-23 from existing tracked .spl, .rs, .c, .h, .s, .S, and .asm files. Blank lines and comment-only lines are excluded; examples/ code is included; vendored and third-party source is excluded.
From Source (Developers Only)
Only needed if you want to modify the runtime:
Direct commands behind the wrapper:
See doc/02_requirements/app/build/bootstrap.md and doc/03_plan/compiler/bootstrap/pure_simple_bootstrap_stage2_remaining_2026-05-04.md for the current bootstrap flow and remaining pure-Simple self-hosting notes.
Build with GPU Support
Your First Program
CLI Usage
The simple command works like Python:
Examples
Language Basics
Variables & Types
Control Flow
Functions
Structs & Classes
Collections
Unit Types (Postfix Literals)
Type-safe units prevent mixing incompatible values:
Pattern Matching
Parser-Friendly Macros
Simple macros are contract-first and LL(1) parseable - the IDE can provide autocomplete without expanding the macro:
Built-in macros:
Const-unrolled macro (generate multiple functions):
AOP & Aspect-Oriented Programming
Predicate-based pointcuts with compile-time weaving as the default execution model:
Supported selectors: execution(*), within(*), attr(*) with & (AND), | (OR), ! (NOT) operators.
Advice kinds: before, after_success, after_error, around (proceed exactly-once).
Ordering: priority (descending) > specificity > lexicographic name.
Zero overhead: no weaving metadata when no aspects are defined.
Runtime interception: scoped, opt-in only, disabled in release builds.
See AOP Support Matrix for the full contract.
SDN Configuration
Simple Data Notation - a minimal, token-efficient format for config files:
Load SDN in Simple:
SDoctest
Executable examples are part of the maintained test surface. Simple supports both demonstration blocks and verified sdoctest blocks, with sdoctest intended for examples that must run and match output.
Run SDoctest examples:
--doctest is still accepted as a compatibility alias, but --sdoctest is the clearer name for the implemented path.
In the canonical release command, the positional test selects the spec tree
only. --whole still discovers Markdown from config/sdoctest.sdn and comment
sdoctests from the production src/lib, src/compiler, and src/app roots.
Functional Update Operator (->)
GPU Computing
GPU Thread Indexers:
GPU Examples: See examples/gpu/vulkan/ for vector add, matrix multiply, reduction, and image blur.
Documentation
Quick Links by Topic
Core Documentation
Getting Started:
- Documentation Hub - Current entry point for the numbered doc tree
- Getting Started - Project setup and first steps
- Syntax Quick Reference - Canonical public syntax cheat sheet
- Testing Guide - Testing workflow and command surface
Language Reference:
- Syntax Guide - Surface syntax and examples
- Type System Guide - Types, mutability, and usage
- Module System Guide - Imports, packages, and layout
- Standard Library Guide - Stdlib organization and usage
GPU Computing:
- Deep Learning Guide - Pure Simple, model-oriented, and training flows
- GPU Programming Guide - Backend and kernel-oriented GPU usage
- GPU API - API-level GPU reference
- LLVM Backend Architecture - Backend implementation details
Development:
- Build Guide - Building Simple and common workflows
- Testing Guide - Test runner behavior and flags
- SSpec Scenario Manual Guide -
step(...), inline scenarios, capture, and generated manual style - Mock Policy Guide - System test mock ban and test level enforcement
- Coverage Guide - Coverage, SDoctest, and enforcement
- MCP Tooling Guide - MCP registration and usage
Advanced Features:
- Macro System - Executable macro spec and status
- AOP Support Matrix - Supported selectors, advice kinds, backends, and error codes
- SDN Format - Note/SDN storage and indexing format
- SDoctest - Documentation testing and verified examples
- Feature Documentation - Generated feature-doc artifact format
Examples
Deep Learning Examples
Simple ships multiple deep learning examples across pure-Simple, model-training, and GPU-oriented flows:
Pure Simple Neural Networks:
MedGemma Korean Fine-Tuning:
CUDA Programming:
See Deep Learning Guide for current documentation.
Other Examples
The examples/ directory contains additional working examples:
Run an example:
SSpec Scenario Manuals
Feature and system documentation is generated from executable SSpec .spl
scenarios. SPipe is the related runner/docgen process; SSpec is the authoring
style: write readable step("...") actions, keep executable assertions in the
same scenario, and let docgen render compact manual steps with folded source.
Example 1: TUI Selection
This follows the real Code Actions picker flow exercised by
test/03_system/gui/editor_controller_spec.spl: populate a selectable panel,
choose a row, and apply it with Enter. Keep the interaction and its visible
selection contract together.
Generated operator manual:
Example 2: Tabular Output
This is shortened from the dashboard HTML rendering system spec at
test/03_system/feature/app/web_dashboard/dashboard_render_spec.spl. It is the
same table-shaped contract useful for compression, storage/NVMe, security, and
HTML test reports: stable columns, representative rows, and assertions over
the generated surface.
Generated QA evidence can retain the compact tabular result:
Given_*, When_*, and Then_* helper naming is legacy style. Use
step("...") for new SSpec manuals. See the
SSpec Scenario Manual Guide.
Generated docs land in the numbered documentation tree under doc/06_spec/.
Docgen mirrors a test path without its leading test/ component; for example,
test/03_system/plan_acceptance/evidence_showcase_spec.spl generates
doc/06_spec/03_system/plan_acceptance/evidence_showcase_spec.md.
Grammar & Specification
Language Grammar
Simple’s current language references are split between the guide tree for user-facing explanations and the spec tree for executable or generated reference material.
Current Reference Documents:
- Syntax Quick Reference - Fast public-language reference
- Syntax Guide - User-facing language walkthrough
- Language Spec Index - Current generated spec index
- Syntax Spec - Spec artifact for syntax coverage
- Types Spec - Spec artifact for type-system coverage
- Modules Spec - Spec artifact for module-system coverage
Quick Grammar Reference:
Specification Index
The current spec and guide material is organized under the numbered documentation tree:
Core Language:
- Syntax Spec - Syntax-oriented spec material
- Types Spec - Type-system spec material
- Data Structures Spec - Data-structure coverage
- Functions Spec - Functions and pattern matching
- Traits Spec - Traits and implementations
- Memory Spec - Ownership and borrowing
- Modules Spec - Import/export system
Advanced Features:
- Concurrency Spec - Async and concurrency behavior
- Metaprogramming Spec - Macros and decorators
- Macro Spec - Macro-specific executable coverage
- Capability Effects - Capability/effect system
- Standard Library Guide - Stdlib structure and usage
- SFFI Guide - Interop guidance
- External Native Libraries - Optional host-library integration
Testing & Tooling:
- Testing Guide - Test runner and matchers
- SSpec Scenario Manual Guide - Scenario manuals generated from executable specs
- Coverage Guide - Coverage and SDoctest enforcement
- Lint Guide - Lint rules and workflow
- MCP Guide - MCP workflow and registration
GPU & Platform:
- GPU Programming Guide - GPU usage
- Deep Learning Guide - Model-oriented examples
- Baremetal Guide - Platform and baremetal flows
See doc/README.md, doc/06_spec/README.md, and doc/07_guide/README.md for the current documentation entry points.
Project Structure
Incremental Compile and Interpreter Boundaries
The reverse-reference records under src/compiler/80.driver/cache/reference/
map changed declarations and artifacts to their known consumers. The build
driver uses them to select invalidation and reuse candidates; the loader uses
the same dependency facts for scheduling. They make incremental compilation
more selective when receipts and cache keys match, but do not alter language
semantics or turn an interpreter run into a native compilation. Interpreter
execution remains owned by src/compiler/95.interp/.
The admission model and current evidence limits are documented in the reverse-reference harmonization plan.
Development
Building
Testing
Full-suite snapshot (2026-02-14): 4,067/4,067 passing
Simple uses a broad test strategy spanning spec tests, SDoctest, coverage, and system lanes. The counts below are from the linked 2026-02-14 report:
Test Coverage:
- Core interpreter: 227 tests
- Compiler: 306 tests
- Standard library: 428 tests
- Applications: 142 tests
- Libraries (ML, Physics, Game): 185 tests
- Integration & Coverage: 2,779 tests
Performance:
- Total execution: 17.4 seconds
- Average per test: 4.3ms
- All tests deterministic and fast
Performance Profiles:
- Language profile: scripts/check/check-cross-language-perf.shs generates doc/09_report/cross_language_perf_2026-06-06.md
- GUI profile: tools/gui_perf_bench/run_all_benchmarks.shs generates doc/09_report/gui_perf_benchmark_2026-06-06.md
- Startup/TUI profile: scripts/check/check-startup-size-performance-audit.shs records TUI startup rows in doc/09_report/startup_size_performance_audit_2026-05-27.md
See doc/09_report/session/full_test_suite_results_2026-02-14.md for detailed test analysis.
Code Quality
AI Tooling (MCP, LSP, Plugin)
Simple ships with MCP servers, LSP servers, and Claude Code plugins — all written in Simple.
Install Simple MCP Server
The Simple MCP server exposes repo-native tools for code diagnostics, VCS, build, test, debug, and related workflows. For current registration details, use the repo scripts and guide docs rather than relying on hardcoded counts here.
Install Simple MCP Plugin
The simple-mcp Claude plugin is a repo-checkout plugin. Install it from a
Simple repository checkout; it is not a standalone portable runtime bundle.
The plugin launches bin/simple_mcp_server from the repository root.
Install Simple LSP Plugin
The Simple language server provides completions, hover, go-to-definition, diagnostics, and semantic tokens for .spl / .shs files.
Binary full path: bin/simple run src/app/lsp/main.spl
Install Both (Quick Setup)
Prompt Examples
Once the MCP server and LSP plugin are installed, try these prompts in Claude Code:
Editor Plugins
VSCode Extension
Full-featured extension with Tree-sitter highlighting, LSP integration, and math block support.
Key features:
- Semantic syntax highlighting (Tree-sitter powered)
- LSP: completions, hover, go-to-definition, diagnostics
- Math block highlighting for
m{},loss{},nograd{}with nested brace support - Test CodeLens: "Run Test/File/Doctest" gutter arrows on
describe/it/context/sdoctestblocks - AI-powered completions and chat (requires GitHub Copilot)
See src/app/vscode_extension/README.md for full documentation.
Neovim Plugin
Key features:
- LSP integration with auto-detection
- Math block conceal with inline Unicode preview (
frac(1,2)->(1)/(2),alpha->α,sqrt(x)->√(x)) - Test lens: "Run" virtual text beside test blocks
- Tree-sitter queries (highlights, folds, text objects, injections)
- Brief view (fold to signatures)
See src/app/nvim_plugin/README.md for full documentation.
TRACE32 Tools
MCP servers, CMM language server, and CLI tools for Lauterbach TRACE32 debuggers. See examples/10_tooling/trace32_tools/README.md for full documentation.
The repo-managed container flow is headless and uses t32mciserver. It does
not ship bundled TRACE32 GUI compatibility libraries; vendor runtime files must
come from your local /opt/t32 installation.
Primary lifecycle wrapper:
GUI container reopen path:
gui-on uses the Docker/Podman TRACE32 GUI path with host X11 forwarding, so
it requires a real host X11 session (DISPLAY, /tmp/.X11-unix, and usually
XAUTHORITY). For quick diagnostics use:
Hello-world firmware smoke:
Optional: Install T32 MCP Servers
These TRACE32 MCP servers are not installed by the default project MCP setup. Register them manually only if you actively use TRACE32 tooling.
Binary full paths:
- T32 MCP:
bin/simple run examples/10_tooling/trace32_tools/t32_mcp/main.spl - T32 LSP MCP:
bin/simple run examples/10_tooling/trace32_tools/t32_lsp_mcp/main.spl
Install CMM LSP Plugin
Binary full path: bin/simple run examples/10_tooling/trace32_tools/cmm_lsp/mod.spl --lsp
T32 Prompt Examples
Contributing
See CLAUDE.md for development guidelines and AGENTS.md for AI agent instructions.
Documentation Structure:
- Specifications go in doc/06_spec/ (what the language supports)
- Guides go in doc/07_guide/ (how to use features)
- Research goes in doc/01_research/ (why/how decisions were made)
- Plans go in doc/03_plan/ (implementation roadmaps)
- Reports go in doc/09_report/ (session summaries and completion reports)
License
Apache License 2.0. See LICENSE.
Bundled third-party runtime components and redistribution notices are listed in THIRD_PARTY_NOTICES.md.
Release packages also include THIRD_PARTY_NOTICES.md.
Resources
Official Documentation:
- Documentation Hub - Entry point for the numbered docs tree
- Language Specification - Current spec index
- User Guides - Practical tutorials
Quick References:
Development:
来源:README.md,提交 bf9c7fd
工具
0版本历史
1- v0.9.8最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。