{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:29:07.029Z","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp","markdownUrl":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp.md","server":{"slug":"dennis5882-midas-nx-mcp","name":"MIDAS Gen NX / Civil NX","registryName":"io.github.Dennis5882/midas-nx-mcp","description":"Read and carefully change the model open in MIDAS Gen NX or Civil NX on this PC.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"midas-nx-mcp","type":"mcpb","identifier":"https://github.com/Dennis5882/midas-nx-mcp/releases/download/v0.3.2/midas-nx-mcp-0.3.2.mcpb","withdrawn":false,"url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp","version":null,"transport":"stdio","scoredAt":"2026-11-05T03:58:10.741Z"},"score":{"total":41,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":41},{"date":"2026-11-04","total":41},{"date":"2026-11-03","total":40}]},"categories":[{"name":"Supply Chain Security","score":12,"verdict":"partial","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs were checked across the 34 of 34 dependencies we could resolve, so this covers what we could see, not the whole tree.","Install-script risk not yet assessed.","1 of 34 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.tree_partial","args":{"seen":"34","resolved":"34"}},{"code":"installscript.inconclusive","args":{"reason":"install_step_unscanned"}},{"code":"dephealth.assessed","args":{"deps":"34","unhealthy":"1"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 0 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"0"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":72,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 2725 tokens (~170/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"170","items":"16","tools":"16","tokens":"2725","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: two runs of the same published version returned different tool surfaces, so we cannot tell a change in the package from a difference in our own sandbox run."],"codes":[{"code":"stability.capture_disagreement","args":{}}]},{"name":"Tool Coverage","score":71,"verdict":"fail","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","0% of tool parameters carry a description.","Structured output schemas are declared (6% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"0"}},{"code":"toolquality.output_present","args":{"pct":"6"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_declared","args":{"pct":"100","annotated":"1","destructive":"1"}},{"code":"toolsafety.manipulation_clean","args":{"units":"17","judged":"17"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Install-script risk not yet assessed.","Stability not yet verified: two runs of the same published version returned different tool surfaces, so we cannot tell a change in the package from a difference in our own sandbox run."],"malware":[],"components":[{"slug":"midas-nx-mcp","type":"mcpb","identifier":"https://github.com/Dennis5882/midas-nx-mcp/releases/download/v0.3.2/midas-nx-mcp-0.3.2.mcpb","withdrawn":false,"score":41,"current":true,"url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp","markdownUrl":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp.md"},{"slug":"midas-nx-mcp-2","type":"pypi","identifier":"midas-nx-mcp","withdrawn":false,"score":78,"current":false,"url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp-2","markdownUrl":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp-2.md"}],"facts":[{"label":"Registry","value":"mcpb"},{"label":"Package","value":"https://github.com/Dennis5882/midas-nx-mcp/releases/download/v0.3.2/midas-nx-mcp-0.3.2.mcpb"},{"label":"Transport","value":"stdio"},{"label":"SHA-256","value":"b8842ee5c55f2e7262b180fb4153b6d9f8baa35e91b03dabe0b5a3746d843faf"}],"install":{"available":true,"bundleSha256":"b8842ee5c55f2e7262b180fb4153b6d9f8baa35e91b03dabe0b5a3746d843faf"},"tools":[{"name":"check_connection","title":null,"description":"Check whether the given MIDAS NX product is reachable through the Open API.\n\nReturns the connection status and the program name. A blocked NX session\n(an open dialog) can still report \"connected\"; a later read then times out.","inputs":[{"name":"product","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":61},{"name":"list_tables","title":null,"description":"List the tables this server can read: /db model data (e.g. \"NODE\") and\n/DESIGN design parameters (e.g. \"DESIGN/STEEL/DSTL\", the steel design code).\n\nproduct: keep only tables that product supports. search: case-insensitive\ntext matched against the table name and title, e.g. \"load\", \"section\",\n\"design\". No NX call is made.","inputs":[{"name":"product","type":null,"required":false,"description":null},{"name":"search","type":"string","required":false,"description":null}],"outputs":[{"name":"result","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":107},{"name":"describe_table","title":null,"description":"The NX server's own field schema for one /db table (GET /info/db/<TABLE>).\n\nCall this before read_table to learn what each field means.","inputs":[{"name":"product","type":"string","required":true,"description":null},{"name":"table","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":55},{"name":"read_table","title":null,"description":"Records of one table in the open model, e.g. table=\"NODE\" or \"DESIGN/STEEL/DSTL\".\n\nids: return only these record ids. limit: at most this many records\n(capped by the server's MIDAS_MAX_ROWS). The reply says how many records\nthe table holds in all, so a truncated answer is never mistaken for the\nwhole table.","inputs":[{"name":"ids","type":null,"required":false,"description":null},{"name":"limit","type":null,"required":false,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"table","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":112},{"name":"model_summary","title":null,"description":"Record counts of the main tables (nodes, elements, materials, sections,\nthicknesses, static load cases), plus the model's unit system.\n\nA table that fails to read is reported with its error, the rest still count.","inputs":[{"name":"product","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":62},{"name":"read_model_info","title":null,"description":"Model-wide information NX computes, not stored in a table.\n\nwhat: \"project_status\" (counts of model and load data), \"section_properties\"\n(computed area, inertia, ... per section id), \"story_check_parameter\" and\n\"story_irregularity_parameter\" (Gen only), or \"selection\" (what the user\nhas selected in the NX window now). Entries keyed by id are capped like\nread_table.","inputs":[{"name":"limit","type":null,"required":false,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"what","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":115},{"name":"list_result_tables","title":null,"description":"List the result/report table types result_table accepts, by category.\n\nCategories: \"model\" (mass, weights, loads, sections, supports; no analysis\nneeded), \"analysis\" (reactions, displacements, member forces, stresses,\nmodes), \"story\" (Gen: story drift, displacement, shear, stability,\nirregularity checks), \"design\" (design member forces). Each category says\nwhat NX needs before its tables have data.\n\nsearch: case-insensitive text matched against the type and its name,\ne.g. \"reaction\", \"beam\", \"drift\". No NX call is made.","inputs":[{"name":"category","type":null,"required":false,"description":null},{"name":"search","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":147},{"name":"result_table","title":null,"description":"One result table from the open model (POST /post/TABLE, nothing exported).\n\ntable_type: from list_result_tables. Common ones: \"REACTIONG\" (support\nreactions), \"DISPLACEMENTG\" (nodal displacements), \"BEAMFORCE\" (beam/column\nmember forces), \"PLATEFORCEL\" (plate forces), \"EIGENVALUEMODE\" (periods and\nmodes), \"STORY_MASS\" / \"STORYWEIGHT\" (story mass and weight, no analysis\nneeded), \"STORY_DRIFT_X\" / \"STORY_DRIFT_Y\" and \"STORY_SHEAR_FOR_RS\" (Gen\nstory checks), \"BEAMDESIGNFORCES\" / \"COLUMNDESIGNFORCES\" (design forces).\nload_cases: names with a type suffix, e.g. [\"DL(ST)\", \"COMB1(CB)\"]; the\nmodel's load cases are in read_table(\"STLD\"). components: column names to\nkeep. keys: node or element ids to restrict to. Rows beyond limit (capped\nby MIDAS_MAX_ROWS) are counted, not returned.","inputs":[{"name":"components","type":null,"required":false,"description":null},{"name":"keys","type":null,"required":false,"description":null},{"name":"limit","type":null,"required":false,"description":null},{"name":"load_cases","type":null,"required":false,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"table_type","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":287},{"name":"capture_view","title":null,"description":"A PNG of the model window as NX shows it now (POST /view/CAPTURE).\n\nShows the current view: viewpoint, active elements and result display are\nwhatever the user has set in NX; this tool does not change them. width and\nheight are in pixels (each at most 2000); leave them out for the window size.","inputs":[{"name":"height","type":null,"required":false,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"width","type":null,"required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":96},{"name":"show_result","title":null,"description":"Show an analysis result in the NX window and return it as a PNG.\n\nLike picking a result under Results in NX (POST /view/RESULTGRAPHIC, then\n/view/CAPTURE): the window keeps showing it afterwards. The model and its\nresults are not changed. Needs the analysis run in NX.\n\nresult and its components (default first):\n  \"reactions\"      FZ, FX, FY, MX, MY, MZ (values are always shown)\n  \"displacement\"   DXYZ, DX, DY, DZ (contour)\n  \"deformed_shape\" DXYZ, DX, DY, DZ (deformed over undeformed)\n  \"beam_diagram\"   My, Mz, Fx (axial), Fy, Fz (shear), Mx (torsion)\n  \"plate_forces\"   Mxx, Myy, Mxy, Fxx, Fyy, Fxy\nload_case: a name from read_table(\"STLD\"), e.g. \"DL\"; a combination with\nits type suffix as result_table takes it, e.g. \"gLCB1(CB)\", \"cLCB1(CBC)\".\nshow_values writes the numbers on the picture; deform_scale scales the\ndeformed shape (NX's own scale when left out). width/height: pixels, at\nmost 2000 each.","inputs":[{"name":"component","type":null,"required":false,"description":null},{"name":"deform_scale","type":null,"required":false,"description":null},{"name":"height","type":null,"required":false,"description":null},{"name":"load_case","type":"string","required":true,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"result","type":"string","required":true,"description":null},{"name":"show_values","type":"boolean","required":false,"description":null},{"name":"width","type":null,"required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":341},{"name":"run_analysis","title":null,"description":"Run the analysis in NX (POST /doc/ANAL). Two steps: preview, then apply.\n\nNX saves the open document over its file before analysing (leaving a .bak),\nunsaved changes included, even when it then refuses the analysis. So this\nneeds a document that has been saved before, seen in the NX window title on\nthis PC; a new, never-saved document would raise a Save As dialog that\nblocks NX, and is refused here.","inputs":[{"name":"confirm_token","type":null,"required":false,"description":null},{"name":"product","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":118},{"name":"save_copy","title":null,"description":"Save the model as a new file in the output folder (POST /doc/SAVEAS).\nTwo steps: preview, then apply.\n\nLike Save As in NX: from then on NX works on the copy, so the window, later\nsaves and run_analysis use it, and the original file stays as it was last\nsaved. The name is generated (mcp-save-<product>-<time>, .mgbx for Gen,\n.mcbz for Civil). Also the way to give a never-saved document a file, which\nrun_analysis needs.","inputs":[{"name":"confirm_token","type":null,"required":false,"description":null},{"name":"product","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":136},{"name":"write_records","title":null,"description":"Create or update records in one /db or /DESIGN table. Two steps: preview, then apply.\n\nrecords: {id: fields}, e.g. {\"13\": {\"X\": 0, \"Y\": 0, \"Z\": 6.4}} for NODE; see\ndescribe_table for the fields (or read_table, for /DESIGN). \"create\"\nrefuses ids that exist, \"update\" ids that do not, except record \"1\" of the\none-record /DESIGN tables DCO, DCTL, LLRF, LMRR and SRDF, which have no\ncreate and are made by their first update. At most 50 records. After applying, the\ntable is read back and what actually changed is returned; some tables store\na new record under an id of their own choosing, so trust \"added\", not the\nids you sent. Elements naming a material, section or thickness that does\nnot exist are refused (NX would store them pointing at nothing). Any write\ndiscards the analysis results.","inputs":[{"name":"confirm_token","type":null,"required":false,"description":null},{"name":"mode","type":"string","required":true,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"records","type":"object","required":true,"description":null},{"name":"table","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":260},{"name":"delete_records","title":null,"description":"Delete records by id from one /db or /DESIGN table. Two steps: preview, then apply.\n\nOnly the listed ids, one DELETE per id; there is no way to empty a table\nhere. Nodes still used by an element are refused (NX would delete the\nelements with them), and so are materials, sections and thicknesses still\nused by an element (NX would leave the elements pointing at nothing).\nDeleting a load case deletes its loads too; the preview says so. At most 50\nids. The table is read back afterwards: on some /DESIGN tables NX resets\nthe record to defaults rather than removing it, or keeps it unchanged, and\nthe result says which; records NX removed from other tables are counted.","inputs":[{"name":"confirm_token","type":null,"required":false,"description":null},{"name":"ids","type":"array","required":true,"description":null},{"name":"product","type":"string","required":true,"description":null},{"name":"table","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":188},{"name":"apply_operations","title":null,"description":"Create, update and delete records in several tables at once, e.g. the\nmaterials, sections, nodes, elements, load cases and loads of a small model.\nTwo steps: preview, then apply.\n\nEach operation is what write_records or delete_records would take: table,\naction (\"create\", \"update\" or \"delete\"), and records ({id: fields}) or ids.\nThe steps are run in midas-nx's dependency order (deletes first, then\nwhat is named before what names it), whatever order they are given in;\nthe preview shows that order. The preview checks the whole batch first,\nwith the records earlier steps create counted as existing: the same rules\nas write_records and delete_records. A UNIT change is not taken here.\nAt most 20 operations and 200 records in all.\n\nApplying runs the steps one by one and reads each table back. It stops at\nthe first step that fails, changes nothing, or stores new records under\nother ids while a later step names that table; what was already applied\nstays (nothing is rolled back) and the result lists the steps done, the\nfailed one, and the ones not run. Any change discards the analysis results.","inputs":[{"name":"confirm_token","type":null,"required":false,"description":null},{"name":"operations","type":"array","required":true,"description":null},{"name":"product","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":276},{"name":"generate_load_combinations","title":null,"description":"Have NX add its KDS design load combinations. Two steps: preview, then apply.\n\nkind: \"concrete\" (KDS 41 20 : 2022, into LCOM-CONC), \"steel\" (KDS 41 30 :\n2022, LCOM-STEEL) or \"src\" (KDS 41 SRC : 2022, LCOM-SRC). NX builds the\ncombinations from the model's static load cases and their load types and\nappends them (cLCB1, cLCB2, ... for concrete); the existing ones stay.\nGen NX only: Civil NX has no such command. After applying, the table is\nread back and the combinations NX added are returned. Any change discards\nthe analysis results.","inputs":[{"name":"confirm_token","type":null,"required":false,"description":null},{"name":"kind","type":"string","required":true,"description":null},{"name":"product","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":191}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:58:10.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":34,"partial":false,"deprecated":null,"stale":null,"noRepo":1}},"mismatches":[],"changelog":{"trackingSince":"2026-11-03","recent":[{"id":"chg_01a1a9db-6748-7729-afd0-5ec42d1352be","kind":"check.measure","summary":"Schema quality (2449 → 2725)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a9db-6748-7729-afd0-5ec42d1352be"},{"id":"chg_01a1a714-5f20-7c21-8717-04e3a14e6b45","kind":"check.measure","summary":"Schema quality (121 → 163)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a714-5f20-7c21-8717-04e3a14e6b45"},{"id":"chg_01a1a647-fabf-7238-a0c8-f00aca6b21c7","kind":"check.appeared","summary":"First check of Schema quality (100)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a647-fabf-7238-a0c8-f00aca6b21c7"},{"id":"chg_01a1a647-fabf-7744-905a-814c5261b534","kind":"score.total_changed","summary":"Trust score (40 → 41)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a647-fabf-7744-905a-814c5261b534"},{"id":"chg_01a1a647-fabe-7b7b-9210-aa0187320830","kind":"check.measure","summary":"Schema quality (121 → 158)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a647-fabe-7b7b-9210-aa0187320830"},{"id":"chg_01a1a647-fabe-7056-8290-650a40485047","kind":"check.measure","summary":"Tool coverage (15% → 7%)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a647-fabe-7056-8290-650a40485047"},{"id":"chg_01a1a647-fabb-7903-b204-cf66ceb18218","kind":"check.reason","summary":"Stability (Stability not yet verified: two runs of the same published version returned different tool surfaces, so we cannot tell a change in the package from a difference in our own sandbox run.)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a647-fabb-7903-b204-cf66ceb18218"},{"id":"chg_01a1a0d2-e059-7e26-9483-62fbe4068b06","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp#chg-chg_01a1a0d2-e059-7e26-9483-62fbe4068b06"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp","markdown":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp.md","changelogJson":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/dennis5882-midas-nx-mcp/midas-nx-mcp.xml","external":[{"label":"Repository","href":"https://github.com/Dennis5882/midas-nx-mcp"}]}}