Skip to main content
Glama

Calligraphy Maker by Studio99

Server Details

Exact Hindi, Marathi, Gujarati and English calligraphy as editable artwork, from real fonts.

Ownership verified
Status
Healthy
Uptime
28.8% over 59 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
studio99-app/calligraphy-mcp
GitHub Stars
0

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: list_styles for discovery, generate_calligraphy for rendering artwork, and create_studio99_project for converting generated SVGs into editable projects. No overlap or ambiguity in usage.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (list_styles, generate_calligraphy, create_studio99_project). The inclusion of the brand name in one tool is a minor but predictable variation.

Tool Count5/5

Three tools are well-scoped for a focused calligraphy generation and project creation service. Each tool earns its place without redundancy or missing essential functionality.

Completeness4/5

The core workflow (list styles, generate calligraphy, create a project) is fully covered. Minor gaps exist, such as no tool to list, update, or delete existing Studio99 projects, but these may be outside the intended scope.

Available Tools

3 tools
create_studio99_projectAInspect

Creates an editable project in the Studio99 design editor (Prishora) from a generated calligraphy SVG and returns a link that opens it. The project is saved in the signed-in user's own Studio99 account. Accepts full-quality Studio99 SVG URLs only.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoThe original text of the artwork, used as project metadata and default title.
titleNoOptional project title. Defaults to the generated text.
svg_urlYesA full-quality Studio99 SVG URL from an earlier generation result.
languageNoLanguage of the artwork, if known.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already disclose readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the project is written into the signed-in user's own account, the tool returns an openable link, and the SVG input must be full-quality Studio99 output. It omits auth/permission specifics and error behavior for rejected URLs.

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 short sentences, front-loaded with the action and its destination, then the account scoping, then the input restriction. No filler or restated name/title content.

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?

There is no output schema, and the description compensates by stating the return value (a link that opens the project). Combined with full schema coverage, annotation safety hints, and the explicit input constraint, an agent has everything needed to call this correctly.

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 description coverage is 100%, so baseline is 3; the description earns above baseline by constraining svg_url ('full-quality Studio99 SVG URLs only', from an earlier generation result), which is a real selection constraint the agent must respect. The text, title, and language parameters gain no additional meaning beyond their 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?

States a specific verb (Creates) and resource (an editable project in the Studio99 design editor) plus the outcome (returns a link that opens it). This clearly distinguishes it from siblings generate_calligraphy and list_styles, which the agent can rule out without opening any schema.

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?

The description makes the context clear: it operates on an SVG from 'an earlier generation result' and accepts 'full-quality Studio99 SVG URLs only', implying it is used downstream of generation. It stops short of explicitly naming generate_calligraphy as the source or stating when not to use it, so it is contextual rather than fully prescriptive.

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

generate_calligraphyAInspect

Renders Hindi, Marathi, Gujarati or English text as calligraphy artwork in Studio99's professional IndiaFont typefaces. The text is reproduced exactly, including conjuncts, matras and ligatures. Suited to wedding and invitation titles, festival and devotional greetings, names, logos, posters and other decorative text (for example शुभ विवाह or શુભ લગ્ન). Returns several designs as public PNG image URLs and editable SVG vector URLs, plus matching ready-made artworks from the Inkora library when available. Each call uses one generation (5 credits) from the signed-in user's Studio99 allowance.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoDesired feel of the lettering. Omit for no preference.
textYesThe text to render as calligraphy, in its native script (Devanagari for Hindi/Marathi, Gujarati script, or Latin for English).
styleNoA style id, as listed by the style-listing tool. Omit for automatic style selection.
languageNoLanguage of the text. Auto-detected from the script when omitted; Hindi and Marathi share Devanagari, so set it to tell them apart.
use_caseNoWhat the artwork is for; suitable fonts are chosen automatically for it. Omit for general use.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the exact cost (5 credits per call), that credits are drawn from the signed-in user's Studio99 allowance (an auth/account prerequisite the annotations do not convey), and the precise return shape: multiple public PNG URLs, editable SVG vector URLs, and matching Inkora library artworks.

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?

Front-loads the core capability and then layers usage, outputs, and cost in a logical order with no filler. It is slightly long at five dense sentences, but each carries distinct information.

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?

With no output schema, the description still explains the return artifacts (PNG and SVG URLs plus library matches) and the credit cost, and it notes the sign-in requirement. For a 5-parameter generation tool this is complete enough for an agent to invoke correctly.

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 description coverage is 100%, so the schema already documents text, language auto-detection, mood, style, and use_case. The description reinforces exactness of rendering (conjuncts, matras, ligatures) and gives sample texts, but adds little parameter-level syntax beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb and resource (renders text as calligraphy artwork), names the supported languages and typefaces, and describes the output artifacts. It is clearly distinguishable from the sibling tools create_studio99_project and list_styles.

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?

Gives concrete usage contexts (wedding and invitation titles, greetings, names, logos) with examples, and points to the style-listing tool for style ids. It does not state when not to use this tool or compare it against siblings, so it stops short of a full 5.

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

list_stylesA
Read-only
Inspect

Lists the available Studio99 calligraphy font styles with their supported languages, moods and suitable use cases, optionally filtered by language (hindi, marathi, gujarati, english), mood or use case. Read-only and free of charge. Each style has an id that the generation tool accepts as its optional style value.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNoOnly return styles with this mood.
limitNoMax styles to return (default 20). Filter rather than raising this.
languageNoOnly return styles that support this language.
use_caseNoOnly return styles suited to this use case.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value beyond that: 'Read-only and free of charge' plus the cross-tool contract that the returned id feeds the generation tool's style parameter. Doesn't note pagination/limit behavior, but the key behavioral facts are present.

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?

Two tight sentences, zero filler. The primary purpose is front-loaded and the agent-relevant contract (id usage) is placed at the end where it's most action-guiding.

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?

A read-only discovery tool with full schema coverage and no output schema. The description covers purpose, filters, safety, cost, and the downstream id contract, so an agent has everything needed to call it and use the result.

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% and enums are documented, so the schema carries the parameter load. The description still adds framing by naming the exact filter dimensions and the valid language values, reinforcing what to filter on. Baseline 3 is exceeded by this reinforcement.

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?

States a specific verb (Lists) and resource (Studio99 calligraphy font styles) with the exact attributes returned (languages, moods, use cases). Clearly distinguishes itself from the write siblings create_studio99_project and generate_calligraphy by being the discovery/listing operation.

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?

Explains filtering conditions ('optionally filtered by language, mood or use case') and routes the agent to the generation tool by noting the id is what 'the generation tool accepts as its optional style value.' Lacks an explicit 'call this before generate_calligraphy' statement, but the relationship is clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedcreate_studio99_project
    • First observedgenerate_calligraphy
    • First observedlist_styles

Publisher details

Operator
ArtoMania Studio Pvt Ltd (Studio99), Pune, India · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
Free Studio99 account required (OAuth sign-in). Free plan: 20 generations a month; Studio99 One unlocks premium fonts and 300 a month. · Publisher source

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.