Skip to main content
Glama
rgrz

PeopleSoft MCP Server

by rgrz

get_peoplecode

Retrieve PeopleCode source code attached to PeopleSoft records and fields to analyze component logic, field behavior, and customizations.

Instructions

Get PeopleCode programs attached to a record/field, including the actual source code.

Reads from PSPCMTXT which stores the PeopleCode source as CLOB. Use this to
understand component logic, trace field behavior, or analyze customizations.

Args:
    record_name: The record name (e.g., 'JOB', 'ABSV_REQUEST')
    field_name: Optional field name to filter (e.g., 'EMPLID', 'EFFDT')
    event: Optional event type filter. Common events:
           - RowInit: Fires when row is loaded
           - FieldChange: Fires when field value changes
           - FieldEdit: Validates field before accepting
           - SaveEdit: Validates before save
           - SavePreChange: Runs before database update
           - SavePostChange: Runs after database update
           - RowDelete: Fires when row is deleted
           - RowInsert: Fires when new row inserted
           - SearchInit: Fires on search page load
           - SearchSave: Fires when search is executed
    include_code: If True (default), returns actual PeopleCode source.
                 Set to False for just metadata/listing.
    max_code_length: Maximum characters of code to return per program (default 32000).
                    Use for large programs that may exceed response limits.

Returns:
    List of PeopleCode programs with their events and source code.
    Programs are ordered by field name and event for logical reading.

Example:
    # Get all PeopleCode for ABSV_REQUEST record
    get_peoplecode("ABSV_REQUEST")
    
    # Get just FieldChange events for BEGIN_DT field
    get_peoplecode("ABSV_REQUEST", "BEGIN_DT", "FieldChange")
    
    # List all events without code (for discovery)
    get_peoplecode("JOB", include_code=False)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventNo
field_nameNo
record_nameYes
include_codeNo
max_code_lengthNo
Behavior4/5

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

With no annotations, the description carries full burden. It states it reads from PSPCMTXT, describes each parameter's effect, and explains the return format and ordering. It implies read-only behavior. No contradictions. Minor omission of potential errors or prerequisites.

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

Conciseness4/5

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

The description is well-structured with clear sections (Args, Returns, Example). The first sentence states the purpose. The Args section is somewhat verbose but informative. A slightly more concise presentation would improve efficiency.

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 5 parameters and no output schema, the description covers the return format (list of programs with events and source), provides examples for common scenarios, and explains event types. It lacks details on error handling or prerequisites but is adequate for an AI agent.

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 coverage is 0%, so description must compensate. The Args section provides detailed explanations for all 5 parameters, including the meaning of common event types and examples. This adds substantial meaning beyond the schema's bare titles.

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

Purpose4/5

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

The description clearly states the tool gets PeopleCode programs attached to a record/field, including source code. The verb 'Get' and resource are specific. While it distinguishes from sibling 'search_peoplecode' by implication (get vs search), it does not explicitly contrast them.

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 provides clear use cases: 'understand component logic, trace field behavior, or analyze customizations.' Examples demonstrate typical usage. However, it does not explicitly state when not to use this tool or mention alternatives like 'search_peoplecode'.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rgrz/peoplesoft-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server