About Labview MCP Server Toolkit
Labview MCP Server Toolkit is an MCP server published by JanGoebel in the Developer Tools category: a toolkit to host mcp servers from LabVIEW.
The repository has 61 stars and 10 forks, with the last commit 4 days ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/JanGoebel/LabVIEW-MCP-Server-ToolkitThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Labview MCP Server Toolkit
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
1 check has not been run yet.
Releases
README
🧰 LabVIEW MCP Server Toolkit
With this toolkit you can make large language models like ChatGPT or Claude control your LabVIEW applications.
It opens a http server on the current machine. An MCP client can connect to that server and retrieve information about the available tools, prompts and resources. Then during a chat-conversation the LLM can decide itself when to call a VI for a specific purpouse.
✨ Overview
The Model Context Protocol (MCP) is a protocol to enable LLM chatbot applications to call external code. There is a huge community developing MCP servers typically tied to controlling some applications. On mcp.so you can find MCP servers for apps like Blender, TouchDesigner, Photoshop, Git, and many more. You can add multiple of these MCP servers to an MCP Client like Claude Desktop. The AI can then initiate multiple different actions in multiple different software products.
Detailed info can be found here:
https://modelcontextprotocol.io/docs/getting-started/intro
MCP consists of 3 types of objects:
Tools
A tool is a function that can be called by the AI. It has in- and ouputs, a name and a description. The AI can read this description to understand how to use the tool (e.g. which strings to pass to the input ...)
Prompts
A prompt is a function with string-inputs and a single string output. It's listed for the user to pick in the chat-client (little plus icon in claude desktop). When selected, a dialog appears with a description and all parameters (string inputs). When clicking okay the resulting string is inserted into the chat message field. It's a much less used feature than tools and really just a "configurable prompt template".
Resoruces
Resources are very similar to prompts and added in the same way. They return a single string or byte stream. Resources are usually files that are fully returned as text. These are selected just as prompts, but they don't have parameters. They are also much less common than tools and are just longer "prompt templates".
The core communication uses JSON-RPC 2.0 messages transmitted via HTTP POST requests, where:
MCP Clients
This toolkit is tested using Claude Desktop as an MCP client. There are many more clients out there. Usually they have a ..config.json file that contains the MCP config which looks like this:
''' { "mcpServers": { "vi-scripting-server": { "command": "npx", "args": [ "mcp-remote", "http://127.0.0.1:36987/mcp/server" ], "env": { } } } } '''
It may of course contain multiple servers. The port can be changed when starting the server. Claude Desktop usually retrieves the list of available tools and prompts on startup, so multiple restarts may be necessary (close taskbar-icon also).
Download Claude Desktop: https://claude.com/download
🚀 Datatypes
Every control of a tool VI's connector pane becomes a tool input, described to the model as JSON Schema in tools/list. Arguments in tools/call are converted with JSONtext into the control's own type.
| LabVIEW type | JSON Schema | Value in tools/call |
|---|---|---|
| I8 … U64 | integer with minimum/maximum of the representation |
number |
| SGL, DBL, EXT (also with unit) | number |
number |
| Boolean | boolean |
true/false |
| String | string |
string |
| Path | string |
path as text, e.g. C:\\data\\log.csv |
| Timestamp | string with format: date-time |
ISO 8601, e.g. 2026-10-17T12:34:56Z |
| Enum | string with enum of the item names |
item name (a number is an error) |
| Cluster | object with properties named by the element labels |
object; a member left out keeps the control's value |
| Array, any number of dimensions | nested array with items |
nested arrays |
| Other types (variant, waveform, complex, fixed point, ring, map, set, refnum, class, picture) | {} (any value) |
not supported as inputs yet |
What else goes into the schema, so the model knows what to send:
description: the control's description, and the description of every cluster element at any depth (inside clusters and arrays).- Numerics with a unit get
Unit: <unit>.appended to their description. minimum/maximumfrom the control's Data Entry limits when they are set to coerce, combined with the range of the integer representation.default: the control's default value for inputs that are not required on the connector pane (left out when it would be longer than 1024 characters).required: the inputs marked Required on the connector pane.
Write the descriptions with the model in mind: what the value means, its unit and its allowed values.
Outputs of any type are flattened to JSON and returned as text (timestamps as ISO 8601, enums as item names); no outputSchema is sent yet.
Dependencies
This toolkit uses IG HTTP Server Toolkit and JKI JSONtext.
https://www.vipm.io/package/illuminatedg_lib_ig_http_server/
https://www.vipm.io/package/jdp_science_jsontext/
G-AI
Main purpouse to develop this toolkit is to use it for my G-AI project which can generate LabVIEW code using LLMs. Have a look at it here: https://github.com/JanGoebel/G-AI
License
This toolkit is published under the MIT license. Feel free to use and modify it.
README fetched from the repository 5 days ago. The original is authoritative.