A focused MCP server for JAMA requirement searching using natural language processing with semantic search, business rule extraction, entity extraction, and keyword analysis.
This JAMA MCP server has significant definition quality gaps. While tool names follow verb_noun conventions (get_, ingest_, search_, find_, analyze_, test_), most parameter descriptions are present but descriptions for several tools are generic or missing context about when to use them. Parameter schemas are defined with types and some constraints (enums for search_type), but many descriptions lack actionable detail about valid ranges, formats, or error handling. Output schemas are not documented anywhere in the provided code. The codebase shows functional NLP processing but the MCP interface definitions themselves are underdeveloped.
Perform detailed NLP analysis on a specific requirement including keyword extraction, business rule identification, and entity extraction.
Find requirements similar to a given reference text using semantic similarity.
Get the current status of the MCP server including initialization state and component health.
Load requirements from a JAMA project and process them with NLP analysis.
Search requirements using semantic, keyword, or business rule matching.
Test the connection to the JAMA server with provided credentials.
No output schemas documented for any tool. LLMs cannot infer return structure, field names, or types for downstream tool chaining.
Pagination not implemented. search_requirements and find_similar_requirements accept max_results but no offset/cursor/page parameters. Large result sets will bloat context window.
No error handling guidance. Tool descriptions do not explain what errors can occur (e.g., JAMA connection failure, invalid project_id) or what the LLM should do next (retry, ask user, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 35 | - | v1 |
Credentials handling unclear. test_jama_connection description says 'with provided credentials' but input schema is empty. If credentials come from environment, this is correct but undocumented. If LLMs are expected to pass them, this is a security violation.
Parameter constraints incomplete. similarity_threshold has range 0.0-1.0 (good), but max_results on search_requirements and find_similar_requirements have no stated upper bounds. ingest_project max_requirements lacks both minimum and maximum. Unbounded numeric parameters let LLMs pass absurd values.
requirement_id format undefined. analyze_requirement takes requirement_id as string but doesn't specify format (numeric ID, UUID, project.number notation, etc.). LLMs will guess and pass invalid values.