This server has 4 tools with acceptable naming (verb-prefix convention followed) and moderate description quality, but suffers from critical parameter documentation gaps and missing output schema definitions. Tool descriptions are present but brevity/clarity varies. No parameter descriptions are visible in the source code, which is a critical deficiency per the rubric. Error handling exists but is minimal and not guidance-based. The server is STDIO-only, which caps protocol readiness at 50.
Authenticate with Lighthouse using a transfer token URL
Fetch and display a detailed summary of a Lighthouse portfolio with breakdown by asset types and major holdings.
Get yield data for a Lighthouse portfolio
List all Lighthouse portfolios, their total portfolio value, the wallets within each portfolio and their total value
Parameter descriptions missing across all tools. 'url' parameter in authenticate lacks format guidance; 'portfolio' parameter in getLighthousePortfolio and getLighthouseYieldData are marked optional but lack context on behavior when omitted (defaults to first portfolio? fails? returns all?).
Output schemas not documented. None of the four tools document their return structure. Users calling these tools don't know whether to expect arrays, objects, pagination info, or nested structures. LLMs need to know what fields to expect so they can plan downstream tool calls.'
Vague parameter naming: 'portfolio' parameter used in getLighthousePortfolio and getLighthouseYieldData is ambiguous, is it portfolio_name, portfolio_slug, or portfolio_id?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 7 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
authenticate tool lacks format guidance for 'url' parameter. Zod schema enforces .url() validation, but description does not explain expected URL format (is it a Lighthouse OAuth callback? A special token URL?).
Error handling provides minimal recovery guidance. authenticate, getLighthousePortfolio, and getLighthouseYieldData catch errors and return generic failure messages (e.g., 'Failed to fetch Lighthouse portfolio: {error.message}'). A raw error code or stack trace gives the agent nothing to act on.'
No pagination or result limits documented for listLighthousePortfolios. If a user has 100+ portfolios, the tool returns all in one response, risking context window exhaustion.
Tool descriptions lack 'WHEN to use' context. Descriptions explain WHAT each tool does but not when to use getLighthousePortfolio vs getLighthouseYieldData, or how they complement each other. State WHAT the tool does, WHEN to use it, and any prerequisites.'