Deployable WebMCP and MCP bridge for published Directus content. Wraps the Directus REST API and exposes content to AI agents over MCP, llms.txt and WebMCP.
Server exposes 4 read-only tools via HTTP transport with basic schemas and descriptions. Tool names follow verb_noun convention (get_*, list_*, search_*). All tools have descriptions (34-56 chars, below the 50-200 char optimum). Input schemas are present but minimal: get_page_content has 1 param with type and description; search_site has 2 params with types and descriptions; get_sitemap and list_content have empty input objects. No output schemas documented. No error handling guidance. No parameter constraints (enums, ranges). Descriptions lack WHEN/WHY context and dependency hints. No tool annotations (readOnlyHint present in metadata but not in schema). Overall: functional but sparse, typical of community servers.
Retrieve the full content of a specific page by URL
Get a list of all available pages on the site
List all content pages with their metadata
Search for content across the site by query string
get_sitemap and list_content have empty input schemas ({}). No parameters documented. Unclear what these tools return or how they differ.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., page URLs, metadata). Violates pattern:tool.
Descriptions are 34-56 characters, below the 50-200 char optimum. Lack WHEN/WHY context. E.g., 'Get a list of all available pages on the site' does not explain when to call this vs search_site or list_content.
search_site accepts 'limit' as a number with no min/max constraints. Unbounded numeric parameters let LLMs pass absurd values (e.g., limit=999999) that waste resources.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
No error handling guidance. If a page URL is invalid or not found, no recovery hint provided. Violates pattern:recovery-guide.