Official Node.js SDK for ContextWire — AI-powered research & context API. 94.3% on SimpleQA.
ContextWire SDK is a client library, not an MCP server. The codebase shows 9 tools with basic descriptions and partial schemas. Tool names follow verb_noun convention (ask, search, extract, research, batchSearch, suggest, engines, profiles, health). However, parameter descriptions are minimal or missing entirely. Input schemas are visible in index.d.ts but lack depth, many parameters have no description in the actual tool definitions. Output schemas are documented in TypeScript interfaces but not integrated into tool registration. Error handling is generic (throws on non-200 status). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. The 'ask' tool claims 94.3% accuracy on SimpleQA but provides no context on when to use it vs 'search'. Parameter constraints (e.g., maxResults 1-100) are documented in JSDoc but not enforced in code. Overall, definitions are functional but lack LLM-optimization depth.
Ask a factual question — full research loop (94.3% on SimpleQA).
Run multiple searches in parallel.
List available search engines.
Extract clean text or markdown from a URL.
Check API health.
List all search profiles.
Search academic papers (arXiv, Semantic Scholar, CrossRef, PubMed, OpenAlex).
Parameter descriptions missing or minimal. 'profile', 'maxResults', 'freshness', 'includeContent' in search() lack guidance on valid values, ranges, or when to use them. LLMs cannot infer constraints from names alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 9 tools are read-only but lack explicit annotation. Agents cannot determine retry safety or side-effect scope without this metadata.
Output schemas documented in TypeScript interfaces (index.d.ts) but not integrated into tool registration. LLMs see tool names and descriptions but cannot inspect return types without reading external .d.ts files.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Search the web using 100+ engines.
Get autocomplete suggestions.
Generic error handling. Code throws 'ContextWire API error {status}: {body}' with no recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.
No distinction between 'ask' and 'search' in descriptions. Both retrieve information; 'ask' claims 94.3% accuracy but no guidance on when to prefer it over 'search'. LLMs will guess.