Competitive intelligence for the EVM ecosystem. Search 18,000+ projects, 1,500+ research documents, and 54 VC investment theses. Tracks the full project lifecycle: hackathon submissions, launched protocols, dead and rugged projects. Includes gap analysis with funding signal overlay, cohort comparison, and research archive search across EIPs, ethresear.ch, and Vitalik Buterin's blog.
EVM Copilot demonstrates solid tool design with clear naming conventions (all tools start with action verbs: search_, get_, analyze_), comprehensive parameter schemas using Zod, and detailed descriptions. All 9 tools have descriptions (194 - 250 chars, within baseline 34 - 392 range). Parameters are well-typed with enums for constrained inputs (lifecycle, sourceType, depth). Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. However, output schemas are not explicitly documented in the source, responses are JSON.stringify'd without formal schema declarations. Error handling is minimal (no recovery guidance, no actionable error messages visible). Parameter descriptions are good but some lack format/constraint details (e.g., 'slug' in evm_copilot_get_vc lacks examples of valid slugs). No pagination guidance for large result sets despite search tools potentially returning many items.
Analyze tag, chain, and category distributions within a filtered project cohort
Analyze VC funding activity and investment patterns for a project category
Analyze market gaps for a project idea against the EVM competitive landscape. Returns gap classification, funding signal, lifecycle intelligence, and recommendations.
Get full content of an archive document by ID (paginated)
Get full details of an EVM project by ID
Get VC firm profile with portfolio companies
Output schemas not formally documented. Tools return JSON.stringify'd results without explicit schema declarations. LLMs cannot reliably predict response structure for downstream planning.
No error handling guidance. Tools return raw JSON without actionable error messages. If a search fails or a resource is not found, LLM receives no recovery path (e.g., 'Try search_projects() with a different query').
Pagination not explicitly documented. search_projects and search_archives accept 'limit' but no offset/cursor or total_count guidance. Large result sets risk context window exhaustion.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Search curated EVM research archives (EIPs, ethresear.ch, protocol docs, security reports, investor research, conference transcripts)
Search EVM ecosystem projects (hackathon submissions, launched protocols, dead/rugged projects) using hybrid semantic + keyword search
Search investment theses and research from crypto VCs (a16z, Paradigm, Dragonfly, etc.)
Parameter 'slug' in evm_copilot_get_vc lacks format guidance. Description says 'e.g., a16z-crypto, paradigm, dragonfly' but does not state if these are the only valid values or if others exist. LLM may hallucinate invalid slugs.
Tool composition: evm_copilot_get_project and evm_copilot_get_document require UUIDs but search tools do not explicitly document that they return IDs suitable for these lookups. Chaining is implicit, not guaranteed.