MCP server for interacting with Infomaniak kChat
This MCP server implements 9 tools for interacting with Infomaniak kChat. Tools use clear verb_noun naming conventions (kchat_list_channels, kchat_post_message, etc.) and all have descriptions. Input schemas are present for all tools with Zod validation. However, there are significant gaps: output schemas are not documented, error handling is minimal (most tools just stringify API responses), and parameter descriptions lack actionable context about constraints and formats. The tool interface is well-structured but production-grade error guidance and output documentation are missing.
Add a reaction emoji to a kChat message
Get recent messages from a kChat channel
Get all replies in a kChat message thread
Get detailed profile information for a specific kChat user
Get a list of all users in the kChat with their basic profile information
List kChat public channels with pagination
Output schemas not documented. Tools return JSON.stringify(response) with no description of expected fields, structure, or what fields downstream tools should expect.
Minimal error handling. kchat_send_direct_message has a try-catch that returns raw error strings; other tools propagate errors without recovery guidance. LLM receives no actionable guidance on what to do when tools fail.
Parameter descriptions lack actionable detail. E.g., 'The name of the emoji reaction' does not explain valid emoji names, format constraints, or how to discover available emoji. Descriptions should guide LLM input generation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Post a new message to a kChat channel
Reply to a specific message thread in kChat
Send a direct message to a kChat user by username
No destructive operation confirmation or dry-run patterns. Tools like kchat_post_message, kchat_reply_to_thread, kchat_add_reaction, and kchat_send_direct_message modify state without any confirmation step, risking accidental side effects.
No tool annotations (readOnlyHint, destructiveHint). This prevents clients from understanding which operations are safe to retry and which have irreversible side effects.
Missing response field-to-tool-parameter mapping documentation. If kchat_list_channels returns channel_id, and kchat_post_message requires channel_id, the response schema must document this clearly so agents can chain calls.