Expose your Filament resources to AI agents over the Model Context Protocol, with per-record CRUD, token auth, and policy-aware access.
Server exposes 6 tools with complete JSON schemas and descriptions. Tool names follow verb_noun convention (list_, get_, create_, update_, delete_, describe_). Descriptions are present and adequate (50-150 chars). However, parameter descriptions are minimal or generic ('Title field', 'Body field', 'Status field'), lacking context about constraints, formats, or when to use each field. The describe_resources tool is well-designed for agent self-discovery. Error handling is present but not documented in tool descriptions. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Output schemas are not explicitly documented in tool definitions.
Create a new article.
Delete an article by id. This cannot be undone.
List the resources this MCP server exposes, with their operations, custom actions, and readable/writable fields.
Get a single article by id.
List articles with optional search, field filters, sorting, and pagination.
Update an existing article by id. Only the fields you pass are changed.
Parameter descriptions are generic placeholders ('Title field', 'Body field', 'Status field') lacking actionable guidance on format, constraints, or valid values. LLMs cannot infer whether 'status' is an enum, free text, or boolean.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot determine which tools are safe to retry or have side effects.
Output schemas are not documented in tool definitions. Agents do not know what fields to expect from list_articles (pagination structure, field names, total count) or create_article (returned ID format).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Destructive tool (delete_article) lacks confirmation or dry-run capability. No error recovery guidance in description. Agents may delete records irreversibly without safeguards.
list_articles accepts 'search' as free-form string but does not document which fields are searched, case sensitivity, or partial vs exact match behavior. Description says 'Case-insensitive substring match' but does not specify searchable fields.