Skip to main content
Glama

jira_construct_upload_endpoint

Obtains an upload URL and session token for uploading files to the MCP server, enabling later attachment to Jira issues.

Instructions

Return the URL and session token needed to upload local files to the MCP server.

This is step 1 of the client-side file upload flow:

  1. Call this tool to get upload_url + session_id.

  2. POST your file(s) to upload_url using multipart/form-data with the Mcp-Session-Id header set to session_id.

    Windows PowerShell (handles paths with spaces): curl.exe -X POST -H "Mcp-Session-Id: " -F 'file=@"C:\path with spaces\file.pdf"'

    Linux / macOS (handles paths with spaces): curl -X POST -H "Mcp-Session-Id: " -F "file=@'/path/with spaces/file.pdf'"

    The server returns: {"uploaded": [{"filename": "...", "uri": "upload://...", "size": ...}]}

  3. Pass the returned upload:// URIs to jira_upload_attachment.

Sessions expire after 30 minutes (configurable via UPLOAD_STAGING_TTL_MINUTES). The base URL defaults to http://localhost:8932 and can be overridden by the MCP_SERVER_BASE_URL environment variable.

Args: ctx: The FastMCP context.

Returns: JSON string with upload_url, session_id, required_headers, and OS-specific usage example.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

No annotations provided, but description fully explains behavior: session expiration (30 min, configurable), configuration via environment variable, and returns specific JSON fields, with no contradictions.

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?

Description is well-structured with numbered steps and examples, though slightly long; each sentence earns its place, but could be slightly more concise without losing clarity.

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?

Given no parameters and an output schema (mentioned in returns), description covers purpose, flow, examples, expiration, and configuration, making it complete for this simple tool.

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?

No parameters exist, so baseline 4 applies; description adds no parameter info but that 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 it returns the URL and session token for uploading files, using specific verbs and distinguishing from sibling tools like jira_upload_attachment.

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 describes the two-step flow, provides usage examples for different OS, and indicates the tool is step 1 before jira_upload_attachment, without stating when not to use but given the flow it's clear.

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/SharkyND/mcp-atlassian'

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