Skip to main content
Glama
tina4stack

Claude Pascal MCP Server

by tina4stack

run_pascal

Compile Pascal source code and execute it, returning both compiler messages and program output. Optionally specify a compiler and provide stdin input.

Instructions

Compile and execute Pascal source code, returning the program output.

Compiles the source code, runs the resulting executable, and returns both compilation messages and program output (stdout/stderr).

Args: source_code: The complete Pascal source code to compile and run. Should be a program (not a unit) with a begin..end block. compiler: Which compiler to use. Can be a type name ('fpc', 'dcc32', 'dcc64') or a full path to a specific compiler executable (e.g., 'C:\Program Files (x86)\Embarcadero\Studio\37.0\bin\dcc64.exe'). If not specified, auto-selects the best available compiler. stdin_input: Optional text input to send to the program's stdin. Useful for programs that read from input.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
compilerNo
source_codeYes
stdin_inputNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.13.6

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavior disclosure. It states it compiles, runs the resulting executable, returns both compilation messages and program output (stdout/stderr), and auto-selects the best compiler. It could mention side effects like generated executables or environment dependencies, but the core behavior is clearly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a two-sentence top-level summary followed by a compact Args list. Every sentence adds useful information, and the key purpose is front-loaded ahead of parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's execution complexity and zero annotation coverage, the description covers the main behavioral and parameter aspects well. Minor gaps remain around execution environment, timeouts, and what happens to generated executables, but the presence of an output schema reduces the need to describe return shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description's Args section fully documents all three parameters: source_code must be a program with a begin..end block; compiler accepts type names or full paths with auto-selection behavior; stdin_input provides optional input to the program. This adds essential meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Compile and execute Pascal source code, returning the program output.' This clearly differentiates run_pascal from sibling compile_pascal by including execution, not just compilation, and by returning program output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: source_code should be a complete program with a begin..end block, not a unit; stdin_input is for programs that read input; compiler can be a type name or path with auto-selection. It does not explicitly name alternatives like compile_pascal or check_syntax, but the guidance is sufficient for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.