{"responseCode":200,"message":"success","content":{"server":{"id":"mcp-jotform-apps-v1"},"tools":[{"name":"create_app","title":"Create App","description":"Creates a complete app from a description: pages, elements, theme, and any embedded forms \u2014 all wired together in one call.","summary":"Creates a complete app from a description: pages, elements, theme, and any embedded forms \u2014 all wired together in one call.","inputSchema":{"type":"object","properties":{"description":{"description":"Clear description of the app to create. Include purpose, target audience, capabilities, and boundaries.","type":"string"}},"required":["description"],"additionalProperties":true},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"status":{"type":"string","description":"Creation status. 'processing' means the app is being generated in the background and progress streams to the client."},"related_asset":{"type":["object","null"],"properties":{"asset_id":{"type":"string"},"asset_title":{"type":"string"},"asset_type":{"type":"string"},"asset_created_at":{"type":"string","description":"Creation datetime in ISO8601"},"asset_updated_at":{"type":"string","description":"Last updated datetime in ISO8601"},"action":{"type":"string"},"copilot_chat_id":{"type":["string","null"]},"revision_id":{"type":["string","null"]}}}},"additionalProperties":true}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"hasUI":true,"preventRetry":true},{"name":"edit_app","title":"Edit App","description":"Edits an existing app using precise instructions. Can add, modify, or remove pages and elements, and change styling, settings, and app structure. Changes may remove existing content or overwrite existing settings.","summary":"Edits an existing app using precise instructions. Can add, modify, or remove pages and elements, and change styling, settings, and app structure. Changes may remove existing content or overwrite existing settings.","inputSchema":{"type":"object","properties":{"app_id":{"description":"ID of the app (portal) to edit.","type":"string"},"instructions":{"description":"Exact changes to apply (add\/modify\/remove pages, elements, styling, settings).","type":"string"}},"required":["app_id","instructions"],"additionalProperties":true},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"status":{"type":"string","description":"Edit status. 'processing' means the app is being updated in the background and progress streams to the client."},"related_asset":{"type":"object","properties":{"asset_id":{"type":"string"},"asset_title":{"type":"string"},"asset_type":{"type":"string"},"asset_created_at":{"type":"string","description":"Creation datetime in ISO8601"},"asset_updated_at":{"type":"string","description":"Last updated datetime in ISO8601"},"action":{"type":"string"},"copilot_chat_id":{"type":["string","null"]},"revision_id":{"type":["string","null"]}}},"startRevisionID":{"type":"string"},"editedRevisionID":{"type":"string"}},"additionalProperties":true}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"hasUI":true,"preventRetry":true},{"name":"fetch","title":"Fetch","description":"This tool fetches information and metadata from Jotform based on an app id. If metadata.build_status is processing, wait metadata.poll_after_seconds and call fetch again with the same app id.","summary":"This tool fetches information and metadata from Jotform based on an app id. If metadata.build_status is processing, wait metadata.poll_after_seconds and call fetch again with the same app id.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"The app id to fetch information and metadata from"}},"required":["id"]},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the fetched resource"},"title":{"type":"string","description":"The title of the fetched resource"},"text":{"type":"string","description":"A short summary of the fetched resource"},"url":{"type":"string","description":"The URL of the fetched resource"},"metadata":{"type":"object","description":"Additional structured details about the resource. Properties vary by resource type.","additionalProperties":true}},"additionalProperties":true,"required":["id","title","text","metadata"]}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"hasUI":false,"preventRetry":false},{"name":"get_teams","title":"Get Teams","description":"Retrieves team information for the user in Enterprise environments. Returns team details including members when returnBasicTeamInfo is false.","summary":"Retrieves team information for the user in Enterprise environments. Returns team details including members when returnBasicTeamInfo is false.","inputSchema":{"type":"object","properties":{"returnBasicTeamInfo":{"type":"boolean","description":"If true, returns only team IDs and names without member details. If false (default), returns full team information including team members, their roles, and member count. Set to false when the user wants to see who is in a team.","default":false}},"required":["returnBasicTeamInfo"],"additionalProperties":true},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"teams":{"type":"array","description":"List of teams.","items":{"type":"object","properties":{"teamID":{"type":"string","description":"Unique team identifier."},"teamName":{"type":"string","description":"Display name of the team."}}}}},"additionalProperties":true}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"hasUI":false,"preventRetry":false},{"name":"search","title":"Asset Search","description":"Search apps.\nUse this tool when the goal is to find one or more apps that match optional title, date, and sorting filters.\nYou can use this tool to find the app ID of an app by name or criteria to invoke any other tool that requires an app ID.\nThis tool returns matching apps as search results and does not open or render a single app.\nFilter Rules: title_filter is an array of plain strings for app title matching (OR logic). Regex is not supported.\nFilter Rules: date_filter is an array of two strings in YYYY-MM-DD format for the date range to filter by. The first item is the start date and the second item is the end date. Return empty array if no date filter is needed.\nEmpty title_filter: Empty title_filter lists your apps.\norder_by: The default value is \"last_activity\", only use another option if a specific sorting is provided by the user.\nLimit controls how many apps are returned.\nExamples: (1) title_filter = [\"dashboard\"] to find apps with \"dashboard\" in the title; (2) title_filter = [] to list all your apps; (3) date_filter = [\"2024-01-01\", \"2024-12-31\"] to find apps created between January 1, 2024 and December 31, 2024; (4) order_by = \"most_recent_created\" to sort apps by the most recent creation date","summary":"Search apps.\nUse this tool when the goal is to find one or more apps that match optional title, date, and sorting filters.\nYou can use this tool to find the app ID of an app by name or criteria to invoke any other tool that requires an app ID.\nThis tool returns matching apps as search results and does not open or render a single app.\nFilter Rules: title_filter is an array of plain strings for app title matching (OR logic). Regex is not supported.\nFilter Rules: date_filter is an array of two strings in YYYY-MM-DD format for the date range to filter by. The first item is the start date and the second item is the end date. Return empty array if no date filter is needed.\nEmpty title_filter: Empty title_filter lists your apps.\norder_by: The default value is \"last_activity\", only use another option if a specific sorting is provided by the user.\nLimit controls how many apps are returned.\nExamples: (1) title_filter = [\"dashboard\"] to find apps with \"dashboard\" in the title; (2) title_filter = [] to list all your apps; (3) date_filter = [\"2024-01-01\", \"2024-12-31\"] to find apps created between January 1, 2024 and December 31, 2024; (4) order_by = \"most_recent_created\" to sort apps by the most recent creation date","inputSchema":{"type":"object","properties":{"user_query":{"type":"string","description":"A natural-language instruction describing what the user wants to find and list from assets.","default":""},"filter":{"type":"object","properties":{"date_filter":{"type":"array","items":{"type":"string","format":"date"},"description":"The date range to filter by in YYYY-MM-DD format. The first item is the start date and the second item is the end date. Return empty array if no date filter is needed.","default":[]},"title_filter":{"type":"array","items":{"type":"string"},"description":"Array of plain strings for asset title matching (OR logic). Regex is not supported. Empty array lists all your assets.","default":[]},"min_submission_count":{"type":"number","description":"The minimum number of submissions to filter by. Return 0 if no submission filter is needed. Return 1 if the user wants to assets which have submissions.","default":0}},"default":{"date_filter":[],"title_filter":[],"min_submission_count":0}},"order_by":{"type":"string","description":"Sort order for the results. The default value is \"last_activity\", only use another option if a sorting is really needed.","default":"last_activity","enum":["last_activity","most_recent_created","least_recent_created","submissions_count","last_submission"]},"limit":{"type":"number","description":"Maximum items fetched per underlying request (default: 20).","default":20}},"required":["user_query"]},"outputSchema":{"type":"object","properties":{"is_success":{"type":"boolean","description":"Whether the tool execution succeeded."},"message":{"type":"string","description":"Human-readable result description."},"error":{"type":"string","description":"Error description (present only on failure)."},"data":{"type":"object","properties":{"results":{"type":"array","description":"Personal workspace search results. Each item includes id, title, url.","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"required":["id","title"]}},"teams":{"type":"array","description":"Team workspace search results grouped by team. Only present for enterprise users with teams enabled.","items":{"type":"object","properties":{"teamId":{"type":"string"},"teamName":{"type":"string"},"forms":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"required":["id","title"]}}},"required":["teamId","teamName","forms"]}}},"additionalProperties":true,"required":["results"]}},"required":["is_success","message","error","data"]},"outputMode":"structured","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"hasUI":true,"preventRetry":false}]},"duration":"136.32ms","info":null}