Skip to main content
Glama

Gripp MCP

Model Context Protocol server for the Gripp API 3.0 endpoint at https://api.gripp.com/public/api3.php.

The Gripp API is JSON-RPC-like: requests are POSTed as a batch array, and the API token is sent as Authorization: Bearer <token>.

Setup

npm install
npm run fetch:metadata
npm run build

Set your Gripp API token before starting the server:

export GRIPP_API_TOKEN="your-token"
npm start

Optional environment variables:

GRIPP_API_URL=https://api.gripp.com/public/api3.php
GRIPP_REQUEST_TIMEOUT_MS=30000

GRIPP_API_URL is intentionally restricted to the https://api.gripp.com/ host.

Related MCP server: SuperOps MCP Server

MCP Client Config

Example stdio config:

{
  "mcpServers": {
    "gripp": {
      "command": "node",
      "args": ["/absolute/path/to/MCP Gripp/dist/src/cli.js"],
      "env": {
        "GRIPP_API_TOKEN": "your-token"
      }
    }
  }
}

After publishing or linking the package, you can also run the gripp-mcp binary.

Vercel Remote MCP

This repo also exposes a Streamable HTTP MCP endpoint for Vercel through a Next.js route:

https://your-vercel-domain.vercel.app/api/mcp

For Claude custom connectors, use the /api/mcp URL. The root URL only returns a health response.

Set this environment variable in Vercel before using Gripp tools:

GRIPP_API_TOKEN=your-token
MCP_ACCESS_KEY=long-random-secret

Use the access key in Claude's custom connector URL:

https://your-vercel-domain.vercel.app/api/mcp?access_key=long-random-secret

The /api/mcp endpoint fails closed in production if MCP_ACCESS_KEY is not set. If the URL leaks, rotate MCP_ACCESS_KEY in Vercel and redeploy.

The remote endpoint can also read a Gripp token from Authorization: Bearer <token> or x-gripp-api-token, but Claude's custom connector UI does not currently provide a simple custom-header field. For Claude, the practical setup is to store GRIPP_API_TOKEN in the Vercel project environment.

GoHighLevel Remote MCP

The same Vercel project can also host a GoHighLevel MCP endpoint with OAuth token storage:

https://your-vercel-domain.vercel.app/api/connect/mcp

Set these environment variables in Vercel:

GHL_CLIENT_ID=your-highlevel-client-id
GHL_CLIENT_SECRET=your-highlevel-client-secret
GHL_APP_ID=your-highlevel-app-or-version-id
GHL_INSTALL_URL=your-highlevel-installation-url
GHL_REDIRECT_URI=https://your-vercel-domain.vercel.app/api/connect/callback
GHL_OAUTH_USER_TYPE=Company
GHL_MCP_ACCESS_KEY=long-random-secret
GHL_TOKEN_ENCRYPTION_KEY=$(openssl rand -hex 32)
KV_REST_API_URL=your-upstash-or-vercel-kv-rest-url
KV_REST_API_TOKEN=your-upstash-or-vercel-kv-rest-token

UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN also work instead of the KV_* names.

In the HighLevel Marketplace app settings, add this redirect URL:

https://your-vercel-domain.vercel.app/api/connect/callback

Then open the OAuth start URL in your browser:

https://your-vercel-domain.vercel.app/api/connect/start

After HighLevel redirects back, the callback page stores that subaccount installation. Use one shared URL in Claude's custom connector screen:

https://your-vercel-domain.vercel.app/api/connect/mcp?access_key=long-random-secret

Install the app once per subaccount by reopening /api/connect/start and choosing the next location. The MCP keeps an index of all connected installations. In Claude, call ghl_list_installations first, then pass the chosen installId to the contact, opportunity, or generic API tools.

If your Marketplace app can only be installed by an agency admin, set GHL_OAUTH_USER_TYPE=Company. After installing once at agency level, use ghl_list_installed_locations to see where the app is actually installed, then ghl_connect_location to create a stored Location installation for the subaccount you want to query. ghl_list_locations only lists visible subaccounts and does not prove the app is installed on them.

The GoHighLevel MCP fails closed in production if GHL_MCP_ACCESS_KEY, encrypted token storage, or OAuth credentials are missing.

GoHighLevel Tools

  • ghl_installation_status: show the OAuth installation metadata without exposing tokens.

  • ghl_list_installations: list all connected subaccounts/installations.

  • ghl_list_locations: list/search subaccounts from a connected agency/company install.

  • ghl_list_installed_locations: list locations where this app is installed/authorized.

  • ghl_connect_location: create and store a Location token from an agency/company install.

  • ghl_get_contact: retrieve one contact by contact ID.

  • ghl_search_contacts: search contacts with /contacts/search.

  • ghl_create_contact: create a contact; requires confirm: true.

  • ghl_update_contact: update a contact; requires confirm: true.

  • ghl_search_opportunities: search opportunities with /opportunities/search.

  • ghl_api_call: call any relative HighLevel API path; non-GET calls require confirm: true.

Shared Google Ads MCP for Claude

For a shared Google Ads MCP that multiple people can use in Claude, run the official googleads/google-ads-mcp server as a separate remote service instead of using a local stdio MCP process.

See docs/google-ads-mcp-claude.md for the Cloud Run deployment and Claude custom connector setup.

Tools

  • gripp_list_entities: list available Gripp entities and method names.

  • gripp_describe_entity: inspect fields, enum values, references, methods, and examples for one entity.

  • gripp_get: call <entity>.get with filters and options.

  • gripp_getone: call <entity>.getone with filters.

  • gripp_create: call <entity>.create; requires confirm: true.

  • gripp_update: call <entity>.update; requires confirm: true.

  • gripp_delete: call <entity>.delete; requires confirm: true.

  • gripp_call: call any documented Gripp method by full name.

  • gripp_batch: execute multiple documented Gripp calls in one transaction.

Non-read methods are blocked unless confirm: true is provided. This also applies to gripp_call and each item in gripp_batch.

Examples

Find companies by name:

{
  "entity": "company",
  "filters": [
    {
      "field": "company.companyname",
      "operator": "like",
      "value": "%Acme%"
    }
  ],
  "options": {
    "paging": {
      "firstresult": 0,
      "maxresults": 10
    },
    "orderings": [
      {
        "field": "company.companyname",
        "direction": "asc"
      }
    ]
  }
}

Call a nonstandard read method:

{
  "method": "company.getCompanyByCOC",
  "params": ["12345678"]
}

Create a tag:

{
  "entity": "tag",
  "fields": {
    "name": "Imported"
  },
  "confirm": true
}

Metadata

The committed metadata snapshot is generated from the public API docs page:

npm run fetch:metadata

Refresh it when Gripp updates the API docs.

Available Tools

9 tools
gripp_batchB

Execute multiple Gripp API calls in one Gripp transaction. Non-read calls require confirm=true per item.

ParametersJSON Schema
NameRequiredDescriptionDefault
callsYesBatch of Gripp calls. Keep batches reasonably small to preserve agent usability.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations; only mentions confirm requirement for non-read calls, but no info on atomicity, errors, or destructive behavior.

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?

One sentence with core functionality and key condition; no extraneous words.

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

Completeness2/5

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

Lacks return value, error handling, atomicity, and batch size limits (though schema has maxItems); incomplete for a complex batch 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 coverage is 100%; description adds confirm rule but does not otherwise enhance parameter understanding beyond schema.

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 it executes multiple Gripp API calls in one transaction, distinguishing it from single-call siblings.

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?

Implies use for multiple calls but lacks explicit contrast with alternatives or when-not-to-use guidance.

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

gripp_callB

Call any Gripp API method by full method name. Non-read methods require confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesFull Gripp method name, for example company.getCompanyByCOC or file.getContent.
paramsNoPositional JSON-RPC params for the Gripp method.
confirmNoRequired for methods that may modify Gripp data.

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It mentions the confirm requirement but does not disclose other traits like error handling, rate limits, or whether read-only methods are safe. The description does not contradict annotations (since none exist) but is insufficient.

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 main action, and contains no unnecessary words. It is concise and direct.

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

Completeness2/5

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

For a generic caller tool with no output schema, the description lacks details on return format, usage examples, or how to construct method names. The pattern is in schema but not in description, and there is no mention of error handling or authentication. This leaves gaps for an AI agent to use it effectively.

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 already describes all parameters (method, params, confirm). The description adds the statement about non-read methods requiring confirm, which echoes the schema's confirm description but provides minimal extra meaning. 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 what the tool does: calls any Gripp API method by full method name. It also specifies the requirement for confirm on non-read methods, which distinguishes it from sibling tools that handle specific CRUD operations.

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?

The description gives a key usage requirement ('Non-read methods require confirm=true') but does not explicitly guide when to use this tool versus siblings like gripp_get or gripp_create. The use of 'any' implies a generic fallback, but this is not stated directly.

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

gripp_createB

Create a Gripp entity. Requires confirm=true because this writes to Gripp.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesGripp entity name, for example company, contact, invoice, task, or tag.
fieldsYesField values for the new entity. Check gripp_describe_entity first.
confirmYesMust be true to create data in Gripp.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states that the tool writes to Gripp and requires confirmation, implying mutation. However, it omits details about side effects, return values, or error handling, leaving significant behavioral gaps given the lack of 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?

The description is two sentences, each providing essential information: the action and a critical constraint. No filler or redundancy. It is appropriately sized for a simple create tool, earning its conciseness.

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?

Given the complexity of 3 parameters, nested object in fields, and no output schema, the description is adequate but not complete. It references gripp_describe_entity for field details, which helps, but it does not explain what the tool returns after creation, leaving a gap for agents to infer behavior.

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%, baseline 3. The description adds value by noting that 'fields' should be defined after using gripp_describe_entity first, providing helpful usage guidance beyond the schema. The confirm requirement is also reiterated, which reinforces safety. This added context justifies a 4.

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 'Create a Gripp entity' clearly states the action and resource. It distinguishes from sibling tools like gripp_update or gripp_delete, which perform different operations. The additional note about confirm requirement gives context, but the purpose is already clear from the tool name.

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

Usage Guidelines2/5

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

The description mentions that confirm=true is required because it writes to Gripp, but it does not provide guidance on when to use this tool versus alternatives like gripp_batch. Sibling tools exist but no explicit when-to-use or when-not-to-use instructions are given.

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

gripp_deleteA

Delete a Gripp entity by ID. Requires confirm=true because this permanently changes Gripp data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDatabase ID of the entity to delete.
entityYesGripp entity name, for example tag or contact.
confirmYesMust be true to delete data from Gripp.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description explicitly states the operation is permanent ('permanently changes Gripp data') and that confirm is required. It clearly discloses the destructive nature, though it doesn't detail any side effects or error conditions.

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 that are direct and to the point. Every word adds value: names the action, identifies the resource, and explains the confirm requirement.

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 3-parameter delete operation, the description covers the essential behavior. It doesn't describe the return value or errors, but given no output schema, this may not be critical. Slightly incomplete for a destructive tool that might need rollback information.

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 already describes all parameters. The description adds context for the confirm parameter ('permanently changes Gripp data'), but this largely repeats the schema description of confirm. No additional meaning for other parameters.

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 'Delete a Gripp entity by ID.' It specifies the action and resource, distinguishing it from other tools like gripp_create or gripp_update.

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 notes the requirement of confirm=true and explains it's because the operation permanently changes data. It implies destructive use but doesn't explicitly mention when not to use this tool or suggest alternatives like gripp_getone for verification.

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

gripp_describe_entityA

Describe one Gripp API entity, including fields, references, enum values, methods, and examples.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesGripp entity name, for example company, contact, invoice, project, task.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavior. The verb 'Describe' implies a read-only operation, but there is no explicit statement about safety, side effects, or authentication requirements. It is adequate but not fully transparent.

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 a single sentence that is front-loaded with the main action and includes all key information without redundancy. Every word is efficient.

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 simple one-parameter input and no output schema, the description lists the output contents (fields, references, enum values, methods, examples), which provides a good understanding of what to expect. It is nearly complete, though it could mention that the output is a JSON structure.

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 schema covers the single parameter with a basic description (100% coverage). The tool description adds valuable examples ('for example company, contact, invoice, project, task'), clarifying the parameter meaning beyond the schema.

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 action 'describe' the resource 'one Gripp API entity' and lists what is included (fields, references, enum values, methods, examples). It distinctively contrasts with sibling tools like 'gripp_get' which fetch instance data, not schema.

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?

The description implies use for understanding entity structure, but provides no explicit guidance on when to use this tool versus alternatives like 'gripp_list_entities' or 'gripp_get'. No exclusions or context are given.

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

gripp_getB

Retrieve Gripp entities with filters, paging, and ordering. Uses the entity.get API method.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesGripp entity name, for example company or invoice.
filtersNoGripp filters. Use full field names like company.id.
optionsNoGripp paging and ordering options. maxresults is capped at 250.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states it retrieves entities and uses an API method, with no mention of read-only nature, authentication needs, rate limits, error behavior, or side effects.

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?

Two sentences with no fluff. The first sentence efficiently conveys the core purpose. The second sentence adds minor context (API method). Could be slightly more descriptive but remains concise.

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?

For a query tool with 3 parameters, nested objects, and no output schema, the description covers the main purpose and capabilities. It does not describe return format or error handling, leaving some gaps in completeness.

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 documents parameters well. The description adds no specific parameter meaning beyond the schema, which is acceptable, but it doesn't compensate for missing output schema details.

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 retrieves Gripp entities with filters, paging, and ordering. It uses a specific verb and resource, and the name and capabilities distinguish it from siblings like gripp_getone (single entity) and gripp_list_entities (entity types).

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?

The description implies use for listing multiple entities with filters and paging, but does not explicitly guide when to use this tool versus siblings (e.g., gripp_getone for a specific entity). No exclusions or prerequisites are mentioned.

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

gripp_getoneA

Retrieve a single Gripp entity. Uses the entity.getone API method and returns the first matching item.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesGripp entity name, for example company or invoice.
filtersNoGripp filters. Use full field names like company.id.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully cover behavior. It mentions using the entity.getone API method and returning the first match, but lacks details on side effects (read-only nature), authorization needs, or rate limits.

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 concise, consisting of two sentences with no unnecessary words, efficiently conveying the core functionality.

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 retrieval tool with no output schema, the description adequately explains the action and result (first matching item). Additional context like examples could improve completeness, but it is largely sufficient.

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%, with both parameters having descriptions. The description adds marginal value beyond the schema, stating it returns the first matching item, which relates to filters but does not provide new parameter-level insight.

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 retrieves a single Gripp entity and returns the first matching item, distinguishing it from sibling tools like gripp_get which likely return multiple results.

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?

While the description implies usage for retrieving one item, it does not explicitly state when to use this tool over alternatives or provide any when-not guidance.

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

gripp_list_entitiesA

List available Gripp API entities, fields counts, and supported method names.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It indicates a listing operation but does not disclose read-only nature, auth requirements, or side effects. Lacks behavioral details.

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?

Single sentence of 12 words, no fluff. Every word contributes to the tool's purpose.

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 zero parameters, no output schema, and the tool's simplicity, the description covers what the tool returns adequately.

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 has 0 parameters (coverage 100%), baseline is 4. Description adds value by explaining the output: entities, counts, and methods, which is meaningful for an agent.

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?

Description clearly states it lists available Gripp API entities, field counts, and supported method names. This is specific and distinguishes from siblings like gripp_describe_entity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like gripp_describe_entity. Usage context is only implied by the name and description.

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

gripp_updateA

Update a Gripp entity by ID. Requires confirm=true because this writes to Gripp.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDatabase ID of the entity to update.
entityYesGripp entity name, for example company, contact, invoice, task, or tag.
fieldsYesField values to update. Check gripp_describe_entity first.
confirmYesMust be true to update data in Gripp.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions writing to Gripp and the confirm requirement, but does not discuss side effects, reversibility, permissions, or return behavior. Adequate but not comprehensive.

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 only two sentences, front-loaded with the purpose, and every part earns its place. No unnecessary words or structure.

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?

Given no output schema, the description should at least hint at return values, but it does not. It covers the essential prerequisite and action, but leaves out expected output. Adequate for a simple update 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 coverage is 100%, so baseline is 3. The description adds no new parameter information beyond what the schema already provides; it only repeats the confirm requirement. No extra semantic value added.

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 'Update a Gripp entity by ID,' which clearly specifies the action (update) and the resource (Gripp entity by ID). This distinguishes it from siblings like create or delete.

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 notes that 'Requires confirm=true because this writes to Gripp,' providing a prerequisite and context for when to use. It does not explicitly mention alternatives or exclusions, but the usage context 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. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.0
    • First observedgripp_batch
    • First observedgripp_call
    • First observedgripp_create
    • First observedgripp_delete
    • First observedgripp_describe_entity
    • First observedgripp_get
    • First observedgripp_getone
    • First observedgripp_list_entities
    • First observedgripp_update

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have clearly distinct purposes. However, 'gripp_call' is a catch-all that can replicate other tools, and 'gripp_get' vs 'gripp_getone' may cause minor confusion, but descriptions help differentiate.

Naming Consistency4/5

All tools follow a 'gripp_verb' or 'gripp_verb_entity' pattern. Minor deviations: 'describe_entity' and 'list_entities' are slightly more descriptive than imperative, and 'getone' breaks the verb-noun pattern.

Tool Count5/5

With 9 tools, the set covers essential operations (CRUD, batch, metadata) without being overwhelming. The count is well-scoped for a generic API wrapper.

Completeness4/5

The tool surface covers most needed operations: listing, describing, CRUD, batch, and raw calls. Missing advanced search or count, but the general call and batch can fill minor gaps.

Maintenance

ActivityMaintained
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

  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for the GitHub REST API that enables interaction with repositories, pull requests, issues, branches, commits, reviews, and code search, with configurable write and destructive operations.
    -
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for interacting with the SuperOps.ai PSA/RMM platform, providing tools for managing clients, tickets, assets, and technicians via GraphQL API.
    21
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    Local MCP server for inspecting and managing an allowlisted Discord server via Discord's REST API, with safety modes, idempotent JSON blueprints, and destructive-operation safeguards.
    27
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for interacting with a self-hosted Appsmith instance via its REST API, enabling read/update/create of pages, queries, JS objects, widgets, datasources, and applications with lazy session management and destructive-operation gating.
    30
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maxancedecot/GrippMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server