MCP server for RAG operations with Amazon Bedrock Knowledge Base and Cohere ReRank integration
Server has 6 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-80 chars, mostly adequate) and input schemas with type definitions. However, output schemas are undocumented, LLMs cannot plan downstream calls or extract results. Parameter descriptions are minimal (e.g., 'Search query' lacks format/constraint guidance). No error handling guidance, no recovery patterns, and no tool annotations (readOnlyHint, destructiveHint). Tool naming follows verb_noun convention (search_, rerank_, health_check, get_) which is good. Composition is reasonable: search_knowledge_base and multi_search_knowledge_base are separate concerns, and search_and_rerank combines common operations. However, the lack of output documentation and error guidance places this in the 'fair' range (60-69 baseline), pulled down by missing schemas and no recovery patterns.
Get information about the MCP server and its capabilities
Check the health status of MCP server and connected services
Search the Knowledge Base with multiple queries (for complex analysis)
Rerank search results using Cohere ReRank model
Combined KB search and rerank in one operation (recommended)
Search the Knowledge Base with a single query
Output schemas completely undocumented. LLMs cannot infer what fields to expect from search results, rerank results, or health status. This blocks downstream tool chaining and forces agents to guess at response structure.
No error handling guidance. Tools return errors but do not tell LLMs what to do next (retry, ask user, or fail). E.g., 'Search failed' vs 'Search failed: query too long (max 500 chars). Try shortening your query.'
Parameter descriptions lack constraint guidance. 'max_results' has no min/max bounds; 'threshold' has no range (0-1? 0-100?); 'search_type' enum values (HYBRID, SEMANTIC, LEXICAL) are not formally declared as enum in schema.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
No tool annotations. Tools lack readOnlyHint (all are read-only), destructiveHint (none are destructive), or idempotentHint. LLMs cannot determine retry safety or side-effect scope.
search_and_rerank combines two operations (search + rerank). While composition is reasonable, the tool description does not explain when to use this vs calling search_knowledge_base + rerank_search_results separately. LLMs may not understand the performance/latency tradeoff.