Skip to main content
Glama
philipvanlewis

plane-mcp-server

plane-asset-upload

Upload a file (local or base64) to Plane and receive an asset UUID for embedding images in pages or attaching to issues.

Instructions

Upload a file to Plane and get an asset UUID back. Supports local file paths or base64 data. The returned asset_id can be used with plane-page-insert-image to embed images in pages. 3-step presigned upload: create record → upload to storage → mark complete. Max file size: 5 MB.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entity_idYesEntity UUID (page_id or issue_id)
file_nameNoFile name (required with file_base64, auto-detected from file_path)
file_pathNoAbsolute path to local file (use this OR file_base64)
project_idYesProject UUID
entity_typeNoWhat the asset is attached toPAGE_DESCRIPTION
file_base64NoBase64-encoded file content (use this OR file_path)
content_typeNoMIME type (auto-detected from file name if omitted)
Behavior4/5

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

Discloses 3-step presigned upload workflow, max file size (5 MB), and supported input formats (file path or base64). No annotations exist, so description carries full burden; it adequately covers key behaviors without contradicting any annotations.

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?

Five sentences, each earning its place: purpose, downstream usage, workflow, constraints. Front-loaded with main action. Zero redundancy.

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?

Covers purpose, return value, integration with sibling, process, and constraints. Could mention required parameters (project_id, entity_id) explicitly and elaborate on entity_type options, but overall completes the picture given schema richness.

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%, baseline 3. Description adds value by explaining mutual exclusivity of file_path and file_base64, auto-detection of file_name and content_type, and the overall upload process. Enhances understanding beyond schema.

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?

Clearly states 'Upload a file to Plane' and 'get an asset UUID back'. Distinguishes from sibling tool plane-page-insert-image which consumes the asset. Provides specific verb and resource.

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?

Describes when to use: to obtain an asset UUID for embedding images via plane-page-insert-image. Mentions the 3-step process. Lacks explicit exclusions or alternatives for file uploads, but context is 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/philipvanlewis/plane-mcp-server'

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