OpenSysML MCP server

org.opensysml由 opensysml.org 发布v0.12.1更新于 Nov 7, 2026

SysML v2 and KerML for coding agents: workspace diagnostics and edits, execution, REPL sessions.

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

本地 MCP 服务器,为编码助手提供 SysML v2 与 KerML 工具:工作区诊断与编辑、模型执行以及可持久化的 REPL 会话。

可以做什么
  • 读取、列出大纲并导航模型文档:诊断、符号、悬停、定义、补全、代码操作、内联提示、格式化与保留源码的编辑
  • 求值表达式与计算、实例化部件,并运行动作或状态机,包括调度探索与结果对比
  • 调试动作与状态机:启动、单步、继续、断点、推进时钟、查看当前状态与特性值
  • 借助 SMT 求解器检查、配置、解释与优化约束,并导出降阶后的行为图
  • 转换与迁移导入:在文本、RDF Turtle 与 JSON 表示之间转换,从 SysML v1 XMI/UML/mdzip 迁移,并从 CSV、TSV、JSON 或 JSON Lines 导入特性值
  • 渲染与导入文档和图表,包括 draw.io 布局往返
适用场景
适合助手处理 SysML v2 或 KerML 模型、需要语言服务器式的分析、模型编辑、仿真或验证而无需离开对话的场景。适用于必须校验、执行或从 SysML v1 迁移模型的系统工程工作。
运行要求
通过 npx 从 npm 包 @openmbee/sysml-mcp 以 stdio 在本地运行,仅限桌面端。未声明认证、环境变量或请求头。基于 SMT 的 check、configure、explain 与 optimize 工具需要安装 z3 或 cvc5,否则会报告不可用。
安装前请注意
部分工具会写入模型文件:apply_edits、apply_model_edit、format 与 rename 仅在 apply=true 时写入,open_document 则持有未保存的缓冲区。从 SysML v1 迁移并非无损,需检查已映射与未映射的元素。SMT 功能依赖外部求解器可执行文件。

安装

在 SourceWeft 中

  1. 打开 控制台中的 OpenSysML MCP server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

该仓库没有 README。

工具

83

advance

Advance clock

Advance the debuggers' simulation clock (%advance), running every state event, action token, change-condition poll and do behavior that comes due, in due order, and report what ran and where the debuggers stand. The clock is the session's: a debugged action and machine both move.

输入参数time必填session

apply_edits

Apply edits

Apply source-preserving edits to a parsed model and return the edited notation (the ApplyEdits RPC): set a value, rename with every reference, add a member, import, documentation, comment, connection, transition, satisfy or metadata, delete, move. Edits are located from the parsed spans, so comments and layout outside them are kept, and the result is re-parsed and validated before it is answered; a refused batch answers `error` and `failure` naming why, and nothing is applied. Nothing is written to disk: the edited text comes back as `content` (one document) or `documents` for the agent to write. The result is the ApplyEditsResponse as protojson writes it.

输入参数pathssourcesdocumentmodelHashoperationsacceptDocumentsstrictConformance

apply_model_edit

Apply model edit

Edit a model by operations on its elements rather than by text: setValue, rename, addMember, addConnection, addSequence (action-body items), delete, move, and the diagram-layout annotations setLayout, setRoute, setCanvas, setStyle, setNote, setPicture. Targets and owners are qualified names as render_view reports them in nodes[].fqn. Returns the text edits the operations amount to, per document, and the operations refused with why; writes the files only with apply=true.

输入参数path必填applyoperations必填

check

Check satisfiability

Ask an SMT solver whether a constraint, requirement or satisfaction can be satisfied at all (%check, experimental), with a satisfying assignment when it can. Needs z3 or cvc5 installed; the status is unavailable otherwise.

输入参数name必填session

check_behavior

Check behavior

Search every schedule of an action or state machine (the CheckBehavior RPC, the REPL's %check-property/%check-diverge settings about %action/%state): a property false at a stable state, a deadlock, a failure or a feature whose final value the schedule decides is witnessed and replayed. `verdict` is holds, fails or undecided; `violations`, `divergences` and `finals` carry each witness as its replay schedule, draws and choices, and the witness file when asked for. With checkInput or checkAssume the symbolic engine answers with `claim`, the inputs it ranged over and its witnesses. Bounded by checkDepth, checkStates and checkTimeout. The result is the CheckBehaviorResponse as protojson writes it.

输入参数pathsengineinputssourcesmodelHashcheckDepthcheckInputcheckAssumecheckStatescheckUnrollcheckDivergecheckTimeout另有 6 个

close_document

Close document

Release a document held open by open_document: the server goes back to the file on disk (or forgets the document when there is no file). Nothing is written.

输入参数path必填

code_actions

Code actions

List the quick fixes and refactorings available for a range of a document, each with the edits it would make. Nothing is applied; write the edits with your own file tools or use the rename/format/apply_model_edit tools with apply=true.

输入参数path必填range

compare_results

Compare results

Run every configuration a SysML v1 tool's results sidecar indexes against the migrated model (the CompareResults RPC, the CLI's -compare-results with -action, -runs, -seed, -draws, -clock-step and -observe): each on its target, for its recorded run count under its duration mode, or the runs and draws given, and table the tool's and OpenSysML's min, mean, p50, p90 and max of each observable with their relative difference. `configurations` carry each one's status (holds, fails, unresolved), its rows, the distributions compared, the errors and notes, and the lines the CLI prints. The result is the CompareResultsResponse as protojson writes it.

输入参数runsseeddrawspathsengineactionsobserveresults必填sourcesclockStepmodelHashstrictConformance

completion

Completion

Propose completions at a position: keywords, names in scope and members of the type being accessed.

输入参数path必填position必填

configure

Configure variants

Ask an SMT solver which variants an element's conditions permit (%configure, experimental): a consistent selection, the check of the selections given, or every consistent selection up to a limit. A part or definition is configured over every assertion about its objects. Read-only: no variant is bound.

输入参数allname必填limitsessionselections

convert

Convert model

Convert a SysML v2 model between the representations OpenSysML writes — textual notation, RDF Turtle, the API's JSON element form — (the Convert RPC, the CLI's -convert). Name the model by modelHash, paths or sources (the source the parse read is converted), or by filePath or inline content read afresh. Nothing is written to disk: the converted document comes back as `content` for the agent to write. A SysML v1 model is refused with INVALID_ARGUMENT: use migrate. The result is the ConvertResponse as protojson writes it.

输入参数pathsidFormcompactcontentsourcesfilePathtoFormat必填documentsmodelHashfromFormatkeepDerivedomitDerived另有 4 个

debug_breakpoints

Breakpoints

Set breakpoints at nodes of the debugged action (%break), optionally clearing the earlier ones, and report the breakpoints it then has; with nothing to set, lists them. A node the action has none of fails, naming its nodes.

输入参数setclearsession

debug_continue

Continue

Run the debugged action to completion, or to the first breakpoint a token reaches (%continue), and report its results.

输入参数session

debug_current

Debugger state

Report where the debugging session stands without changing it: the action's execution state, tokens, breakpoints and feature values (%tokens), or the machine's current state, clock, event queue, signals in flight and state data (%current, %events).

输入参数session

debug_start

Start debugging

Start a debugging session on an action (%action) or a state machine (%state), performed by an object when one is named. The action is not stepped: debug_step advances one token step, debug_continue runs to completion or a breakpoint. A machine takes its entry; debug_step, advance and send drive it. Starting again replaces the session.

输入参数kind必填name必填objectsession

debug_step

Step

Advance the debugged action one token step, or the debugged state machine one step (%step): one event dispatched, one change event, one round of do actions. A token waiting only on the clock is not stepped; advance moves the clock.

输入参数session

debug_stop

Stop debugging

End the debugging session (%stop), letting go of its run; objects the session holds stay.

输入参数session

definition

Go to definition

Find where the name at a position is declared. Standard library declarations are reported as sysml://stdlib/<file> resources.

输入参数path必填position必填

diagnostics

Report diagnostics

Report every diagnostic of a parsed model (the GetDiagnostics RPC), as `sysml -validate` does: each with its severity, code, message and position. Parse with `strictConformance` for the strict mode of `sysml -validate -strict`; `disableLint` and `enableLint` select the lints as `sysml -disable-lint`/`-enable-lint` do. The result is the DiagnosticsResponse as protojson writes it.

输入参数pathssourcesmodelHashenableLintdisableLintstrictConformance

document_symbols

Document symbols

Outline a document: the elements it declares, nested as they are owned, with their kinds and ranges.

输入参数path必填

documents

Document definitions

List the document definitions (doc def) declared across the workspace, which render_document renders to Markdown.

无需输入参数。

evaluate

Evaluate expression

Evaluate a SysML expression against a parsed model (the Evaluate RPC, the REPL's %eval): arithmetic, feature reads, quantities with units, collection operators. The result is the EvaluateResponse as protojson writes it: `result` is a Value (64-bit integers are JSON strings, as the proto3 JSON mapping writes them), `error` is set when the expression could not be evaluated. The text spells the value as the REPL prints it.

输入参数pathssourcesmodelHashexpression必填contextSymbolIdsubjectSymbolIdstrictConformance

evaluate_calc

Evaluate calc

Invoke a calculation (the EvaluateCalc RPC, the REPL's %calc): a calc definition with positional arguments answers its `result`; a calc usage named with no arguments binds its inputs from its own members and answers every output feature in `outputs`. The result is the EvaluateCalcResponse as protojson writes it.

输入参数pathsenginesourcessymbolId必填argumentsmodelHashstrictConformance

execute_action

Execute action

Run an action definition or usage to completion and report its output parameters (the ExecuteAction RPC, the REPL's %run). Inputs are bound by parameter name. Under an explore schedule every linearization the model admits is run and the answer is the set of distinct `outcomes` with how the exploration ended, instead of one run's outputs. The run is bounded by the service's OPENSYSML_MAX_* budgets; a budget hit is reported in `error`. `advance`, `seed`, `draws` and `clockStep` are the run options of `sysml -advance`, `-seed`, `-draws` and `-clock-step`. With `trace` the answer also carries every record the run made (token steps, waits, accepts, decisions, assignments, completion), up to a failure; `events` are posted to the performer in order, each once every token waits. The result is the ExecuteActionResponse as protojson writes it.

输入参数seeddrawspathstraceeventsinputsadvancesourcesscheduleclockStepmodelHashactionSymbolId必填另有 2 个

execute_state

Execute state machine

Run a state machine over a sequence of events and report the states visited, the final context and the simulation clock (the ExecuteState RPC, the REPL's %run on a state). With trace the answer also carries every record the run made (entry, exit, transition, accept, send, choice), up to a failure. Under an explore schedule every linearization is run and the answer is the set of distinct `outcomes`. With `advance` the events are sent and the clock then moved by that much, as `sysml -state X -advance T` does; without it the machine runs to quiescence. The run is bounded by the service's OPENSYSML_MAX_* budgets. The result is the ExecuteStateResponse as protojson writes it.

输入参数seeddrawspathstraceeventsadvancesourcesscheduleclockStepmodelHashperformerSymbolIdstrictConformance另有 1 个

explain

Explain a conflict

Ask an SMT solver which conditions of an unsatisfiable element conflict (%explain, experimental): a minimal set of conditions, each with the element declaring it and its location.

输入参数name必填session

explain_diagnostic

Explain diagnostic

Explain a diagnostic code (as the CLI's -explain does): what it means, how to resolve it and the specification clause or validation constraint behind it. Every diagnostic the `parse`, `diagnostics` and `workspace_diagnostics` tools report carries one of these codes. With no code, list every code with its one-line summary.

输入参数code

export_graphs

Export graphs

Export the lowered graph of an action or state machine — the subject's and every behavior it performs — as the canonical graphs:<version> JSON external analysis engines read (the ExportGraphs RPC). The result is the ExportGraphsResponse as protojson writes it, the JSON in `content`; the text names the subject and version on its first line and carries the JSON after it.

输入参数pathssourcessubject必填modelHashstrictConformance

features

Object features

Show an object's feature values and what its behaviors are doing (%features): the values its attributes hold, the objects its parts and ports hold, its connectors, and the state of each machine it exhibits and action it performs. Objects come from repl_command `%instantiate <name>` or from runs.

输入参数alldepthobject必填session

format

Format document

Format a SysML v2 / KerML document, or only the lines of a range, in the canonical style. Returns the edits and the resulting text; writes the file only with apply=true. A document that does not parse is left unchanged.

输入参数path必填applyrange

hover

Hover

Explain the element at a position: its kind, qualified name, type, value and documentation, as Markdown.

输入参数path必填position必填

import_data

Import data

Set the feature values a CSV, TSV, JSON or JSON Lines file assigns, one row per element (the ImportData RPC, the CLI's -import with -import-as, -import-map, -import-format and -import-dry-run): a feature the element declares has its value set, one it inherits is redefined in the element's body with the value, as one edit per file; a value the model refuses leaves every row unapplied and answers `error`. `files` carry each assignment with the element, feature, value and the inherited feature it redefines; the edited text comes back as `content` (one document) or `documents` with the `modelHash` of the imported model, nothing is written to disk. A dry run answers the assignments alone. The result is the ImportDataResponse as protojson writes it.

输入参数pathsimports必填sourcesimportAsmodelHashimportDryRunacceptDocumentsstrictConformance

import_diagram

Import diagram

Import a draw.io (diagrams.net) file that render_view wrote with form drawio and a user edited in draw.io: what moved, resized, folded, re-routed or recoloured, the page size, a note's text and a picture's file become DiagramLayout annotations (Layout, Route, Style, Canvas, Note, Picture) in the view's body, and a name retyped in a node, port or edge label becomes a rename of the element, declaration and references alike, applied as apply_model_edit applies its operations. Cells the rendering lacks, cells naming no element, deleted cells, a label edited beyond its name, an invalid or taken name, an emptied note and a picture source no file under the view's directory names are reported, never created, deleted or guessed. Answers the planned edits and text changes; writes the files only with apply=true.

输入参数filepath必填viewapplyinlinecontent

inlay_hints

Inlay hints

List the inferred types and values the editor would show inline for the features of a document or range.

输入参数path必填range

instances

List instances

List the objects a session holds (%instances): each with its id, type and lifetime, the ones a later instantiation displaced included.

输入参数session

instantiate

Instantiate

Build an object of a part definition or usage and report its feature values (the Instantiate RPC, the REPL's %instantiate): every attribute's value or default, nested parts as instance ids, with every reachable instance in `instances`. The service keeps the object for the model: run_document_query on the same modelHash can bind it. The result is the InstantiateResponse as protojson writes it.

输入参数pathssourcessymbolId必填modelHashstrictConformance

list_engines

List engines

List the analysis engines this build registers (the ListEngines RPC, as the CLI's -engines does): each with the questions it answers (evaluate, outcomes, holds, sensitive, satisfiable, sweep, compute), the strongest evidence it can produce, the bounds it takes, and whether it can run here. The names are what the verification tools' `engine` argument takes; empty there means auto. With `probe` each external engine is started once and checked against its manifest, as `sysml -engines -probe` does. The result is the ListEnginesResponse as protojson writes it.

输入参数probe

migrate

Migrate SysML v1 model

Migrate a SysML v1 model — UML XMI with the SysML profile, an Eclipse UML2 .uml file or a Cameo/MagicDraw .mdzip archive — to SysML v2 in one of the representations convert writes (the Migrate RPC, the CLI's -migrate). Migration is not lossless: every v1 element is mapped, approximated, left unmapped or skipped, and `report` accounts for each. Nothing is written to disk: the migrated model comes back as `content`, with any image files it refers to in `files`. The result is the MigrateResponse as protojson writes it.

输入参数reportstrictcontentresultsfilePathtoFormat必填fromFormatlayoutPathimageBaseUrllayoutContent

open_document

Open document

Hold a document open with the given text, as an editor buffer the server analyzes instead of the file on disk, so text can be checked (diagnostics, hover, render) before it is written. Nothing is written to disk; close_document reverts to the file. format, rename and apply_model_edit with apply=true write the buffer, unless the file changed on disk since it was opened. Returns the diagnostics of the text.

输入参数path必填text必填

optimize

Optimize objectives

Ask an SMT solver for the best values an analysis case's objectives admit (%optimize, experimental), each objective improved as its trade-study definition says, within the case's conditions.

输入参数name必填session

parse

Parse model

Parse SysML v2 / KerML documents as one model and return its modelHash, the root namespace of each document and every diagnostic (the ParseSources RPC). Parsing is content-addressed: the same documents give the same modelHash, and the hash is what every other runtime tool takes as modelHash, so parse once and pass the hash, or give those tools the same paths/sources and they parse implicitly. A model is only readable when no diagnostic has severity error. The result is the ParseSourcesResponse as protojson writes it; the text lists each root and the diagnostics as the CLI prints them.

输入参数pathssourcesbaseModelHashstrictConformance

query

Query model

Select elements of a parsed model with a SysML v2 API & Services Query — scope, select, where, orderBy — or OSLC query text (the Query RPC). Each matched element answers its qualified name, metamodel type and the properties select asked for. A query the service cannot evaluate fails with INVALID_ARGUMENT rather than answering empty. The result is the QueryResponse as protojson writes it.

输入参数pathsquerysourcesmodelHashoslcQuerystrictConformance

record_run

Record run

Run an analysis case — once, over the rows of a sweep (`ranges`), or as a Monte Carlo sample (`runs`) — and record the runs into the model as AnalysisRecords declarations (the RecordRun RPC, the CLI's -record-run/-record-into, the REPL's %record). `run`, `sweep` or `sample` is the runs' own report; `package`, `definition` and `records` name what the model gained and `source` is the declarations generated; `documents` (and `content` for a single document) is the notation of the document the records merged into, or the records as a document of their own, and `modelHash` names the recorded model, cached for the next request. A recording that would error or drop a declaration leaves the model unchanged and is the `error`. The result is the RecordRunResponse as protojson writes it.

输入参数runsseedpathsenginerangessourcesargumentsmodelHashrecordIntonamedArgumentsacceptDocumentssubjectSymbolId另有 2 个

references

Find references

Find every place in the workspace that refers to the element at a position.

输入参数path必填position必填includeDeclaration

rename

Rename element

Rename the element declared or referenced at a position, everywhere in the workspace. Returns the edits per document; writes the files only with apply=true.

输入参数path必填applynewName必填position必填

render_document

Render document

Render a document definition (doc def) to Markdown, its queries evaluated over the workspace and its diagrams embedded.

输入参数name必填showdiagramFormlinkTemplate

render_model_document

Render document

Render a named document of a model given by modelHash, paths or sources (the workspace group's render_document renders by name over the root) — a part def specializing DocumentQueries::Document — to Markdown, HTML or AsciiDoc (the RenderDocument RPC, the CLI's -render-document), byte for byte what the CLI writes. The text is the rendered document; the result is the RenderDocumentResponse as protojson writes it.

输入参数formpathssourcesmodelHashdocumentId必填strictConformance

render_model_view

Render view

Render a declared view or a targeted pseudo-view of a model given by modelHash, paths or sources as diagram data (the RenderView RPC; the workspace group's render_view renders by name over the root): nodes flattened parents first, edges with their ports, table columns and rows, canvas, notes and notices. The result is the RenderViewResponse as protojson writes it; the text lists the nodes and edges.

输入参数showview必填depthpathsportssourcesmodelHashcompartmentsstrictConformance

render_run

Render run

Render the run a session recorded as a state timeline or a message sequence (%render-run), in a text, diagram or SVG form. Recording must be on before the run: repl_command `%trace on`.

输入参数formkind必填session

render_view

Render view

Render a diagram or table of a document: a declared view or a pseudo-view, as Mermaid, Graphviz dot, PlantUML, D2, draw.io (diagrams.net XML), text, Markdown, CSV or TSV. The result also lists the nodes and edges drawn with their qualified names (for apply_model_edit) and their declaration ranges in LSP form (0-based).

输入参数formpath必填showviewdepthlinesportsstyleoverlaypalettecompartmentslinkTemplate

repl_command

Run prompt command

Run one sysml prompt command (a % line) in a session and return what it printed. Prefer the typed tools, which return the same data structured: session_load/session_submit/session_eval/session_print/session_save/session_clear, session_run, debug_*, send, advance, features, instances, check/explain/solve/configure/optimize, sweep, runs, render_run. This tool reaches everything else the prompt can do — %instantiate, %invoke, %constraint, %requirement, %satisfy, %validate, %calc, %analysis, %record, %import, %run-query, %render, %viz, %render-document, %trace, %schedule, %seed, %engine, %jobs, %budget, %verbosity, %strict, %lint, %search, %views, %documents, %list, the %check-* settings and the repository commands. Discover the commands with `%help` (every command with its arguments) and the settings with the command alone (`%schedule`, `%engine`). A command that reports an error fails the call with its output.

输入参数line必填session

run_analysis

Run analysis

Run an analysis case (the RunAnalysis RPC, the REPL's %analysis): its subject and inputs bound from the arguments and its own declarations, its body run, every declared output answered with the verdict of its objective and of each assertion in its body; a verification case also answers its own verdict. A trade study's evaluations of each alternative are in `evaluations`. Under an explore schedule the answer is the set of distinct `outcomes`. Bounded by the service's OPENSYSML_MAX_* budgets. The result is the RunAnalysisResponse as protojson writes it.

输入参数pathsenginesourcesschedulesymbolId必填argumentsmodelHashtoolDryRunnamedArgumentssubjectSymbolIdstrictConformance

run_document_query

Run document query

Run a named document query with parameter bindings and answer its typed rows (the RunDocumentQuery RPC, the REPL's %run-query). The query runs over the model and over the objects instantiate created for the same modelHash, which a binding may name. The result is the RunDocumentQueryResponse as protojson writes it; the text is the table.

输入参数pathsqueryId必填sourcesbindingsmodelHashstrictConformance

run_runs

Run runs

Run an action, or a Simulation::MonteCarlo analysis case, a number of times (the RunRuns RPC, the CLI's -runs/-observe, the REPL's %runs): every run is an ordinary run in a context of its own, drawing its modeled randomness from a seed derived from `seed`. `rows` is the table, one row per run with the run number as its input and what it observed as its outputs; `distributions` summarises each observable over the completed runs (extremes, mean, deviation, percentiles, histogram, or the count of each distinct value); for a case `outputs` and `verdicts` are its conclusion over the sample and `unconcluded` why it has none. A run that failed is its row's error. The result is the RunRunsResponse as protojson writes it.

输入参数runs必填seeddrawspathsengineinputsobservesourcesargumentsclockStepmodelHashactionSymbolId另有 5 个

run_sweep

Run sweep

Run an analysis case or calc once per row of a parameter sweep (the RunSweep RPC, the CLI's -sweep): each row an ordinary run with the swept parameters bound to that row's values, stepped through the ranges' cartesian product or drawn with samples and seed. A failed row is a row with `error`, not a failed table. Bounded by the service's OPENSYSML_MAX_* budgets. The result is the RunSweepResponse as protojson writes it; the text is the table.

输入参数seedpathsenginerangessamplessourcessymbolId必填argumentsmodelHashnamedArgumentssubjectSymbolIdstrictConformance

runs

Repeat runs

Run an action count times, each run's modeled randomness seeded on its own, and return the table of the observables with each one's distribution (%runs); or run a Simulation::MonteCarlo analysis case count times on fresh subjects and conclude it.

输入参数kindname必填seedcount必填objectsessionargumentsobservables

self_check

Self-check

Apply the SysMLValidation constraints, and those of any rule packages named, reflectively to every element of a model (the SelfCheck RPC, the CLI's -self-check and -self-check-package): each element is handed to every constraint whose input its metaclass conforms to. `status` is holds, fails or unresolved; `findings` carry each violation, evaluation the runtime could not make, error and skipped rule constraint with the element's location and the line the CLI prints; the counts and `applications` say how much was checked. The result is the SelfCheckResponse as protojson writes it.

输入参数pathssourcesmodelHashselfCheckPackagestrictConformance

send

Send signal

Send a signal to an object through the runtime's message bus (%send), for the state machine it exhibits or the action parked at a matching accept to take; by default to the object whose behavior is being debugged. The signal is refused when no behavior of the object accepts it now. It is dispatched by the next debug_step or advance.

输入参数tosignal必填sessionarguments

server_info

Server info

Report the OpenSysML runtime's version and the named capabilities this build supports.

无需输入参数。

session_clear

Clear session

Reset a session, as %clear does: every declaration, object and debugging session goes; the session stays open and empty.

输入参数session

session_close

Close session

Close a REPL session, discarding its model, instances and any run in progress.

输入参数session

session_eval

Evaluate expression

Evaluate an expression in a session, as %eval does: a literal, a declared feature or qualified name, an enumeration literal, a unit, or a compound expression over the session's declarations. Returns the value as data and as the prompt prints it.

输入参数sessionexpression必填

session_list

List sessions

List the open REPL sessions.

无需输入参数。

session_load

Load files

Load model files into a session, as %load does: files, directories or globs, resolved against the workspace root and refused outside it. Every file is accepted before the model is analyzed, so load order does not matter, and files beside the paths that declare a namespace they import load too. Returns what loaded and the diagnostics.

输入参数paths必填session

session_open

Open session

Open a named REPL session: an empty model that declarations, instances and runs accumulate into across calls. The default session opens itself on first use, so this is only needed for a second, independent session, or for one with a root: a directory under the workspace root whose model files load on demand, as %load would load them, when a submission imports or qualifies a root namespace that neither the session nor the library declares.

输入参数rootsession

session_print

Print notation

Print a session's model as SysML notation, or one named element with its body, as %print does. Comments are kept, and what is printed can be submitted back.

输入参数namesession

session_run

Run behavior

Run a behavior in a session to completion and report what it produced: an action (%action then %continue), a state machine (%state, then %advance when a duration is given), a calc (%calc) or an analysis case (%analysis). Objects the run creates stay in the session, and the run's executor stays inspectable with debug_current until the next run or debug_stop. Under %engine check the behavior is checked over every schedule instead.

输入参数kind必填name必填objectsessiondurationschedulearguments

session_save

Save model

Write a session's model to a file under the workspace root, as %save does: .sysml notation with comments preserved, or .ttl/.json RDF (experimental). A path outside the root is refused. Without apply nothing is written and the file's content, in the format the extension names, is returned as content.

输入参数path必填applysession

session_submit

Submit declarations

Submit SysML declarations to a session, as typing them at the prompt does: the text joins the model, the whole model is re-analyzed, and what it declared and the diagnostics about it come back. Submitting a name again replaces its earlier declaration. For an expression use session_eval; for a % command use repl_command.

输入参数text必填session

signature_help

Signature help

Describe the invocation enclosing a position: the callable's parameters and which one the position is at.

输入参数path必填position必填

solve

Solve for values

Ask an SMT solver for values satisfying an element's conditions (%solve, experimental), keeping the values the model already fixes; reports the conflict when the fixed values admit none.

输入参数name必填session

sweep

Sweep parameters

Run a calc or analysis case once per row of the ranges given (%sweep), or over rows drawn from them (%samples), and return the table: each row's inputs, outputs, verdicts and timing. The verdict holds when every run completed and every objective was satisfied.

输入参数name必填objectranges必填samplessessionarguments

symbol

Describe symbol

Describe one element of a parsed model by qualified name (the GetSymbol RPC): its kind, metadata, children, attributes with their declared values, static type facts, multiplicity and specializations. An unknown name answers with `error` set rather than failing. The result is the SymbolResponse as protojson writes it.

输入参数pathssourcessymbolId必填modelHashstrictConformance

tool_catalog

Tool catalog

List the tools this server serves: each tool's name, group, the sysml-grpc RPC or `sysml` CLI flag it stands for, and a one-line summary. Pass `group` (lsp, runtime, session) to narrow the list. The same catalog generates the Tools section of the sysml-mcp manual page.

输入参数group

update_document

Update document

Replace the text of a document held open by open_document and re-analyze it. Nothing is written to disk. Returns the diagnostics of the new text.

输入参数path必填text必填

validate_instance

Validate instance

Validate an object of a part as a whole (the ValidateInstance RPC, the REPL's %validate): every assertion about an object of symbolId and about the objects it holds — asserted constraints of their types, the requirements they carry, the satisfactions they are the subject of — each answered on the concrete object, with a `summary` verdict about the object as a whole. The result is the ValidateInstanceResponse as protojson writes it.

输入参数pathsenginesourcessymbolId必填modelHashstrictConformance

verify_constraint

Verify constraint

Ask whether a constraint holds (the VerifyConstraint RPC, the REPL's %constraint): against its declared values, or against an object of subjectSymbolId built for the call. The answer is a Verdict: `holds`, the violated `condition`, or an `error` when nothing was decided, with the engine and strength of evidence. The question holds or satisfiable puts it to a solver over the free variables and answers with a witness assignment. The result is the VerifyConstraintResponse as protojson writes it.

输入参数pathsenginesourcesquestionsymbolId必填argumentsmodelHashnamedArgumentssubjectSymbolIdstrictConformance

verify_requirement

Verify requirement

Ask whether a requirement is satisfied (the VerifyRequirement RPC, the REPL's %requirement): its require constraints evaluated against declared values or against an object of subjectSymbolId. Beside the Verdict the answer carries what every verification case verifying the requirement concluded (pass, fail, inconclusive, error). The result is the VerifyRequirementResponse as protojson writes it.

输入参数pathsenginesourcesquestionsymbolId必填argumentsmodelHashnamedArgumentssubjectSymbolIdstrictConformance

verify_satisfaction

Verify satisfaction

Evaluate the satisfy assertions a model states (the VerifySatisfaction RPC, the REPL's %satisfy): each against an object of its subject built for the call, answering one Verdict per assertion in declaration order. A model stating no assertion answers an empty list, not an error. The result is the VerifySatisfactionResponse as protojson writes it.

输入参数pathsenginesourcesquestionsymbolIdmodelHashstrictConformance

views

Views

List the views a document declares and the pseudo-views (#tree, #interconnection, ...) render_view can draw of it.

输入参数path必填

workspace_diagnostics

Diagnostics

Analyze a SysML v2 / KerML document, or the whole workspace, and list the errors, warnings and hints: syntax, unresolved names, type and constraint violations. Positions are 1-based lines and columns.

输入参数path

workspace_info

Workspace info

Describe the SysML v2 workspace the server has indexed: its root folder and the model documents found under it.

无需输入参数。

workspace_symbols

Workspace symbols

Search the workspace's declared elements by name substring.

输入参数limitquery

版本历史

2
  1. v0.12.1最新Nov 6, 2026
  2. v0.11.0Oct 24, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证10 分