MCP server for eustore.dev — autonomous sovereign storage + vector database for AI agents. S3-compatible storage and semantic vector search, fully API-driven, no dashboard needed.
Server has 12 tools with complete Zod schemas and descriptions. Naming follows verb_noun convention (register, create_bucket, list_buckets, etc.). However, descriptions are inconsistent in depth, some are 10-15 chars ('Not used'), others are 50-100 chars. Parameter descriptions are present but often generic. No output schema documentation. Error handling returns raw JSON without recovery guidance. Missing tool annotations (readOnlyHint, destructiveHint). Composition is reasonable (single responsibility per tool), but several tools accept unused '_unused' parameters that should be removed.
Check current credit balance and usage.
Get info about a vector collection (vector count, size, status).
Create an S3-compatible storage bucket in the EU. Returns S3 credentials.
Create a vector collection for semantic search / agent memory.
Get S3 credentials for a bucket. Use with any S3 client.
Get current pricing for all services.
Four tools (list_buckets, list_collections, check_balance, get_pricing) accept '_unused' parameter with description 'Not used'. This is anti-pattern, remove unused parameters entirely. Zod schema shows z.string().optional() but description is misleading.
No output schema documentation. Tools return raw JSON.stringify() of API responses without documenting field structure, types, or pagination. LLMs cannot plan downstream calls or extract required fields reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Insert vectors with metadata into a collection. For storing memories, embeddings, documents.
List all storage buckets for this account.
List all vector collections for this account.
Register a new eustore.dev account. Returns API key and free credits. No human needed.
Semantic search in a vector collection. Find similar items by meaning.
Top up credits with cryptocurrency. Returns wallet address and amount. Supports USDC on Base (<$0.01 gas).
Error handling returns raw API error JSON without recovery guidance. E.g., 'Error: {"error": "invalid_token"}' tells agent nothing. Should return 'Auth failed: token expired. Call register() to create new account or set EUSTORE_API_KEY env var.'
insert_vectors and search_vectors accept 'payloads' and 'filter' as JSON strings requiring manual JSON.parse(). This is error-prone, accept structured objects (arrays/objects) directly and let Zod validate. Agents frequently malform JSON strings.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions. register, create_bucket, create_collection, insert_vectors, topup_crypto should be marked destructive.