Skip to content

Tools Overview

GR-MCP exposes tools in three groups: platform tools (always available) for flowgraph design, block development tools (loaded on demand) for code generation and protocol analysis, and runtime tools (loaded on demand) for container control.

Tool Organization

34 Platform Tools

Always available for flowgraph building, validation, and code generation. No Docker required.

~18 Block Dev Tools

Loaded via enable_block_dev_mode(). Generate blocks, analyze protocols, export to OOT.

~40 Runtime Tools

Loaded via enable_runtime_mode(). Requires Docker for container features.

Platform Tools (Always Available)

Flowgraph Management

ToolDescription
get_blocksList all blocks in the flowgraph
make_blockCreate a new block
remove_blockRemove a block
save_flowgraphSave to .grc file
load_flowgraphLoad from .grc file
get_flowgraph_optionsGet flowgraph metadata
set_flowgraph_optionsSet flowgraph metadata
export_flowgraph_dataExport as dict
import_flowgraph_dataImport from dict

Block Management

ToolDescription
get_block_paramsList block parameters
set_block_paramsSet block parameters
get_block_sourcesList output ports
get_block_sinksList input ports
bypass_blockBypass a block
unbypass_blockUnbypass a block

Connection Management

ToolDescription
get_connectionsList all connections
connect_blocksConnect two blocks
disconnect_blocksDisconnect two blocks

Validation

ToolDescription
validate_blockValidate a single block
validate_flowgraphValidate entire flowgraph
get_all_errorsGet all validation errors

Platform

ToolDescription
get_all_available_blocksList all block types
search_blocksSearch blocks by keyword
get_block_categoriesList block categories
load_oot_blocksLoad OOT block paths
add_block_pathAdd a block path
get_block_pathsList block paths

Code Generation

ToolDescription
generate_codeGenerate Python code
evaluate_expressionEvaluate Python expression
create_embedded_python_blockCreate embedded Python block

Block Development Tools (Enable with enable_block_dev_mode())

Block Dev Mode Control

ToolDescription
get_block_dev_modeCheck block dev mode status
enable_block_dev_modeEnable block dev tools
disable_block_dev_modeDisable block dev tools

Block Generation

ToolDescription
generate_sync_blockGenerate gr.sync_block from description
generate_basic_blockGenerate gr.basic_block with custom forecast
generate_interp_blockGenerate interpolation block
generate_decim_blockGenerate decimation block
validate_block_codeValidate syntax, imports, signatures
parse_block_promptParse natural language into block spec

Block Testing

ToolDescription
test_block_in_dockerTest block in isolated Docker container

Protocol Analysis

ToolDescription
parse_protocol_specParse protocol description into structured model
generate_decoder_chainGenerate multi-block decoder pipeline
get_missing_oot_modulesIdentify OOT modules needed for a protocol

Signal Analysis

ToolDescription
analyze_iq_fileAnalyze IQ capture characteristics

OOT Export

ToolDescription
generate_grc_yamlGenerate .block.yml for GRC integration
generate_oot_skeletonGenerate gr_modtool-compatible OOT scaffold
export_block_to_ootExport block to full OOT module structure
export_from_flowgraphExport embedded block from flowgraph to OOT

Runtime Tools (Enable with enable_runtime_mode())

Runtime Mode Control

ToolDescription
get_runtime_modeCheck runtime mode status
enable_runtime_modeEnable runtime tools
disable_runtime_modeDisable runtime tools
get_client_capabilitiesGet MCP client capabilities
list_client_rootsList client root directories

Docker Container Management

ToolDescription
launch_flowgraphLaunch in Docker container
list_containersList running containers
stop_flowgraphStop a container
remove_flowgraphRemove a container
capture_screenshotCapture GUI screenshot
get_container_logsGet container logs

XML-RPC Control

ToolDescription
connectConnect to XML-RPC URL
connect_to_containerConnect by container name
disconnectDisconnect
get_statusGet connection status
list_variablesList exposed variables
get_variableGet variable value
set_variableSet variable value
startStart flowgraph
stopStop flowgraph
lockLock for updates
unlockUnlock after updates

ControlPort/Thrift

ToolDescription
connect_controlportConnect to ControlPort
connect_to_container_controlportConnect by container
disconnect_controlportDisconnect ControlPort
get_knobsGet knob values
set_knobsSet knob values
get_knob_propertiesGet knob metadata
get_performance_countersGet perf metrics
post_messageSend PMT message

Code Coverage

ToolDescription
collect_coverageCollect coverage data
generate_coverage_reportGenerate report
combine_coverageCombine multiple runs
delete_coverageDelete coverage data

OOT Module Installation

ToolDescription
detect_oot_modulesDetect OOT dependencies
install_oot_moduleInstall OOT module
list_oot_imagesList installed images
remove_oot_imageRemove OOT image
build_multi_oot_imageBuild combo image
list_combo_imagesList combo images
remove_combo_imageRemove combo image

MCP Resources

In addition to tools, GR-MCP exposes resources for OOT module discovery and block development prompts:

URIDescription
oot://directoryIndex of all OOT modules in the catalog
oot://directory/{name}Detailed info for a specific module

Block Development Prompts (available when block dev mode is enabled)

URIDescription
prompts://block-generation/sync-blockPatterns for gr.sync_block generation
prompts://block-generation/basic-blockPatterns for gr.basic_block generation
prompts://block-generation/common-patternsReusable block patterns and idioms
prompts://block-generation/grc-yamlGRC YAML .block.yml format guide
prompts://protocol-analysis/decoder-chainDecoder pipeline generation patterns