Skip to main content
Glama
jamesrosing

tebra-mcp-server

by jamesrosing

Create Payment

tebra_create_payment

Creates a patient payment in Tebra using cash, check, credit card, EFT, or other methods. Optionally links to an appointment and includes referenceNumber to detect duplicates after failures.

Instructions

Create a new patient payment in Tebra. Supports Cash, Check, CreditCard, ElectronicFundsTransfer, and Other payment methods. Optionally link to an appointment and practice. Not retried after a timeout or server error (Tebra has no idempotency key, so a re-send can double-charge); if the call fails with an unknown outcome, check tebra_get_payments before resubmitting. Supply referenceNumber so any duplicate is detectable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountYesPayment amount in dollars (e.g. 150.00)
patientIdYesTebra patient ID
payerTypeNoOptional payer type (defaults to 'Patient')
batchNumberNoOptional batch number
paymentDateNoOptional payment post date (ISO 8601, defaults to today server-side)
practiceNameNoOptional practice name (recommended for multi-practice accounts)
appointmentIdNoOptional appointment ID to link payment to
paymentMethodYesPayment method: Cash, Check, CreditCard, ElectronicFundsTransfer, or Other
referenceNumberNoOptional reference or check number

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.6.0
    • removedInput schema / properties / notes
      Removed value: -{
      -  "description": "Optional payment notes",
      -  "type": "string"
      -}
    • addedInput schema / properties / payerType
      Added value: +{
      +  "description": "Optional payer type (defaults to 'Patient')",
      +  "type": "string"
      +}
    • changedInput schema / properties / paymentDate / description
      Previous value: -"Optional payment date (ISO 8601, defaults to today)"New value: +"Optional payment post date (ISO 8601, defaults to today server-side)"
    • addedInput schema / properties / practiceName
      Added value: +{
      +  "description": "Optional practice name (recommended for multi-practice accounts)",
      +  "type": "string"
      +}
  2. First observedv0.2.5

TDQS

A4.6/5.0
Behavior5/5

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

Annotations indicate non-idempotent, non-read-only behavior, and the description enriches this substantially by explaining the double-charge risk and the lack of an idempotency key. It also advises checking tebra_get_payments before resubmission, adding operational context beyond the structured metadata.

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?

The description is compact and front-loaded with the core purpose, followed by essential caveats about retries and idempotency. Every sentence contributes value; there is no redundant or filler content.

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?

Given the tool has 9 parameters and no output schema, the description covers the action, supported methods, failure handling, and duplicate mitigation. It doesn't describe the response format, which could be a minor gap for agents expecting to parse a created entity, but the critical operational details are well addressed.

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%, so all 9 parameters are already documented with descriptions. The description adds meaningful extra semantics, particularly around referenceNumber for duplicate detection and the optional linking to appointment/practice. This goes beyond the schema, providing practical guidance on how parameters relate to real-world usage.

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 clear, specific action: 'Create a new patient payment in Tebra' with a verb and resource, and explicitly lists the supported payment methods. It distinguishes itself from the sibling 'tebra_get_payments' by being the creation counterpart, making its purpose unambiguous.

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?

Provides explicit guidance on when to use the tool (creating a payment) and critical failure-handling instructions: not to retry after timeout/server error, and to check tebra_get_payments on unknown outcomes to avoid double-charging. It also recommends supplying referenceNumber for duplicate detection. It doesn't explicitly state when not to use it, but the context is clear for a creation operation.

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