Skip to main content
Glama

upload-file-from-url

Idempotent

Fetches a file from a remote URL and uploads it to the wiki's File namespace, creating a new file entry. Handles uploads even when upload-by-URL is disabled, with fallback for server-side retrieval.

Instructions

Fetches a file from a remote web URL and uploads it into the wiki's File namespace, returning the resulting file title and URL. The upload appears in the wiki's upload log. Works whether or not the wiki has upload-by-URL enabled: the server retrieves the file and uploads it directly, falling back to wiki-side fetching only when it cannot reach the URL itself. Fails if a file with the target title already exists. To replace an existing file with a new revision, use update-file-from-url.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the file to upload
titleYesFile title (with or without the "File:" prefix)
textYesWikitext on the file page
commentNoReason for uploading the file
wikiNoWiki to target, as a key from the mcp://wikis/ resources (e.g. en.wikipedia.org), or the full mcp://wikis/ URI. Omit to use the default wiki.
Behavior5/5

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

The description adds significant behavioral context beyond annotations: the upload appears in the upload log, the server attempts direct retrieval with fallback to wiki-side fetching, and the tool fails if the target file already exists. These details are not captured by annotations and are valuable for understanding side effects and constraints.

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 concise (three sentences) and front-loaded with the primary purpose. Each sentence adds unique value: first covers action and result, second covers fallback behavior, third covers failure case and alternative. No extraneous content.

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 complexity (5 parameters, no output schema), the description covers the main behaviors: purpose, fallback, failure condition, alternative, and side effect (upload log). It mentions return values but lacks detailed structure of the output. Still, it provides enough context for most use cases, making it highly 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?

The input schema provides descriptions for all 5 parameters (100% coverage). The description does not add new parameter-specific information beyond noting the return value (file title and URL) and implicitly referencing 'text' as wikitext. Since the schema already fully documents parameters, a 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 tool fetches a file from a remote URL and uploads it to the wiki's File namespace, returning the file title and URL. It distinguishes itself from the sibling 'update-file-from-url' by noting that it fails if the file already exists and directs to that alternative for replacing files.

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?

The description explicitly states when to use (uploading a new file) and when not to use (if file already exists), and names the alternative tool for replacing files. It also explains behavior under different wiki configurations (upload-by-URL enabled/disabled) and the fallback mechanism.

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