Skip to main content
Glama
marco-looy

Pega DX MCP Server

by marco-looy

upload_attachment

Upload files to Pega as temporary attachments for linking to cases, with automatic expiration after 2 hours if unused. Supports multiple input methods including file paths, base64 content, and URLs for cross-client compatibility.

Instructions

Upload a file to Pega as a temporary attachment that can later be linked to cases. Creates a temporary attachment instance that auto-expires after 2 hours if not linked. Supports multiple input methods for cross-client compatibility.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filePathNoPath to file on local filesystem (preferred for desktop clients like Cline). Example: "/home/user/document.pdf" or "C:\Users\user\file.txt"
fileContentNoBase64-encoded file content (for web clients or when file system access is restricted). Use this when filePath is not available.
fileUrlNoURL to file that can be fetched (http://, https://, file://, data:// schemes). Alternative when direct file access is not possible.
fileNameNoOriginal filename with extension (required when using fileContent or fileUrl). Example: "report.pdf", "image.jpg"
mimeTypeNoMIME type override (auto-detected from filename/content if not provided). Example: "application/pdf", "image/jpeg"
appendUniqueIdToFileNameNoWhether to append a unique identifier to the filename to prevent naming conflicts. Pega will add timestamp-based unique ID to filename.
sessionCredentialsNoOptional session-specific credentials. If not provided, uses environment variables. Supports two authentication modes: (1) OAuth mode - provide baseUrl, clientId, and clientSecret, or (2) Token mode - provide baseUrl and accessToken.
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the tool creates a temporary attachment that auto-expires after 2 hours if not linked, and it supports multiple input methods for compatibility. However, it lacks details on authentication requirements (implied by sessionCredentials parameter but not explicitly stated in description), rate limits, or error handling, which are important for a mutation tool.

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 front-loaded with the core purpose in the first sentence, followed by key behavioral details. Every sentence earns its place: the first states the action and resource, the second adds critical behavioral context (temporary nature and auto-expiry), and the third explains compatibility aspects. It's appropriately sized with zero waste.

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 complexity (7 parameters, nested objects, no output schema, and no annotations), the description is mostly complete. It covers the purpose, temporary behavior, and compatibility, but lacks explicit guidance on authentication (though hinted in parameters), error scenarios, or output format. For a mutation tool with rich parameters, it does well but could benefit from more behavioral context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds minimal value beyond the schema, mentioning 'multiple input methods for cross-client compatibility' which aligns with filePath, fileContent, and fileUrl parameters but doesn't provide additional semantics. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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 clearly states the specific action ('Upload a file to Pega') and resource ('temporary attachment'), distinguishing it from sibling tools like 'add_case_attachments' (which likely links attachments to cases) and 'update_attachment' (which modifies existing attachments). It specifies the temporary nature and auto-expiration behavior, making the purpose distinct and well-defined.

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 context for when to use this tool ('to Pega as a temporary attachment that can later be linked to cases') and mentions cross-client compatibility, but it does not explicitly state when not to use it or name alternatives among siblings. For example, it doesn't clarify if 'add_case_attachments' should be used instead for permanent linking, leaving some ambiguity.

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/marco-looy/pega-dx-mcp'

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