Code Search MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
The tools have distinct primary purposes: view_code_items for precise retrieval of known items, view_files_full_context for panoramic analysis with auto-expansion, and view_files_outlines for structural exploration. However, view_files_full_context and view_files_outlines both involve file-level analysis and could be confused in some scenarios, though their descriptions clarify different focuses (context vs. outlines).
Naming Consistency5/5All tool names follow a consistent verb_noun pattern with 'view_' prefix and descriptive suffixes (code_items, files_full_context, files_outlines). The naming is uniform and predictable, making it easy to understand the tool set's structure at a glance.
Tool Count4/5With 3 tools, the count is appropriate for a code search server, covering precise retrieval, contextual analysis, and structural outlines. It is slightly lean but reasonable, as each tool serves a clear and distinct function without obvious redundancy, though a few more specialized tools might enhance coverage.
Completeness3/5The tools cover key aspects of code search and analysis, including retrieval, context, and structure, but there are notable gaps. For example, there is no tool for searching code by content (e.g., text search) or for updating/modifying code, which are common in code-related workflows. The surface is functional but incomplete for a full code interaction domain.
Average 4.1/5 across 3 of 3 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about batch extraction, enhanced Java/Spring parsing, and concurrency, but does not cover critical aspects like performance characteristics, error handling, rate limits, or authentication needs. It adequately describes the operation but lacks depth on behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with a clear purpose and key features. Every sentence adds value, but it could be slightly more concise by avoiding redundancy (e.g., 'exploring global project structures' and 'building project maps' are similar). Overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (batch extraction with enhanced parsing), no annotations, and no output schema, the description is moderately complete. It covers the purpose, usage context, and some behavioral insights, but lacks details on output format, error cases, or limitations. It's adequate but has clear gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting the single parameter 'AbsolutePaths'. The description adds no specific parameter semantics beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description does not compensate but relies on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('batch extraction', 'fetch outlines') and resources ('file structural outlines', 'multiple files'), and distinguishes it from siblings by mentioning its focus on exploring global project structures and enhanced Java/Spring parsing capabilities, unlike the more granular view_code_items or comprehensive view_files_full_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('exploring global project structures', 'building project maps', 'tracing interface logic', 'large-scale code reviews') and implies it's for batch processing of multiple files. However, it does not explicitly state when not to use it or name specific alternatives beyond the general sibling tools, missing explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: batch processing, traversal to implementation classes for Java interfaces, support for multiple implementations with labeling, parsing of referenced fields to infer type-to-class paths, and specific use cases. It doesn't mention error handling or performance characteristics, keeping it from a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. Every sentence adds value: the second explains advanced features, the third states ideal use cases and alternatives. Minor deduction for slightly dense phrasing in the middle sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (with traversal, parsing, and batch features), no annotations, and no output schema, the description does well to cover purpose, usage, and key behaviors. It could be more complete by hinting at return format or error cases, but it provides substantial context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter 'Items' as an array of objects with 'File' and 'ItemName'. The description adds context about what constitutes valid inputs ('Absolute path', 'Exact name') and examples, but doesn't provide additional syntax or format details beyond what the schema implies. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('retrieval', 'returns', 'parses') and resources ('full definition blocks for classes/methods/functions', 'method snippets', 'fields referenced'). It distinguishes from siblings by specifying this is for 'precise retrieval' when file path and item name are known, unlike file search tools mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use ('Best for cases where the file path and item name are known', 'Ideal for interface/implementation comparison, fast location of key methods, and precise extraction before call-chain analysis') and when not to use ('if the path or name is unknown, use file search tools first'), including clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: automatic listing of injected components, resolution of imports, auto-expansion of model fields and comments, architectural sorting of files, and API outline generation. However, it lacks details on error handling, performance implications, or output format specifics, which prevents a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet points and tips, making it easy to scan. However, it could be more concise by integrating the tips into the main points and avoiding marketing phrases like 'Panoramic Vision'. Every sentence adds value, but some redundancy exists in explaining auto-expansion benefits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (multi-file code analysis with automatic expansions), no annotations, and no output schema, the description does a good job covering key functionalities and usage. However, it lacks details on output format, error cases, or limitations (e.g., file size constraints), which would enhance completeness for such a sophisticated tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (33%), with only AbsolutePaths having a description. The tool description does not explain what AbsolutePaths, StartLine, or EndLine parameters mean or how they affect the analysis. It mentions analyzing 'multiple files' and 'batch related files', which loosely relates to AbsolutePaths, but adds minimal semantic value beyond the schema's basic documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'code analysis' with 'Panoramic Vision' to provide a 'bird's-eye view across multiple files', specifically optimized for Java/Spring. It distinguishes from siblings by emphasizing multi-file analysis with automatic dependency resolution and model expansion, unlike view_code_items or view_files_outlines which likely focus on single-file or structural overviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: it recommends batching related files (e.g., Controller+ServiceImpl) in one call and explicitly advises NOT to read DTO/VO/Entity/Query files individually since they are auto-expanded when reading their consumers. This clearly differentiates usage from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/raintear94/code-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server