Skip to content

A Blueprint-style visual node editor for creating FastMCP servers. Build MCP tools, resources, and prompts by connecting nodes - no coding required.

Notifications You must be signed in to change notification settings

PhialsBasement/GUI-MCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

guiMCP

A Blueprint-style visual node editor for creating FastMCP servers. Build MCP tools, resources, and prompts by connecting nodes - no coding required.

Python License

Features

image
  • Visual Node Programming - Unreal Engine Blueprint-style interface with execution flow (white) and data (colored) pins
  • Full MCP Support - Create Tools, Resources, and Prompts visually
  • Turing Complete - Variables, loops (While, For Each), conditionals (Branch), and all the logic you need
  • Live Code Preview - See generated Python code update in real-time as you build
  • Simulate Tool Calls - Right-click any tool to test it directly in the editor
  • Save/Load Projects - Save your node graphs as .guimcp files
  • Export to Python - Generate clean, runnable FastMCP server code

Node Categories

image
Category Nodes
MCP Server Config, Tool Definition, Resource Definition, Prompt Definition
Flow Control Return, Branch (If/Else), For Each, While Loop, Sequence
Variables Set Variable, Get Variable, Make Literal
Math Add, Subtract, Multiply, Divide, Modulo
Comparison Equal, Not Equal, Greater Than, Less Than, And, Or, Not
String Format, Concatenate, Length, Split, Join, To String
List Make List, Get, Length, Append, Contains
Dictionary Make Dict, Get, Set, Keys, Values, Has Key
I/O HTTP Request, File Read, File Write, JSON Parse, JSON Stringify

Installation

# Clone the repository
git clone https://github.com/yourusername/guiMCP.git
cd guiMCP

# Install dependencies
pip install -r requirements.txt

# Run
python main.py

Requirements

  • Python 3.11+
  • PySide6
  • NodeGraphQt
  • FastMCP (for running exported servers)

Quick Start

  1. Add a Server Config node (sets your MCP server name)
  2. Add a Tool Definition node (defines your tool's name, description, parameters)
  3. Build your logic using flow control and data nodes
  4. Add a Return node and connect it to the tool's execution output
  5. Connect data to the Return node's value input
  6. Export via File → Export Python (Ctrl+E)
  7. Run your exported server: python mcp_server.py

Example

Creating a simple tool that fetches a cat fact:

Tool Definition ("get_cat_fact")
       ↓ exec
HTTP Request (url: "https://catfact.ninja/fact")
       ↓ exec          ↓ response
Return  ←─────────────┘

Generates:

from fastmcp import FastMCP
import urllib.request
import urllib.error

mcp = FastMCP("MyServer")

@mcp.tool
def get_cat_fact() -> str:
    """Fetches a random cat fact"""
    _http_url = 'https://catfact.ninja/fact'
    # ... HTTP code ...
    return http_response

if __name__ == "__main__":
    mcp.run()

Keyboard Shortcuts

Shortcut Action
Ctrl+N New Project
Ctrl+O Open Project
Ctrl+S Save Project
Ctrl+Shift+S Save Project As
Ctrl+E Export Python
Ctrl+Z Undo
Ctrl+Y Redo
Delete Delete Selected Nodes

Project Structure

guiMCP/
├── main.py                 # Entry point
├── guimcp/
│   ├── core/               # Port types, validation
│   ├── nodes/              # All node definitions
│   │   ├── base/           # ExecutableNode, PureNode, EventNode
│   │   ├── mcp/            # Server, Tool, Resource, Prompt
│   │   ├── flow_control/   # Branch, ForEach, While, Return
│   │   ├── data/           # Math, String, List, Dict operations
│   │   ├── variables/      # Get/Set Variable, Literals
│   │   └── io/             # HTTP, File, JSON operations
│   ├── codegen/            # Code generation
│   └── ui/                 # Main window, dialogs, widgets
└── tests/                  # Test suite

How It Works

  1. Execution Pins (white) define the order operations run - connect left to right
  2. Data Pins (colored) pass values between nodes - colors indicate types
  3. Event Nodes (Tool/Resource/Prompt Definition) are entry points with only exec_out
  4. Executable Nodes have exec_in and exec_out, generate statements
  5. Pure Nodes have no exec pins, generate expressions (evaluated lazily)

License

MIT

About

A Blueprint-style visual node editor for creating FastMCP servers. Build MCP tools, resources, and prompts by connecting nodes - no coding required.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages