Model Context Protocol server for Knotie AI Pro - enables AI agents to manage customers and voice AI agents programmatically
Server has 9 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, mostly adequate) and input schemas with type definitions. However, parameter descriptions are sparse or missing context. No output schemas documented. Error handling returns raw error text without recovery guidance. Tool naming follows verb_noun convention (get_, create_, enable_, reset_, map_, update_, unmap_) but lacks specificity in some cases (e.g., 'update-agent' vs 'update-agent-configuration'). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Security concern: API key and partner email injected via environment, but no per-request validation or rate limiting visible. Composition is reasonable, tools are single-purpose, but output structure not documented, forcing LLMs to guess response fields.
Create a new customer account
Enable portal access for a customer
Get system capabilities and available features
Check API health status
Map an AI agent to a customer
Reset a customer's password
Unmap an AI agent from a customer
No output schemas documented. Tools return JSON via makeRequest() but LLMs cannot infer response structure (fields, types, nesting). Forces agents to guess what data is available.
Error handling returns raw error text without recovery guidance. E.g., 'API request failed (400): ...' tells LLM nothing about whether to retry, ask user, or abort. No error classification (retryable vs fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Update an existing agent configuration
Update customer feature flags and settings
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. E.g., 'create-customer' and 'reset-customer-password' should be marked destructive; 'get-health' should be marked read-only.
Parameter 'features' in update-customer-features is type 'object' with no schema. LLMs cannot know what keys/values are valid. Should define a structured schema or enum the allowed feature flags.
No rate limiting or timeout configuration visible. Agents in retry loops could hammer the API. No explicit timeout set on fetch() calls, hung requests block the entire agent.