Authenticated HTTP bridge for the host-local iMCP MCP session, providing access to iMCP tools through a local HTTP interface with Bonjour service discovery
Two tools with minimal descriptions and incomplete schemas. imcp_list_tools has a 47-char description (below 50-char baseline for clarity) and empty input schema ({}), which is acceptable for a no-arg tool. imcp_call has a 56-char description and two parameters with types but lacks depth on what 'arguments' should contain or how errors are handled. Neither tool documents output schemas, pagination, or error recovery paths. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. Naming is verb-forward but generic ('call' is vague, does it execute, invoke, or dispatch?). No parameter constraints, enums, or format guidance. This server acts as a bridge/proxy to other MCP tools rather than exposing domain-specific functionality, which limits the applicability of standard tool patterns.
Call an MCP tool by name with provided arguments
List all available MCP tools from the iMCP server
imcp_call parameter 'arguments' lacks schema detail. No documentation of expected structure, required vs optional fields, or validation rules. LLM cannot infer what to pass.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields (e.g., tool names from list_tools, result structure from call).
imcp_call marked WRITE risk but no error handling guidance. No documentation of retryable vs fatal failures, or how to recover from invalid tool names or argument mismatches.
Tool descriptions are generic and lack context. 'Call an MCP tool by name' does not explain when to use this vs direct tool calls, prerequisites, or side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classification. imcp_list_tools is READ_ONLY; imcp_call is WRITE and should be marked destructiveHint.