Ploid MCP demonstrates solid definition quality with complete schemas, clear descriptions, and proper tool annotations. All 6 tools have explicit Zod schemas with type constraints and descriptions. Tool names follow verb_noun convention (research_person, find_people, find_decision_makers, personalize_message, research_company, run_agent). Descriptions are concise (50-150 chars) and action-oriented. However, output schemas are not documented, responses are opaque AgentEnvelope objects with unstructured 'output' text fields. Error handling is basic (try-catch with generic messages). Parameter descriptions could be more prescriptive about constraints and formats. No pagination support despite tools returning variable-length results.
Identify likely buyers and influencers at a company for a specific product.
Find a sourced cohort of people from a natural-language sales or research query.
Research a person and draft evidence-grounded outreach without creepy personalization.
Build a sourced company brief with buyer and decision-maker hypotheses.
Resolve a professional identity and return sourced context plus safe personalization angles.
Run a broader people-research, decision-maker, or personalization job in natural language.
Output schemas undocumented. Tools return opaque AgentEnvelope with unstructured 'output' text field. LLMs cannot predict response structure or chain results to downstream tools.
No pagination support. find_people and find_decision_makers accept 'count' parameter but no offset/limit or cursor. Large result sets risk context window exhaustion.
Error handling is generic. safeRun() catches all errors and returns error.message without categorization (retryable vs fatal) or recovery guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Parameter descriptions lack prescriptive constraints. 'goal' and 'tone' parameters have no format guidance. 'max_acu' range (0.2-6.4) is enforced in schema but not explained in description.
run_agent tool name is generic. 'run_agent' does not clearly signal what the agent does (people research, decision-maker discovery, personalization). Consider 'run_research_agent' or split into domain-specific tools.