Skip to main content
Glama
shashicandev

gingr-mcp

by shashicandev

gingr-mcp

A Model Context Protocol (MCP) server that gives Claude read-only access to your Gingr pet-care facility data — owners, animals, reservations, appointments, services, and staff. Ask Claude things like "What was our daycare occupancy last week?" or "Which customers board most often?" and it can pull the answer straight from your Gingr account.

Read-only by design. This server never creates, edits, or deletes anything in Gingr.

Tools

Tool

What it does

gingr_list_owners

List pet owners (customers) — names, contact, signup dates

gingr_list_animals

List animals — species, breed, age, owner

gingr_list_reservations

Boarding/daycare reservations by date range

gingr_get_owner_reservations

All reservations for one owner (history / LTV)

gingr_list_appointments

Grooming / training / spa / bath appointments

gingr_list_services

Services offered, with prices

gingr_list_employees

Staff / employees

Related MCP server: MSSQL-MCP

Prerequisites

  • Node.js 18+

  • Your Gingr subdomain (the mybiz in https://mybiz.gingrapp.com)

  • A Gingr API key — in Gingr go to Reports & More → Users → Edit User → API Keys and create one.

Install

Pick whichever is more convenient:

  • Option A — One-click (Claude Desktop): download the .mcpb extension, double-click, fill in the form. No terminal, no config files. Best if you're not technical.

  • Option B — npm (any MCP host): add a few lines to your client's config. Works with Claude Desktop, Claude Code, Cursor, and other MCP clients.

Either way you'll need your Gingr subdomain and API key (see Prerequisites).

Option A — One-click Desktop Extension (Claude Desktop)

  1. Download gingr-mcp.mcpb from the latest release.

  2. Double-click it (or in Claude Desktop: Settings → Extensions → Install Extension…).

  3. When prompted, enter your Gingr Subdomain and API Key, then click Install.

The API key is stored securely in your OS keychain and never leaves your machine.

Option B — npm

Claude Desktop

Add this to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json), then restart Claude Desktop:

{
  "mcpServers": {
    "gingr": {
      "command": "npx",
      "args": ["-y", "gingr-mcp"],
      "env": {
        "GINGR_SUBDOMAIN": "yourbiz",
        "GINGR_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

claude mcp add gingr \
  --env GINGR_SUBDOMAIN=yourbiz \
  --env GINGR_API_KEY=your-api-key \
  -- npx -y gingr-mcp

npx -y gingr-mcp downloads and runs the latest version on demand — no global install needed.

Configuration

Variable

Required

Description

GINGR_SUBDOMAIN

yes

mybiz, mybiz.gingrapp.com, or a full https://… URL

GINGR_API_KEY

yes

A Gingr API key with read access

Tips

  • Keep reservation/appointment date ranges to ≤ 30 days — very wide ranges can time out on Gingr's side.

  • Dates are YYYY-MM-DD.

Local development

cd gingr-mcp
npm install
npm run build
npm test

# Inspect/run with the MCP Inspector
GINGR_SUBDOMAIN=yourbiz GINGR_API_KEY=your-api-key npm run inspector

Releasing

Maintainer? See RELEASING.md for how to publish the npm package and build the .mcpb bundle.

License

MIT © Canisys

Available Tools

7 tools
gingr_get_owner_reservationsGet an owner's reservationsA
Read-only

Get all reservations for a specific owner (customer). Use to analyze a customer's history, frequency, and lifetime value. Get owner_id from gingr_list_owners first.

ParametersJSON Schema
NameRequiredDescriptionDefault
owner_idYesGingr owner/customer ID

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true; the description adds that it returns all reservations for an owner, which is sufficient behavioral context for a simple read tool. No contradictions.

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 sentences: first states purpose and use case, second provides prerequisite. No filler words, front-loaded with key info.

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 simple tool with one parameter and no output schema, the description adequately explains the return value (reservations) and use case, sufficient for complex evaluation.

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 covers 100% of parameters with description of owner_id. The description adds no further param details beyond usage hint, meeting baseline for high coverage.

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 clearly states the verb 'Get all reservations' and the resource 'for a specific owner', and it distinguishes from siblings like gingr_list_reservations by specifying owner filter.

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 advises using the tool to analyze customer history and explicitly tells to get owner_id from gingr_list_owners first, providing clear prerequisite guidance. No explicit when-not-to-use, but context is adequate.

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

gingr_list_animalsList animalsA
Read-only

List animals (pets) registered at the Gingr facility — species, breed, age, owner, and notes. Use to analyze the pet population (breed mix, size distribution, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return (1–200, default 50)
owner_idNoFilter to animals belonging to a specific owner

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds context about the data fields (species, breed, etc.) but lacks details on pagination, rate limits, or response behavior. Safe but minimal added value.

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 sentences, front-loaded with purpose. Every word adds value with no fluff.

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 simple list tool with no output schema, the description covers purpose, typical fields, and usage intent. Missing details on ordering or empty results, but adequate for an agent familiar with list endpoints.

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 100% (both limit and owner_id documented). The description does not add new meaning to parameters; it mentions output fields instead. 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?

Clearly states the verb 'list' and resource 'animals (pets)' with specific attributes (species, breed, age, owner, notes). The usage hint differentiates from siblings like gingr_list_appointments by focusing on pet population analysis.

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 context for use ('analyze the pet population'), but does not mention when not to use it or alternatives among siblings. Still, the guidance is clear and relevant.

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

gingr_list_appointmentsList appointments (grooming/training/spa/bath)A
Read-only

List grooming, spa, bathing, or training appointments. Returns dates, services, animals, and statuses. Note: Gingr has no separate appointments endpoint — these are reservations whose category (Training, Grooming, SPA, Bathing) this tool filters for.

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNoOn/after this date (YYYY-MM-DD)
end_dateNoOn/before this date (YYYY-MM-DD)
limitNoMax records to return (1–200, default 50)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds value by revealing the underlying data model (no separate endpoint, filtering by category). This provides behavioral context beyond the annotation.

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 efficient: two brief sentences and a note. It front-loads the core purpose and return values, then adds critical context without redundancy.

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 read-only tool with optional parameters and no output schema, the description adequately explains return fields and the filtering logic. The note provides important context about the Gingr API structure, making it complete enough for agent usage.

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 100%, so the schema already fully documents the three parameters. The description adds no additional semantic detail beyond what is in the schema, meeting the baseline for high coverage.

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 clearly states the verb 'List' and the resource 'appointments' with specific subtypes (grooming, training, spa, bathing). It also distinguishes from sibling tool gingr_list_reservations by noting that appointments are a filtered subset of reservations.

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 provides implicit guidance by explaining that appointments are reservations filtered by category, suggesting use when appointment-specific data is needed. However, it lacks explicit when-not-to-use instructions or direct reference to sibling tools like gingr_get_owner_reservations.

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

gingr_list_employeesList employeesA
Read-only

List staff/employees at the facility. Use to analyze staffing, roles, and capacity. Read-only — no personal data is modified.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true. Description adds 'Read-only — no personal data is modified,' which is consistent but does not disclose additional behavioral traits beyond what annotations provide.

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-load the main action and include both purpose and behavior. Every sentence adds value with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with no parameters, but no output schema exists and description does not mention return values (e.g., what employee fields are listed). For a straightforward list tool, this is acceptable but could be more complete.

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?

No parameters exist, so baseline is 4 per guidelines. Description does not need to add parameter meaning as the input schema is empty and fully covered.

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?

Clearly states the verb 'List' and resource 'staff/employees at the facility', distinguishing it from sibling tools that list other entities (animals, owners, etc.). The additional context 'analyze staffing, roles, and capacity' further clarifies purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description gives a use case ('analyze staffing, roles, and capacity') but does not explicitly state when not to use or mention alternatives. The sibling differentiation is implicit through the resource name.

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

gingr_list_ownersList pet ownersA
Read-only

List pet owners (customers) from the connected Gingr facility — IDs, names, contact details, and signup dates. Use to analyze customer base size, growth, and retention.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return (1–200, default 50)
searchNoOptional name or email substring to filter by

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's addition of return fields and purpose is helpful but not extensive. It does not disclose pagination behavior (though limit implies it), sorting, or other behavioral traits beyond what the annotations provide.

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 two sentences, front-loaded with the core action, and contains no fluff or redundant information. Every sentence adds value.

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's low complexity (2 optional parameters, no output schema, read-only), the description covers the essential information: what is returned and why to use it. Minor gaps like ordering and timezone handling could be noted but are not critical for basic use.

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 100% and each parameter (limit, search) has a description. The tool description does not add further meaning to the parameters beyond what the schema already provides.

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 clearly states the tool lists pet owners (customers) and specifies the returned fields (IDs, names, contact details, signup dates). It also explains the analytical use case. The sibling tools list different entities, so this tool is well-distinguished.

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 provides a clear context for when to use this tool ('analyze customer base size, growth, and retention'). However, it does not explicitly mention when not to use it or suggest alternatives, which would be helpful for an AI agent.

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

gingr_list_reservationsList reservationsA
Read-only

List boarding/daycare reservations — dates, services, animals, statuses, and revenue. Use to analyze occupancy, demand patterns, peak/off-peak periods, and revenue trends. Tip: keep the date range to ≤30 days; very wide ranges can time out.

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNoReservations on/after this date (YYYY-MM-DD)
end_dateNoReservations on/before this date (YYYY-MM-DD)
limitNoMax records to return (1–200, default 50)

TDQS

A4.2/5.0
Behavior4/5

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

Description adds value beyond readOnlyHint annotation by warning about timeouts for wide date ranges, implying performance behavior. No contradiction with annotations.

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 concise sentences plus a tip. No fluff. Front-loaded with purpose and fields. Efficient structure.

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?

Even without output schema, description lists returned fields (dates, services, animals, statuses, revenue) and covers performance limitation. Adequate for a list tool.

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 covers 100% of parameters with descriptions. Description reinforces date range constraint (≤30 days) but does not add new parameter details beyond schema. Baseline 3 is appropriate.

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 clearly states it lists boarding/daycare reservations with specific fields (dates, services, animals, statuses, revenue). It distinguishes from sibling 'gingr_get_owner_reservations' which is owner-specific, and other list tools.

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 usage: analyze occupancy, demand patterns, peak/off-peak periods, and revenue trends. Includes tip to limit date range to ≤30 days to avoid timeouts. Does not mention alternatives explicitly but context is clear.

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

gingr_list_servicesList servicesA
Read-only

List the services offered at the facility (boarding tiers, grooming packages, daycare options, etc.) with IDs, names, descriptions, and prices. Use to understand the offering before recommending pricing or marketing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so no behavioral contradiction. The description adds that it returns IDs, names, descriptions, and prices, but does not elaborate on other traits like potential rate limits or response format.

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 sentences: first lists returned fields, second gives usage guidance. No wasted words, front-loaded 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?

Given no parameters or output schema, the description completely specifies what the tool does and when to use it. No gaps for a simple list tool.

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?

No parameters exist, so schema description coverage is 100%. Baseline for 0 params is 4, but per rubric with high coverage baseline is 3. Description adds no parameter info since none are needed.

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 clearly states it lists services with IDs, names, descriptions, and prices, and gives examples (boarding tiers, grooming packages, daycare options). It distinguishes from sibling list tools by specifying the domain.

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 explicitly says 'Use to understand the offering before recommending pricing or marketing,' providing clear usage context. It does not explicitly exclude alternatives but is specific enough.

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. 7 tool updatesv0.1.0
    • First observedgingr_get_owner_reservations
    • First observedgingr_list_animals
    • First observedgingr_list_appointments
    • First observedgingr_list_employees
    • First observedgingr_list_owners
    • First observedgingr_list_reservations
    • First observedgingr_list_services

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

All seven tools have clearly distinct purposes: owners, animals, appointments (filtered by category), employees, owners, reservations (boarding/daycare), and services. No overlap or ambiguity.

Naming Consistency5/5

All tools follow the consistent 'gingr_verb_noun' pattern (e.g., list_animals, get_owner_reservations). No mixing of conventions.

Tool Count5/5

Seven tools is well-scoped for a pet facility management server. Each tool covers a core entity (owners, animals, employees, services, reservations in two flavors) without being excessive or minimal.

Completeness4/5

The server is read-only but covers the main entities needed for analysis. Minor gaps exist (e.g., no get_animal_by_id, no filtering by date for appointments), but overall it provides a solid analytical surface.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server for PostgreSQL that enables safe database introspection and querying via natural language.
    607
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Security-first, read-only MCP server for Microsoft SQL Server, enabling safe natural-language querying of databases.
    15
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Read-only Text-to-SQL MCP server for PostgreSQL and MySQL that lets users query databases using natural language, with robust multi-layer safety guarantees against writes.
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP server that connects to a pet-grooming database, exposing secure analytics tools for customers, pets, appointments, services, and payments.
    MIT