Skip to main content
Glama

DonorPerfect MCP Server and API by Cotlet

Add contact in DonorPerfect

donorperfect_add_contact
Read-onlyIdempotent

Add contact in the user's own DonorPerfect account from ChatGPT, Claude or any AI agent. Returns how to do it in DonorPerfect step by step (screens, buttons, fields) and opens nothing by itself; then do it with the cotlet_browser_* tools in the user's DonorPerfect Cloud Browser. DonorPerfect's official API: DonorPerfect has an XML API with read and write access to donors, gifts, pledges and contacts, and no official MCP server (checked 23 Oct 2026).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "donorperfect_add_contact"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/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, but the description adds genuinely new behavioral detail: nothing is opened or changed by the call, and the return value is procedural (screens, buttons, fields) requiring a follow-up browser session. It omits auth or session requirements for the Cloud Browser step and the trailing 'checked 23 Oct 2026' note is unverifiable noise rather than behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The middle sentence is efficient and the handoff to browser tools is front-loaded, but the leading clause invites the wrong reading and the final sentence about the XML API and the dated 'no official MCP server' check is justification noise that does not help an agent decide or call. Two of four sentences could be trimmed without loss.

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 zero-parameter, no-output-schema guidance tool, the definition covers what is returned, that it is side-effect free, and what to do next. It is nearly complete; the only meaningful gap is how the browser session is established and authorized for the follow-up step.

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?

The tool takes zero parameters, so there is no parameter meaning to add and the baseline of 4 applies. The description correctly implies parameterless invocation by describing an informational return rather than an operation with inputs.

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 does state the real behavior: it returns step-by-step instructions for adding a contact rather than performing the action, and it distinguishes this from the browser tools that actually do the work. However, the opening phrase 'Add contact in the user's own DonorPerfect account' reads as if it performs the mutation, so an agent skimming the first clause could misread the purpose; the correction only arrives in sentence two.

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 clear usage flow: call this to obtain the procedure, then execute it with the cotlet_browser_* tools in the DonorPerfect Cloud Browser. What is missing is any explicit when-not guidance or differentiation from the other donorperfect_* siblings (add_gift, create_pledge, update_donor), which an agent must infer from names alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources