A Model Context Protocol server that provides code review tools powered by LLM analysis. Submits code snippets or GitHub files for review and retrieves detailed review results with identified issues.
LINTelligent exposes 2 tools with basic descriptions but critical structural gaps. SubmitReviewRequest and GetReviewDetails have descriptions (194 and 156 chars respectively, within baseline 34-392 range), but parameter schemas lack proper type definitions in the visible code. Input parameters are documented via C# [Description] attributes, but JSON Schema structure is not explicitly visible. Both tools return dynamic/string types without documented output schemas. Error handling is minimal (bare catch blocks returning generic strings). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). The mutual exclusivity constraint between codeSnippet and gitHubUserContentFileUrl is documented in descriptions but not enforced via schema. No pagination, no structured output, no recovery guidance in errors.
Retrieves a code review by its reviewId. If status is 'Pending' or 'Processing', then the review is not finished yet and call this tool repeatedly again after a short delay until it gives 'Status' as 'Completed' or 'Failed'. Only recall if it does not return null.
Submits a code snippet for review. Returns the new reviewId immediately (review process runs as a backgroud job). If you received a Guid and not null from this method, you MUST call GetReviewDetails with the returned Guid reviewId after 3 to 5 seconds to retrieve the result.
No documented output schemas. SubmitReviewRequest returns dynamic (Guid or error string); GetReviewDetails returns string. LLMs cannot plan downstream calls or extract structured data without knowing response fields.
Mutual exclusivity constraint (codeSnippet XOR gitHubUserContentFileUrl) documented only in descriptions, not enforced in schema. LLMs may pass both or neither, causing silent failures.
Error handling returns generic strings ('Error while trying to submit review request...') with no recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.
No tool annotations. SubmitReviewRequest is destructive (creates review, may trigger webhooks) but lacks destructiveHint. GetReviewDetails is read-only but lacks readOnlyHint. Agents cannot reason about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
SubmitReviewRequest description instructs LLM to 'call GetReviewDetails after 3-5 seconds', polling logic should be hidden inside the tool, not exposed to the agent. This violates single-responsibility and forces agent-level orchestration.