{"serverId":"mcp-registry/co.civai.nova/nova-inbox-agent","tools":[{"name":"get_attachment","fixed":{"name":"get_attachment","description":"Download one email attachment as base64 (by drive_id or index on the message).","inputSchema":{"type":"object","required":["message_id"],"properties":{"index":{"type":"integer","minimum":0,"description":"0-based attachment index on the message."},"drive_id":{"type":"string","description":"Drive id from message attachments metadata."},"message_id":{"type":"string","description":"Message id that owns the attachment."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"get_inbox_address","fixed":{"name":"get_inbox_address","description":"Return the user's Nova Inbox email address (e.g. user@nova.civai.co).","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":45,"tokensAfter":45},{"name":"list_messages","fixed":{"name":"list_messages","description":"List messages in the signed-in user's Nova Inbox (@nova.civai.co).","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":50,"minimum":1,"description":"Max messages to return (1–50). Default 10."},"query":{"type":"string","description":"Optional filter on subject or from address (case-insensitive substring)."},"unread_only":{"type":"boolean","description":"If true, only unread inbound messages."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"list_thread","fixed":{"name":"list_thread","description":"List all messages in an email thread (inbound + outbound), oldest first.","inputSchema":{"type":"object","properties":{"message_id":{"type":"string","description":"Any message id in the thread (from list_messages or read_message)."},"thread_key":{"type":"string","description":"Thread key from list_messages/read_message (alternative to message_id)."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"read_message","fixed":{"name":"read_message","description":"Read full body of one Nova Inbox message by id or list index (includes attachment metadata).","inputSchema":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"description":"0-based index from the latest list_messages result."},"message_id":{"type":"string","description":"Nova Inbox message id from list_messages."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}