Comprehensive MCP server for PocketBase with Stripe payment processing and email capabilities. Provides 100+ tools for collections management, authentication, records CRUD, Stripe operations, and email templating.
Significant gaps across naming, descriptions, and schemas. Tool names lack consistent verb prefixes (health_check vs pocketbase_list_collections). Most descriptions are generic and under 100 chars, providing minimal LLM guidance. Input schemas present but sparse, many tools have empty property objects with no parameter descriptions. No output schemas documented. Error handling absent. Composition issues: duplicate tools (list_collections appears twice with different signatures). No tool annotations (readOnlyHint/destructiveHint). This server falls in the D-range: major issues that would require substantial rework for production use.
Authenticate a user with email and password
Get current authentication information
Get server information including URL and authentication status
Get comprehensive server status and configuration
Simple health check endpoint
List all PocketBase collections with optional system collections
Create a new PocketBase collection
Empty input schemas on 6 tools (health_check, get_server_status, pocketbase_list_collections, get_server_info, get_auth_info).
Inconsistent naming convention. Tools mix verb_noun (get_server_status, pocketbase_list_collections) with bare nouns (health_check). LLMs struggle to parse intent from inconsistent prefixes. Recommend: standardize all to verb_noun (check_health, list_pocketbase_collections).
Duplicate tool: list_collections appears in both test-worker-tools.js and smithery-entry-comprehensive-all-tools.ts with different signatures. One accepts includeSystem boolean, the other has no params. LLMs will conflate them, causing selection errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Get details for a specific PocketBase collection
List all PocketBase collections
List records from a PocketBase collection
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., collectionId for pocketbase_get_collection). Rubric baseline: 100% of A+ tools have documented return types.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes. pocketbase_create_collection and authenticate_user are marked WRITE in metadata but lack destructiveHint in schema.