Gripp MCP
Gripp MCP
https://api.gripp.com/public/api3.php의 Gripp API 3.0 엔드포인트용 Model Context Protocol 서버입니다.
Gripp API는 JSON-RPC와 유사합니다. 요청은 배치 배열로 POST되며, API 토큰은 Authorization: Bearer <token>으로 전송됩니다.
설정
npm install
npm run fetch:metadata
npm run build서버를 시작하기 전에 Gripp API 토큰을 설정하세요:
export GRIPP_API_TOKEN="your-token"
npm start선택적 환경 변수:
GRIPP_API_URL=https://api.gripp.com/public/api3.php
GRIPP_REQUEST_TIMEOUT_MS=30000GRIPP_API_URL은 의도적으로 https://api.gripp.com/ 호스트로 제한됩니다.
Related MCP server: SuperOps MCP Server
MCP 클라이언트 구성
stdio 구성 예시:
{
"mcpServers": {
"gripp": {
"command": "node",
"args": ["/absolute/path/to/MCP Gripp/dist/src/cli.js"],
"env": {
"GRIPP_API_TOKEN": "your-token"
}
}
}
}패키지를 게시하거나 연결한 후에는 gripp-mcp 바이너리도 실행할 수 있습니다.
Vercel 원격 MCP
이 저장소는 Next.js 라우트를 통해 Vercel용 Streamable HTTP MCP 엔드포인트도 제공합니다:
https://your-vercel-domain.vercel.app/api/mcpClaude 사용자 지정 커넥터에는 /api/mcp URL을 사용하세요. 루트 URL은 상태 응답만 반환합니다.
Gripp 도구를 사용하기 전에 Vercel에서 이 환경 변수를 설정하세요:
GRIPP_API_TOKEN=your-token
MCP_ACCESS_KEY=long-random-secretClaude의 사용자 지정 커넥터 URL에 액세스 키를 사용하세요:
https://your-vercel-domain.vercel.app/api/mcp?access_key=long-random-secret/api/mcp 엔드포인트는 프로덕션에서 MCP_ACCESS_KEY가 설정되지 않으면 폐쇄 실패(fail closed)합니다. URL이 유출되면 Vercel에서 MCP_ACCESS_KEY를 교체하고 재배포하세요.
원격 엔드포인트는 Authorization: Bearer <token> 또는 x-gripp-api-token에서 Gripp 토큰을 읽을 수도 있지만, Claude의 사용자 지정 커넥터 UI는 현재 간단한 사용자 지정 헤더 필드를 제공하지 않습니다. Claude의 경우 실용적인 설정은 Vercel 프로젝트 환경에 GRIPP_API_TOKEN을 저장하는 것입니다.
GoHighLevel 원격 MCP
동일한 Vercel 프로젝트는 OAuth 토큰 저장소와 함께 GoHighLevel MCP 엔드포인트도 호스팅할 수 있습니다:
https://your-vercel-domain.vercel.app/api/connect/mcpVercel에서 다음 환경 변수를 설정하세요:
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-tokenKV_* 이름 대신 UPSTASH_REDIS_REST_URL 및 UPSTASH_REDIS_REST_TOKEN도 작동합니다.
HighLevel Marketplace 앱 설정에서 이 리디렉션 URL을 추가하세요:
https://your-vercel-domain.vercel.app/api/connect/callback그런 다음 브라우저에서 OAuth 시작 URL을 엽니다:
https://your-vercel-domain.vercel.app/api/connect/startHighLevel이 다시 리디렉션하면 콜백 페이지가 해당 하위 계정 설치를 저장합니다. Claude의 사용자 지정 커넥터 화면에서 하나의 공유 URL을 사용하세요:
https://your-vercel-domain.vercel.app/api/connect/mcp?access_key=long-random-secret/api/connect/start를 다시 열고 다음 위치를 선택하여 하위 계정별로 앱을 한 번 설치하세요. MCP는 연결된 모든 설치의 인덱스를 유지합니다. Claude에서 먼저 ghl_list_installations를 호출한 다음 선택한 installId를 연락처, 기회 또는 일반 API 도구에 전달하세요.
Marketplace 앱을 에이전시 관리자만 설치할 수 있는 경우 GHL_OAUTH_USER_TYPE=Company로 설정하세요. 에이전시 수준에서 한 번 설치한 후 ghl_list_installed_locations를 사용하여 앱이 실제로 설치된 위치를 확인한 다음 ghl_connect_location으로 쿼리하려는 하위 계정에 대한 저장된 Location 설치를 생성하세요. ghl_list_locations는 표시되는 하위 계정만 나열하며 앱이 설치되었음을 증명하지 않습니다.
GoHighLevel MCP는 프로덕션에서 GHL_MCP_ACCESS_KEY, 암호화된 토큰 저장소 또는 OAuth 자격 증명이 없으면 폐쇄 실패(fail closed)합니다.
GoHighLevel 도구
ghl_installation_status: 토큰을 노출하지 않고 OAuth 설치 메타데이터를 표시합니다.ghl_list_installations: 연결된 모든 하위 계정/설치를 나열합니다.ghl_list_locations: 연결된 에이전시/회사 설치에서 하위 계정을 나열/검색합니다.ghl_list_installed_locations: 이 앱이 설치/승인된 위치를 나열합니다.ghl_connect_location: 에이전시/회사 설치에서 Location 토큰을 생성하고 저장합니다.ghl_get_contact: 연락처 ID로 연락처 하나를 검색합니다.ghl_search_contacts:/contacts/search로 연락처를 검색합니다.ghl_create_contact: 연락처를 생성합니다.confirm: true가 필요합니다.ghl_update_contact: 연락처를 업데이트합니다.confirm: true가 필요합니다.ghl_search_opportunities:/opportunities/search로 기회를 검색합니다.ghl_api_call: 모든 상대 HighLevel API 경로를 호출합니다. GET이 아닌 호출에는confirm: true가 필요합니다.
Claude용 공유 Google Ads MCP
여러 사람이 Claude에서 사용할 수 있는 공유 Google Ads MCP의 경우, 로컬 stdio MCP 프로세스 대신 공식 googleads/google-ads-mcp 서버를 별도의 원격 서비스로 실행하세요.
Cloud Run 배포 및 Claude 사용자 지정 커넥터 설정은 docs/google-ads-mcp-claude.md를 참조하세요.
도구
gripp_list_entities: 사용 가능한 Gripp 엔티티 및 메서드 이름을 나열합니다.gripp_describe_entity: 하나의 엔티티에 대한 필드, 열거형 값, 참조, 메서드 및 예제를 검사합니다.gripp_get: 필터 및 옵션으로<entity>.get을 호출합니다.gripp_getone: 필터로<entity>.getone을 호출합니다.gripp_create:<entity>.create를 호출합니다.confirm: true가 필요합니다.gripp_update:<entity>.update를 호출합니다.confirm: true가 필요합니다.gripp_delete:<entity>.delete를 호출합니다.confirm: true가 필요합니다.gripp_call: 전체 이름으로 문서화된 모든 Gripp 메서드를 호출합니다.gripp_batch: 하나의 트랜잭션에서 여러 문서화된 Gripp 호출을 실행합니다.
읽기 전용이 아닌 메서드는 confirm: true가 제공되지 않으면 차단됩니다. 이는 gripp_call 및 gripp_batch의 각 항목에도 적용됩니다.
예제
이름으로 회사 찾기:
{
"entity": "company",
"filters": [
{
"field": "company.companyname",
"operator": "like",
"value": "%Acme%"
}
],
"options": {
"paging": {
"firstresult": 0,
"maxresults": 10
},
"orderings": [
{
"field": "company.companyname",
"direction": "asc"
}
]
}
}비표준 읽기 메서드 호출:
{
"method": "company.getCompanyByCOC",
"params": ["12345678"]
}태그 생성:
{
"entity": "tag",
"fields": {
"name": "Imported"
},
"confirm": true
}메타데이터
커밋된 메타데이터 스냅샷은 공개 API 문서 페이지에서 생성됩니다:
npm run fetch:metadataGripp이 API 문서를 업데이트할 때 새로고침하세요.
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.
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
Scored across 9 tools
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
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
The 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 gradedqualityDmaintenanceMCP 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
- AlicenseBqualityDmaintenanceMCP 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