Skip to main content
Glama
ponisha-mcp

ponisha-mcp

by Kia-Karami

ponisha_create_portfolio

Adds a new portfolio item to a Ponisha profile. Requires uploading content files first and getting user approval before submission for review.

Instructions

Add a portfolio item («نمونه‌کار») to your profile. Upload its content files first with ponisha_upload_file (kind portfolio); give a cover with cover_image_path. Ponisha reviews new items before they show publicly (status «در وضعیت انتظار»). Show the user the full item and get approval first.

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": {
      "title": "<title>",
      "role": "<role>",
      "description": "<description>",
      "skill_category_id": "<skill_category_id>",
      "skills": "<skills>",
      "tags": "<tags>",
      "contents": "<contents>"
    },
    "name": "ponisha_create_portfolio"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleYesYour role in the project, e.g. «طراح رابط کاربری»; at least 3 characters
tagsYes1–5 tag titles (see ponisha_search_portfolio_tags)
titleYes3–60 characters
skillsYes1–5 skill ids from ponisha_list_skills
contentsYesItems shown in order (images, files, links, text)
durationNo
descriptionYesWhat the project was and what you did
duration_unitNo
maximum_priceNoToman
minimum_priceNoToman; give with maximum_price
preview_imageNoOr: file id of a portfolio_preview upload for the cover
cover_image_pathNoLocal jpg/png for the cover; uploaded for you (up to 5 MB)
skill_category_idYesService type id from ponisha_list_service_types
related_project_idNoA Ponisha project of yours this work came from

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare write/not-destructive/open-world; the description adds real behavioral context beyond them — that new items enter a review queue and stay non-public with status «در وضعیت انتظار». It also discloses the human-approval convention and the cover size limit, though it says nothing about what the call returns or what happens on validation failure.

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?

Four short sentences, front-loaded with the action and then the prerequisites; every sentence carries information. The inline Persian glosses («نمونه‌کار», «در وضعیت انتظار») add length but are functionally useful for status matching.

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?

For a 14-parameter, 7-required mutation with no output schema, the description covers the critical gaps: the prerequisite upload step, the cover path, and the pending-review outcome. Remaining gaps (return shape, how contents ordering and pricing pairs are validated) are moderate but not blocking.

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 86%, so the schema already documents nearly every field, and the description mostly repeats it (cover image, file uploads for contents). It adds little new meaning, though

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?

The description opens with a specific verb and resource: "Add a portfolio item ... to your profile", which is clearly distinguishable from read siblings like ponisha_list_portfolio and ponisha_get_portfolio. It does not explicitly contrast with ponisha_update_portfolio, so the create-vs-edit boundary is left to inference.

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?

It gives an explicit prerequisite ordering ("Upload its content files first with ponisha_upload_file (kind portfolio)") and a cover instruction tied to cover_image_path. It also prescribes a workflow step ("Show the user the full item and get approval first"), though it never names ponisha_update_portfolio as the alternative when an item already exists.

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