MCP server for indexing and querying codebases using CocoIndex
The server exposes a single semantic code search tool with well-structured input schema and comprehensive parameter documentation. The tool description is clear and action-oriented (127 chars), explaining WHAT the tool does (semantic search), WHEN to use it (instead of grep/glob), and provides concrete examples. All five input parameters have type definitions and descriptions. However, the output schema is not documented in the source code provided, the response structure is not visible, which prevents verification of return field quality, pagination patterns, or chaining capability. The tool name 'search' is generic but contextually clear given the server's purpose (cocoindex-code). Parameter defaults are sensible (limit=5, offset=0, refresh_index=true), and constraints are properly specified (limit 1-100). No security or error handling implementation visible in the provided source snippet.
Semantic code search across the entire codebase -- finds code by meaning, not just text matching. Use this instead of grep/glob when you need to find implementations, understand how features work, or locate related code without knowing exact names or keywords. Accepts natural language queries (e.g., 'authentication logic', 'database connection handling') or code snippets. Returns matching code chunks with file paths, line numbers, and relevance scores. Start with a small limit (e.g., 5); if most results look relevant, use offset to paginate for more.
Output schema not documented. The tool description does not specify what fields are returned, how results are structured, or what a 'relevance score' format looks like. LLMs need to know the response shape to plan downstream operations and extract data correctly.
No pagination metadata documented. While offset/limit are parameters, the description does not state whether a total_count, has_more, or next_offset is returned. Large codebases may have hundreds of results, agents need to know how to discover all matches.
No error guidance. If the codebase is not indexed, if a query times out, or if an invalid language filter is provided, what does the tool return? Without recovery hints, agents cannot self-correct.
Tool name 'search' is generic and could conflict if the server is composed with other search tools. Consider 'search_code' or 'semantic_code_search' to reduce ambiguity when many tools are available.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 71 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 69 | - | v1 |