MCP server for Elnora Platform — AI-powered bioprotocol optimization
The server has 16 tools with generally clear verb-based naming and moderate description quality. However, there are systematic gaps: many parameter descriptions are minimal or missing, output schemas are not documented in the visible code, and error handling guidance is absent. The tool set is well-organized by domain (account, api-keys, audit, feedback, flags, folders) and naming follows verb_noun convention consistently. However, parameter constraints (enums, ranges, formats) are largely undeclared, and descriptions lack the actionable detail needed for confident LLM tool selection. For example, 'elnora_update_account' lacks clarity on which fields are updatable and what constraints apply. Tool chaining IDs are present but not explicitly documented in output schemas.
Add legal document (admin)
Delete legal document (admin)
Get account information
Update account information
Update legal document (admin)
List account users (SystemAdmin)
Create an API key
List API keys
Output schemas not documented. The visible tool definitions lack explicit return type documentation. LLMs cannot plan downstream tool calls or understand what fields to extract without knowing what the tools return.
Parameter descriptions are minimal or generic. Many parameters lack detail about format, constraints, or valid values. For example, 'org_id' is described only as 'Organization UUID (optional, defaults to active org)', no guidance on how the LLM should obtain this value or what happens if omitted.
Destructive operations lack confirmation or dry-run support. 'elnora_revoke_api_key' and 'elnora_delete_folder' are marked DESTRUCTIVE but have no confirmation step, no dry-run mode, and minimal description of irreversibility. Agents can delete irreplaceable resources with no safeguard.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 18 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 52 | - | v1 |
Revoke an API key
List audit logs
Create feedback
Create a file
Delete a file
Get a file
List files
Update a file
List feature flags
Create a folder
Delete a folder
Get a folder
List folders
Update a folder
Health check for the MCP server
Create a library item
Delete a library item
Get a library item
List library items
Update a library item
Create an organization
Get an organization
List organizations
List all organizations (SystemAdmin)
Update an organization
Create a project
Delete a project
Get a project
List projects
Update a project
Create a protocol
Delete a protocol
Get a protocol
List protocols
Update a protocol
Create a review
Get a review
List reviews
Update a review
Search across the platform
Create a task
Delete a task
Get a task
List tasks
Get messages for a task
Send a message to a task
Update a task
No enum constraints on string parameters. Fields like 'action' in 'elnora_list_audit_log' accept arbitrary strings without declaring valid values. This invites LLMs to hallucinate action types.
Pagination limits not declared. 'elnora_list_audit_log', 'elnora_list_agreements', 'elnora_list_api_keys', and 'elnora_list_flags' accept 'page' and 'page_size' parameters but do not document maximum page size, default values, or total result limits. An LLM may request absurdly large pages.
Error handling and recovery guidance missing. No descriptions of what errors each tool can return, when to retry, or what the user/agent should do if a call fails. For example, 'elnora_get_account' may fail if the user_id is invalid, but the tool description provides no recovery path.