Gripp MCP
This MCP server lets you interact with the Gripp API (and optionally GoHighLevel) through Claude or other MCP clients.
List Gripp entities and methods (
gripp_list_entities)Inspect entity fields, enums, references, and examples (
gripp_describe_entity)Retrieve entities with filters, paging, and ordering (
gripp_get,gripp_getone)Create, update, and delete entities (requires explicit
confirm: true)Call any documented Gripp method directly (
gripp_call) and batch multiple calls in a transaction (gripp_batch)Non-read operations are blocked unless confirmed, ensuring safe writes
Optionally access GoHighLevel contacts, opportunities, and generic API calls via provided GHL tools (requires separate OAuth setup)
Can be run locally via stdio or deployed as a remote Streamable HTTP MCP on Vercel
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gripp MCPlist companies with name containing Acme"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildSet your Gripp API token before starting the server:
export GRIPP_API_TOKEN="your-token"
npm startOptional environment variables:
GRIPP_API_URL=https://api.gripp.com/public/api3.php
GRIPP_REQUEST_TIMEOUT_MS=30000GRIPP_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/mcpFor 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-secretUse the access key in Claude's custom connector URL:
https://your-vercel-domain.vercel.app/api/mcp?access_key=long-random-secretThe /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/mcpSet 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-tokenUPSTASH_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/callbackThen open the OAuth start URL in your browser:
https://your-vercel-domain.vercel.app/api/connect/startAfter 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-secretInstall 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; requiresconfirm: true.ghl_update_contact: update a contact; requiresconfirm: true.ghl_search_opportunities: search opportunities with/opportunities/search.ghl_api_call: call any relative HighLevel API path; non-GET calls requireconfirm: 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>.getwith filters and options.gripp_getone: call<entity>.getonewith filters.gripp_create: call<entity>.create; requiresconfirm: true.gripp_update: call<entity>.update; requiresconfirm: true.gripp_delete: call<entity>.delete; requiresconfirm: 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:metadataRefresh it when Gripp updates the API docs.
Available Tools
9 toolsgripp_batchB
Execute multiple Gripp API calls in one Gripp transaction. Non-read calls require confirm=true per item.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | Batch of Gripp calls. Keep batches reasonably small to preserve agent usability. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | Full Gripp method name, for example company.getCompanyByCOC or file.getContent. | |
| params | No | Positional JSON-RPC params for the Gripp method. | |
| confirm | No | Required for methods that may modify Gripp data. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | Gripp entity name, for example company, contact, invoice, task, or tag. | |
| fields | Yes | Field values for the new entity. Check gripp_describe_entity first. | |
| confirm | Yes | Must be true to create data in Gripp. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Database ID of the entity to delete. | |
| entity | Yes | Gripp entity name, for example tag or contact. | |
| confirm | Yes | Must be true to delete data from Gripp. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | Gripp entity name, for example company, contact, invoice, project, task. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | Gripp entity name, for example company or invoice. | |
| filters | No | Gripp filters. Use full field names like company.id. | |
| options | No | Gripp paging and ordering options. maxresults is capped at 250. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| entity | Yes | Gripp entity name, for example company or invoice. | |
| filters | No | Gripp filters. Use full field names like company.id. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Database ID of the entity to update. | |
| entity | Yes | Gripp entity name, for example company, contact, invoice, task, or tag. | |
| fields | Yes | Field values to update. Check gripp_describe_entity first. | |
| confirm | Yes | Must be true to update data in Gripp. |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v0.1.0- First observed
gripp_batch - First observed
gripp_call - First observed
gripp_create - First observed
gripp_delete - First observed
gripp_describe_entity - First observed
gripp_get - First observed
gripp_getone - First observed
gripp_list_entities - First observed
gripp_update
TDQS
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.
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.
With 9 tools, the set covers essential operations (CRUD, batch, metadata) without being overwhelming. The count is well-scoped for a generic API wrapper.
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
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
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
111The official MCP Server for the Mux API
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP 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.-
- AlicenseAqualityCmaintenanceMCP server for interacting with the SuperOps.ai PSA/RMM platform, providing tools for managing clients, tickets, assets, and technicians via GraphQL API.21Apache 2.0
- AlicenseBqualityBmaintenanceLocal 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.271MIT
- AlicenseBqualityCmaintenanceMCP 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.30MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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