Android mobile client application for the Hermes agent platform, providing UI for chat sessions, tool/skill management, approvals, and notifications
This is an Android client, not an MCP server. The codebase shows a Kotlin UI layer (Compose) and a repository pattern wrapping REST API calls to a backend Hermes service. Tool definitions are inferred from repository method signatures, not explicitly registered as MCP tools. No MCP protocol implementation is visible. Descriptions are present but generic (10-50 chars, well below the 50-200 char LLM-optimized baseline). Parameter descriptions exist but are minimal. No input schemas are formally defined in the source, only inferred from method signatures. No output schemas documented. Error handling is basic (try-catch with generic 'Failed to load'). This is a mobile app client, not a production MCP server.
Configure a messaging platform with environment variables
Create a new cron job with a prompt, schedule, and name
Retrieve a specific cron job by ID
Retrieve list of cron jobs, optionally filtered by profile
Retrieve list of runs for a specific cron job
Delete a cron job
Retrieve list of available messaging platforms
Pause a cron job
Not an MCP server, this is an Android client. No MCP protocol implementation detected. Tool definitions are inferred from Kotlin repository methods, not explicitly registered via MCP tool registration.
No formal input schemas visible in source code. Tool parameters are inferred from method signatures only. JSON Schema definitions required for LLM tool selection are absent.
Descriptions are too short (10-50 chars, baseline 50-200 for LLM optimization). E.g., 'Retrieve list of available skills' lacks context on when to call vs. other discovery tools, what fields are returned, or prerequisites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Resume a paused cron job
Enable or disable a messaging platform
Retrieve list of available skills
Enable or disable a skill by name
Retrieve list of available toolsets
Manually trigger a cron job
Update an existing cron job
No output schemas documented. LLMs cannot infer what fields SkillDto, CronJobDto, or MessagingPlatformDto contain, forcing them to guess at downstream tool parameters.
Error handling is generic ('Failed to load'). No recovery guidance, categorization (retryable vs. fatal), or actionable error messages for LLM self-correction.