StockSharp DesktopDriver
NUGET · STOCKSHARP.DESKTOPDRIVER.MCP
Inspect and drive Avalonia, WPF and MAUI desktop applications through local MCP.
Available components
Last scanned (19 hours ago)
Scores higher than 55% of NuGet servers
Category Browser Automation
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Build provenance not yet verified. View diagnostics → Unverified
- Licence could not be checked: the licence is shipped as a file inside the package, not declared as a standard (SPDX) licence identifier, so we cannot tell whether it is OSI-approved.Unverified
- Actively maintained (last published 8 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability66
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 4148 tokens (~133/item across 31 items; 31 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
- Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 31 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Oct 26 +4
- Stability: unverified → 0.23 ▲ functional
- 14 Oct 26 +30
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- First check of Schema quality: good functional
- First check of Tool coverage: 100 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed nuget/StockSharp.DesktopDriver.Mcp@1.0.1
Provenance Inconclusive
We could not complete the check, so nothing is claimed either way. This is a gap on our side, not a finding about the package.
| Result | Inconclusive |
|---|---|
| Ecosystem | nuget |
| Reason | Signature present, unverified |
Signer
| Signed as | Repository signature, names nuget.org |
|---|---|
| Subject | CN=NuGet.org Repository by Microsoft,O=NuGet.org Repository by Microsoft,L=Redmond,ST=Washington,C=US |
| Issuer | CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1,O=DigiCert\, Inc.,C=US |
| Valid from | 23 Feb 2024 |
| Valid until | 18 May 2027 |
| Service index | https://api.nuget.org/v3/index.json |
| Owners | StockSharp |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
Registry declarations For information only
What the registry and the package's own manifest say about this version. The publisher or the registry writes these, nothing here is verified, and none of it affects the score.
| Repository | https://github.com/StockSharp/DesktopDriver.Mcp |
|---|---|
| Repository type | git |
| Commit | a5e10d1c1165cbe39027c3845dae860118434805 |
| Project URL | https://stocksharp.com/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ui_action_status What became of an input ~68
What became of an input already sent, by the action identifier its receipt carried. Worth asking when a send failed on the way back and it is not clear whether it happened.
| Name | Type | Req | Description |
|---|---|---|---|
| actionId | string | yes | The action identifier from an earlier receipt. |
| instance | string | yes | Which instance. |
No output schema declared.
No examples provided.
ui_attach_application Attach to a running application ~69
Connects to an application somebody else started with --ui-automation. Needs the endpoint file it wrote. The local channel is restricted to the current OS user. An application attached to this way is never closed by ui_release_application.
| Name | Type | Req | Description |
|---|---|---|---|
| endpointFile | string | yes | The endpoint file the application wrote. |
No output schema declared.
No examples provided.
ui_bring_into_view Bring a part onto the screen ~351
Brings a part of a control onto the screen so that it can be clicked - a row far down a table, a tab scrolled off the strip. A grid builds visuals only for what it is showing, so a row a thousand down has nothing to click until this has run. Afterwards look the part up again by its key: everything on screen has moved. This uses the control's own positioning and sends no input, so it proves nothing about whether scrolling works.
| Name | Type | Req | Description |
|---|---|---|---|
| annotationId | string | – | Which annotation, for chartAnnotation. |
| columnId | string | – | Which column, for gridHeader, gridCell and gridCellControl. |
| controlName | string | – | The name of the control inside the cell, the tree item or the property's editor, for gridCellControl, treeItemControl and propertyValueControl. |
| instance | string | yes | Which instance. |
| itemIndex | integer|null | – | The item's position in the list, from 0, for listItem. |
| itemKey | string | – | The item's path through the tree, for treeItem and treeItemControl. |
| node | string | yes | Which node, as scope/identifier. |
| panelId | string | – | Which panel, for dockTab and dockClose. |
| part | string | – | Which part: gridHeader, gridCell, gridCellControl, propertyValue, propertyValueControl, listItem, treeItem, treeItemControl, dockTab, dockClose or chartAnnotation. |
| propertyPath | string | – | The property's path on the object the editor shows, for propertyValue and propertyValueControl. |
| rowKey | string | – | Which row, for gridCell and gridCellControl. |
No output schema declared.
No examples provided.
ui_chart_points A series' points ~183
The points of one series, as they were drawn. A period or a starting point narrows the answer, which matters on a chart holding thousands of candles. Times are UTC.
| Name | Type | Req | Description |
|---|---|---|---|
| fromInclusive | string|null | – | From this UTC time, as 2026-01-02T10:00:00Z. |
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The chart, as scope/identifier. |
| pointKeys | string | – | Only these points, by key, separated by commas. |
| seriesId | string | yes | Which series, from ui_chart_series. |
| startIndex | integer | – | Start at this point number; from the beginning when negative. |
| toExclusive | string|null | – | Up to but not including this UTC time. |
No output schema declared.
No examples provided.
ui_chart_series A chart's series ~98
The series a chart is drawing: what each is, which area it is in, how many points it holds and what it is drawn with. Read this first — the series identifiers it answers with are what names a series to ui_chart_points.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The chart, as scope/identifier. |
No output schema declared.
No examples provided.
ui_click Click something ~349
Clicks a node, or a part of one: a column header, a cell, a panel's tab or its close button. Answers with a receipt saying what became of the click. It being delivered does not mean the application did what was hoped — check that with ui_snapshot or ui_wait.
| Name | Type | Req | Description |
|---|---|---|---|
| annotationId | string | – | Which annotation, for chartAnnotation. |
| button | string | – | Left, Middle or Right. |
| columnId | string | – | Which column, for gridHeader, gridCell and gridCellControl. |
| controlName | string | – | The name of the control inside the cell, the tree item or the property's editor, for gridCellControl, treeItemControl and propertyValueControl. |
| count | integer | – | How many clicks; 2 for a double click. 1 by default. |
| instance | string | yes | Which instance. |
| itemIndex | integer|null | – | The item's position in the list, from 0, for listItem. |
| itemKey | string | – | The item's path through the tree, for treeItem and treeItemControl. |
| node | string | yes | Which node, as scope/identifier. |
| panelId | string | – | Which panel, for dockTab and dockClose. |
| part | string | – | A part of it: gridHeader, gridCell, gridCellControl, propertyValue, propertyValueControl, listItem, treeItem, treeItemControl, dockTab, dockClose or chartAnnotation. |
| propertyPath | string | – | The property's path on the object the editor shows, for propertyValue and propertyValueControl. |
| rowKey | string | – | Which row, for gridCell and gridCellControl. |
No output schema declared.
No examples provided.
ui_diagnostics What the module has been saying ~135
What the automation module itself has recorded — refusals, things it could not read, input it could not deliver — newest last, with a cursor to carry on from. Worth reading when a tool answered something surprising and the reason is not in the answer.
| Name | Type | Req | Description |
|---|---|---|---|
| actionId | string | – | Only entries about this action. |
| afterCursor | string | – | Carry on from this cursor; from the beginning when empty. |
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 100 by default. |
| node | string | – | Only entries about this node, as scope/identifier. |
No output schema declared.
No examples provided.
ui_diagram_connections What a diagram joins ~139
The connections a diagram routed between its blocks: which socket of which block each leaves and reaches, and the polyline it was actually drawn as. Name a block to read only what touches it. A connection the composition holds but nothing drew has no route, and says so.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| keys | string | – | Only these connections, by key, separated by commas. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The diagram, as scope/identifier. |
| nodeKey | string | – | Only connections touching this block, by its key. |
No output schema declared.
No examples provided.
ui_diagram_nodes A diagram's blocks ~109
The blocks a diagram drew: what each is, what its caption reads as, whether it is selected and where it was drawn. The keys it answers with are what names a block to ui_diagram_connections.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| keys | string | – | Only these blocks, by key, separated by commas. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The diagram, as scope/identifier. |
No output schema declared.
No examples provided.
ui_dock_layout A workspace's layout ~119
How a workspace is arranged: its panels, the tab groups they sit in, which one of each is on top, what is floating and how the space is divided. A panel's address from here is what the reading tools take.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| maxDepth | integer | – | How deep to go; 4 by default. |
| node | string | yes | The workspace, as scope/identifier. |
| rootLayoutId | string | – | Only this part of the layout; the whole of it when empty. |
No output schema declared.
No examples provided.
ui_document_content A document's text ~143
The lines of a document, numbered from one. ui_snapshot on the same node gives the language, the line and character counts, where the caret is, how much is selected and anything the editor is complaining about. The text is what the editor is showing, not what was bound into it: an editor that was given text and failed to show it reads as empty here, which is the point.
| Name | Type | Req | Description |
|---|---|---|---|
| fromLine | integer | – | Start at this line, counting from one. |
| instance | string | yes | Which instance. |
| limit | integer | – | How many lines; 50 by default. |
| node | string | yes | The document, as scope/identifier. |
No output schema declared.
No examples provided.
ui_find Find nodes ~174
Finds nodes by what they are or what they are called. At least one of the conditions has to be given; they all have to match. Answers with addresses to pass to the reading and driving tools. Kinds are words such as grid, chart, orderBook, propertyEditor, workspace, button, textBox.
| Name | Type | Req | Description |
|---|---|---|---|
| automationId | string | – | The node's automation identifier, when it has one. |
| instance | string | yes | Which instance. |
| kind | string | – | What kind of control it is. |
| limit | integer | – | How many to answer with; 50 by default. |
| name | string | – | What it is called. |
| scope | string | – | Only inside this scope. |
| surface | string | – | Only inside this window or popup. |
| text | string | – | Text it shows. |
No output schema declared.
No examples provided.
ui_grid_columns A table's columns ~112
The columns of a table: what each is called, whether it is on show, how wide it is and how it is sorted. Read this first — the column identifiers it answers with are what names a cell.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | string | – | Only these columns, separated by commas; all of them when empty. |
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The table, as scope/identifier. |
No output schema declared.
No examples provided.
ui_grid_groups A table's groups ~100
The groups a table is grouped into, with the count and the aggregates of each, and whether it is open. Naming a group answers with the groups inside it.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The table, as scope/identifier. |
| parentGroupId | string | – | Inside this group; the top level when empty. |
No output schema declared.
No examples provided.
ui_grid_rows A table's rows ~180
The rows of a table, as the table itself has them after sorting, filtering and grouping. viewData reads what the table holds; viewport reads only the rows drawn on screen right now. Naming rows or columns narrows the answer, which matters: a wide table is a lot of cells.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | string | – | Only these columns, separated by commas. |
| instance | string | yes | Which instance. |
| limit | integer | – | How many rows to answer with; 50 by default. |
| mode | string | – | viewData for what the table holds, viewport for what is drawn. |
| node | string | yes | The table, as scope/identifier. |
| rowKeys | string | – | Only these rows, by key, separated by commas. |
| startIndex | integer | – | Start at this row number; from the beginning when negative. |
No output schema declared.
No examples provided.
ui_list_applications List applications ~68
Lists the applications this machine can drive and the ones already running. Start here: every other tool names an application by the instance reported in runningAs. An application that is not built cannot be started; it has to be built with the driver in it, which is usually a separate build.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ui_order_book_levels An order book's levels ~132
The levels an order book is showing, keyed by side and price, as bid@100.5 or ask@100.7. Naming a side answers with only that half. ui_snapshot on the same node gives the best prices, the spread, the totals per side and whether the book is crossed.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The order book, as scope/identifier. |
| side | string|null | – | Only one side: Bid or Ask; both when not given. |
No output schema declared.
No examples provided.
ui_press_key Press a key ~129
Presses one key at a node, optionally with modifiers. Keys are named as Avalonia names them: Enter, Escape, Tab, Delete, Back, Up, Down, Left, Right, Home, End, PageUp, PageDown, F1 to F12, A to Z, D0 to D9.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| key | string | yes | Which key. |
| modifiers | string | – | Held down with it: Shift, Control, Alt, Meta, separated by commas. |
| node | string | yes | Which node, as scope/identifier. |
No output schema declared.
No examples provided.
ui_property_items A property editor's properties ~136
The properties a property editor is showing, each by its path on the object, with its value, the text on screen, what kind of editor it calls for, and anything the editor is refusing. A property nobody has opened has no properties of its own yet: opening one is something a person does, and a read will not do it.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The property editor, as scope/identifier. |
| paths | string | – | Only these properties, by path, separated by commas. |
No output schema declared.
No examples provided.
ui_release_application Let go of an application ~59
Lets go of an application. One this server started is closed; one it only attached to is left running, because closing it would close a window its owner is working in.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance, from ui_list_applications. |
No output schema declared.
No examples provided.
ui_screenshot Take a picture ~156
Takes a picture of a node and writes it to a file, answering with the file's path and the picture's details. Use ui_screenshot_image when the picture itself is needed rather than the file. To check what a control holds, read it instead — a picture cannot be compared reliably.
| Name | Type | Req | Description |
|---|---|---|---|
| captureKind | string | – | controlRender, windowCapture or screenCapture; controlRender by default. |
| instance | string | yes | Which instance. |
| maxPixelHeight | integer | – | Refuse rather than take a picture taller than this, in pixels. |
| maxPixelWidth | integer | – | Refuse rather than take a picture wider than this, in pixels. |
| node | string | yes | Which node, as scope/identifier. |
No output schema declared.
No examples provided.
ui_screenshot_image Take a picture and show it ~157
Takes a picture of a node and answers with the image itself, to be looked at. The whole image travels back, so aim it at the control in question rather than at a whole window. A size limit refuses an oversized picture rather than shrinking it: a shrunk picture cannot be measured.
| Name | Type | Req | Description |
|---|---|---|---|
| captureKind | string | – | controlRender, windowCapture or screenCapture; controlRender by default. |
| instance | string | yes | Which instance. |
| maxPixelHeight | integer | – | Refuse rather than take a picture taller than this, in pixels. |
| maxPixelWidth | integer | – | Refuse rather than take a picture wider than this, in pixels. |
| node | string | yes | Which node, as scope/identifier. |
No output schema declared.
No examples provided.
ui_scroll Scroll something ~80
Scrolls a node. Distances are in wheel notches; negative scrolls down and right.
| Name | Type | Req | Description |
|---|---|---|---|
| deltaX | number | – | Sideways, in notches. |
| deltaY | number | – | Up and down, in notches. |
| instance | string | yes | Which instance. |
| node | string | yes | Which node, as scope/identifier. |
No output schema declared.
No examples provided.
ui_session What answered ~58
What an instance is and what it can do: the product and its version, the fixture it was started with, whether the outside world has been replaced, how input is sent and the default read budget.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
No output schema declared.
No examples provided.
ui_snapshot One node's state ~91
Everything one node has to say about itself: whether it is there, enabled, visible and focused, where it is, and the state its own kind defines — a grid's counts and sort, a chart's ranges, a book's best prices. Use this to check what a click actually did.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| node | string | yes | Which node, as scope/identifier. |
No output schema declared.
No examples provided.
ui_start_application Start an application ~78
Starts one of the applications from ui_list_applications and waits until its window is drawn and it can be driven. Answers with the instance to pass to every other tool. Starting the same application twice gives two instances, and the second is named with a #2.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | Which application, from ui_list_applications. |
No output schema declared.
No examples provided.
ui_tree The tree of nodes ~134
The tree of nodes under one node, or under the whole application when no node is given. Bounded by depth and count; the answer says when it was cut short. Reading never changes what it reads: it does not open a panel that has never been shown or expand a property that is closed.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| maxDepth | integer | – | How deep to go; 4 by default. |
| maxNodes | integer | – | How many nodes at most; 200 by default. |
| node | string | – | Where to start, as scope/identifier; the whole application when empty. |
No output schema declared.
No examples provided.
ui_tree_items A tree's items ~147
The items a tree is showing, each by its path, with its text and whether it is open and selected. An item nobody has opened has nothing inside it yet: opening one is something a person does, and a read will not do it. Name a parent to read only what is directly inside it.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| keys | string | – | Only these items, by path, separated by commas. |
| limit | integer | – | How many to answer with; 50 by default. |
| node | string | yes | The tree, as scope/identifier. |
| parentKey | string | – | Only what is directly inside this item, by its path. |
No output schema declared.
No examples provided.
ui_type_text Type into something ~92
Types text into a node. Append adds to what is there; Replace clears it first. The text is typed as characters, so the application's own input handling runs exactly as it would for a person.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
| mode | string | – | Append or Replace. |
| node | string | yes | Which node, as scope/identifier. |
| text | string | yes | What to type. |
No output schema declared.
No examples provided.
ui_wait Wait for something to happen ~254
Waits until a node satisfies a condition, or until the time runs out. Either that the node is there or is not, or that one of the fields ui_snapshot reports compares as asked. The field is named by its path in that answer, such as rowCount or bestBidPrice. Say which kind the value is: guessing between a price and a label gets it wrong silently and the wait simply times out.
| Name | Type | Req | Description |
|---|---|---|---|
| comparison | string | – | How to compare: Equal, NotEqual, Greater, GreaterOrEqual, Less, LessOrEqual, Contains. |
| expectedToExist | boolean | – | When no field is given: true to wait for the node to be there, false for it to be gone. |
| field | string | – | A field from ui_snapshot; leave empty to wait for the node itself. |
| instance | string | yes | Which instance. |
| node | string | yes | Which node, as scope/identifier. |
| timeoutSeconds | integer | – | How long to wait, in seconds; 10 by default. |
| value | string | – | What to compare against. |
| valueKind | string | – | What kind it is: string, boolean, int64, decimal, double, timestamp, null. |
No output schema declared.
No examples provided.
ui_windows Windows on screen ~48
The windows and popups an application has open, each with the address of its root node. Use this to find out where to look before searching inside.
| Name | Type | Req | Description |
|---|---|---|---|
| instance | string | yes | Which instance. |
No output schema declared.
No examples provided.
How do I install the StockSharp DesktopDriver MCP server?
StockSharp DesktopDriver runs locally as a NuGet package, launched with dnx StockSharp.DesktopDriver.Mcp@1.0.1 --yes. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
nuget · StockSharp.DesktopDriver.Mcp
claude mcp add stocksharp-desktop-driver -- dnx StockSharp.DesktopDriver.Mcp@1.0.1 --yes
What is the StockSharp DesktopDriver MCP server?
StockSharp DesktopDriver is an MCP server listed in the public MCP registry as io.github.StockSharp/desktop-driver. Inspect and drive Avalonia, WPF and MAUI desktop applications through local MCP. This page covers its NuGet package (StockSharp.DesktopDriver.Mcp).
Is the StockSharp DesktopDriver MCP server safe to use?
StockSharp DesktopDriver scores 76 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the StockSharp DesktopDriver MCP server expose?
StockSharp DesktopDriver exposes 31 tools: ui_snapshot, ui_windows, ui_wait, ui_tree_items, ui_document_content, and 26 more. Their descriptions and schemas cost roughly 4,148 tokens of context every time the server is loaded.
Is the StockSharp DesktopDriver MCP server still maintained?
StockSharp DesktopDriver is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.