Skip to main content
Glama

upload-file

Idempotent

Upload a file from a local disk path to the wiki's File namespace. The upload is logged and fails if the target title already exists.

Instructions

Uploads a file from the local disk into the wiki's File namespace and returns the resulting file title and URL. The upload appears in the wiki's upload log. The operator restricts which directories are readable; filepath must be an absolute path inside a configured upload directory, or the call fails before contacting the wiki. Fails if a file with the target title already exists (the wiki does not silently overwrite existing files). To upload directly from a remote web address instead of a local path, use upload-file-from-url. To replace an existing file with a new revision, use update-file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filepathYesFile path on the local disk
titleYesFile title (with or without the "File:" prefix)
textYesWikitext on the file page
commentNoReason for uploading the file
Behavior5/5

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

Annotations declare idempotentHint=true, which the description supports by noting the wiki does not overwrite existing files. Description adds context about upload log, operator directory restrictions, and failure behavior, going beyond what annotations provide.

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?

Three sentences, no fluff, front-loaded with purpose. Each sentence adds essential information: action, return value, constraints, and alternatives.

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

Completeness5/5

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

Despite no output schema, the description mentions return value. It covers failure modes, preconditions, and links to alternative tools. Complete for a file upload operation.

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

Parameters4/5

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

Schema coverage is 100% so baseline is 3, but description adds useful context: filepath must be absolute and inside configured directory, title can include 'File:' prefix, comment is reason, text is wikitext. This adds meaningful value beyond schema descriptions.

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 tool uploads a file from local disk to the wiki's File namespace and returns the file title and URL. It also distinguishes itself from sibling tools like upload-file-from-url and update-file.

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

Usage Guidelines5/5

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

Explicitly says when to use (local file upload) and when not to use (remote URL use upload-file-from-url, replace use update-file). Also explains failure conditions: file already exists and filepath not in configured directory.

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/ProfessionalWiki/MediaWiki-MCP-Server'

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