Skip to main content
Glama
tugraskan

swatplus-mcp

by tugraskan

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_procedureA

Locate a SWAT+ procedure: source file, line range, module, module imports and only lists, every argument and local declaration with source line/type/initial/inline units and meaning, and select-case vocabularies. All stored fields are returned, never sampled or truncated. Returns advisory scanner warnings in a second content block when this procedure has any; these are not compiler errors.

callersA

Routines that call this procedure. Exhaustive over the whole tree, never sampled or truncated -- one result means exactly one caller, not a partial list.

calleesA

Routines this procedure calls. Exhaustive, not truncated.

file_ioA

Which routines open/read/write a file, with unit numbers and lines. Resolves output files opened via open_output_file. Exhaustive over the whole tree, not truncated.

unit_usersA

Routines using a Fortran unit number, and the file each use targets. Optionally filter by operation. Exhaustive, not truncated.

writersA

Routines that assign a variable, with line numbers and the complete logical assignment statement for derived-type paths when the RHS sidecar is installed. Exhaustive over the whole tree, never sampled or truncated. Relevant scanner warnings are returned separately when present.

loopsA

Loop headers in a procedure with their index variables and start/end lines, for setting a conditional breakpoint. Exhaustive -- every loop in the procedure, not a sample. Relevant scanner warnings are returned separately when present.

provenanceA

Which SWAT+ checkout and commit this index describes, its compile-check status, and scanner-warning count.

search_fieldsA

Find a variable from ordinary words. Searches what the source says each field means, e.g. 'recharge' or 'lateral flow', and returns identifiers with units.

describe_typeB

Every field of a derived type, with units and meaning -- what a state object like aqu_d actually contains.

call_pathC

How execution reaches a procedure, from an entry point down.

read_outputA

Summarise a column of a run's output file: count, first, last, min and max with where they occurred, and how many values went negative.

breakpointB

Where to stop to watch a variable, and on what condition: the routines that assign it, the loops enclosing each assignment, and their index variables. Relevant scanner warnings are returned separately when present.

scope_atA

Which loops enclose a given line of a procedure, outermost first -- the variables live at that point. Relevant scanner warnings are returned separately when present.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 14 tools

Disambiguation4/5

Most tools target clearly distinct analysis questions: callers/callees, file_io/unit_users, loops/scope_at, and breakpoint all have separate purposes. The only real overlaps are file_io versus unit_users (both map routines to Fortran unit numbers/files) and writers versus breakpoint (both identify assignment sites), but the descriptions clarify these from different angles.

Naming Consistency3/5

All names use lowercase snake_case and are readable, but the convention is mixed: some are imperative verb phrases like find_procedure and read_output, while others are bare nouns like callers, callees, writers, loops, and provenance, plus compounds like file_io, unit_users, and scope_at. This is not chaotic, but it lacks the uniform verb_noun pattern of a highly coherent toolset.

Tool Count5/5

Fourteen tools is a well-scoped size for a complex SWAT+ source-code analysis server. Each tool addresses a distinct code-navigation or debugging concern, and none feel redundant enough to remove.

Completeness4/5

The server covers procedure discovery, call graphs, file/unit I/O, variable definitions, derived-type structure, loop context, breakpoint guidance, provenance, and output-file summarization, which is strong for its domain. Minor gaps exist, such as no direct source-text listing or a module/procedure inventory, but agents can still complete core analysis workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues