Skip to main content
Glama
SubscriptionTech

ProAbono MCP Installation

Official

Generate ProAbono integration code for a task, in a given language

generate_integration_code

Generates code for a ProAbono task in your language from the live API contract and installation docs, returning the authenticated client, operations, and guardrails needed.

Instructions

Generates code for a ProAbono task in the language you name, from the API Live contract and the installation documentation — no per-language SDK, because there is none. Returns the authenticated client (Basic auth read from configuration, the Segment carried, collections read to TotalItems, 204 handled), the operations the task actually needs with their real parameters read from the contract, and the guardrails the code has to satisfy. Use it for a task no task-specific generator covers; where one does — the portal, the pricing table, the workflow round trip, the rights cache, the webhook endpoint — it says so and names it, because those carry rules a generic generator cannot know.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskYesWhat the code has to do, in the developer's own words: "cancel a subscription at period end", "list a customer's unpaid invoices", "add seats when a user is invited".
languageYesThe target language or framework: "typescript", "php", "python", "ruby", "csharp", "next.js"… An unrecognised one is answered with the HTTP calls themselves and said to be unrecognised, never with another language's code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.1

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses several important behaviors: no per-language SDK exists, Basic auth is read from configuration, the Segment is carried, collections are read to TotalItems, 204 is handled, unrecognized languages get HTTP calls instead of code, and the tool names task-specific generators when applicable. It does not disclose rate limits or error behavior beyond the language fallback, but the disclosed behaviors are substantial and specific.

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?

The description is a single dense paragraph, front-loaded with the core action and then detailing return contents and usage routing. Every sentence earns its place, though the long list of return items ('authenticated client... operations... guardrails') is somewhat packed. It is appropriately sized for a complex code-generation tool.

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 complex tool with no output schema and no annotations, the description is quite complete: it explains what the generated code includes, how authentication works, how collections are handled, and how to choose between this tool and task-specific siblings. It does not describe the exact output format or error cases beyond the language fallback, but the essential context for correct invocation is present.

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 the baseline is 3. The description adds meaning beyond the schema by explaining what the task parameter is used for (drives which operations and guardrails are returned) and what the language parameter's fallback behavior is (unrecognised languages get HTTP calls, never another language's code). This goes beyond the schema's examples and adds real selection guidance.

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 states a specific verb ('Generates code'), a specific resource ('for a ProAbono task'), and a specific input ('in the language you name'). It also distinguishes itself from siblings by naming the task-specific generators it is not (portal, pricing table, workflow round trip, rights cache, webhook endpoint). An agent can tell it apart from generate_pricing_table and scaffold_notification_endpoint without opening schemas.

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 says when to use it: 'Use it for a task no task-specific generator covers', and names the alternatives: 'where one does — the portal, the pricing table, the workflow round trip, the rights cache, the webhook endpoint — it says so and names it'. This is explicit when/when-not guidance with named siblings.

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