Skip to main content
Glama

phabricator_file_upload

Upload a file to Phabricator from base64 data, returning a PHID that resolves to the file ID needed for Remarkup {F} embeds.

Instructions

Upload a file to Phabricator. Returns a file PHID that can be used with phabricator_file_info to get the file ID for embedding in Remarkup via {F}.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "data_base64": "<data_base64>"
    },
    "name": "phabricator_file_upload"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoFilename with extension (e.g. "screenshot.png")
canCDNNoWhether the file can be served over CDN (for public assets)
viewPolicyNoFile visibility policy (e.g., "public", "users", or a custom policy PHID)
data_base64YesBase64-encoded file content

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.19

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation profile is covered structurally. The description adds genuinely useful behavioral context: it discloses the return value (a file PHID) and the two-step follow-up needed to get the embeddable file ID, which matters since no output schema exists. It omits size limits or permission requirements, keeping it below a 5.

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?

Two tightly written sentences with the core action front-loaded and the return-value/workflow detail second. No filler; every clause conveys information an agent needs.

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?

With no output schema, the description compensates by explaining the return value and its downstream use. The annotations and 100% schema coverage handle parameters and safety. Minor gaps remain around upload constraints (size, policy implications), otherwise complete.

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 coverage is 100% with every parameter individually described, so the schema carries the parameter semantics. The description adds nothing about individual parameters (e.g., base64 encoding constraints or viewPolicy behavior) beyond what the schema already states, so baseline 3 applies.

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?

States a specific verb and resource ("Upload a file to Phabricator") and explicitly situates it in the file workflow by naming phabricator_file_info as the follow-up. It distinguishes itself from sibling tools through that workflow chain, though it doesn't contrast with phabricator_file_search/info directly.

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 makes the use case clear: uploading so the resulting PHID can be resolved via phabricator_file_info and embedded in Remarkup with {F<id>}. It gives clear context for when to reach for this tool but states no exclusions or prerequisites.

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

Deploy Server

Other Tools