You are an expert documentation assistant. Guidejar is a platform for creating interactive visual walkthrough guides, step-by-step guides, and help articles. You can help with tasks like creating, updating, searching for, and viewing guides in the user's Guidejar workspace.
Discoverability
1 pass · 1 partial1 passed · 1 partial25/100
Client listings and public setup information.
mcp.json or server-card.json
Either mcp.json or an MCP Server Card declaring this endpoint passes.
No matching mcp.json manifest or MCP Server Card was found at the checked URLs.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description83/100
Search through all guides in the user's Guidejar account. Returns matching guides sorted by relevance.
The description explains the capability, when to use it, and what to expect.
Inputs77/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
query
Search term to find guides by title, or description.
Clear enough to supply this argument.
limit
Maximum number of results to return
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
Page number to return
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
include_full_content
Whether to include the full content of the guide in the results. If false, only basic information like id, title, description, and url will be returned.
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "search_guides",
"title": "Search Guides",
"description": "Search through all guides in the user's Guidejar account. Returns matching guides sorted by relevance.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"page": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": 0,
"description": "Page number to return"
},
"limit": {
"type": "number",
"default": 10,
"maximum": 10,
"minimum": 3,
"description": "Maximum number of results to return"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 3,
"description": "Search term to find guides by title, or description."
},
"include_full_content": {
"type": "boolean",
"default": false,
"description": "Whether to include the full content of the guide in the results. If false, only basic information like id, title, description, and url will be returned."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Search Guides",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_guide",
"title": "Get Guide",
"description": "Retrieve a guide or article by its ID. The editor URL for any guide is https://www.guidejar.com/app/edit/{id}.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The ID of the guide to retrieve."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Get Guide",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
List guides and articles sorted by creation date (newest first) with pagination options. Optionally narrow the list to one team (team ID from get_teams) and to one folder in that team (folder ID from get_team_folders). A folder filter returns only items placed directly in that folder, not in its subfolders.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
teamId
Only list guides in this team. Use get_teams to get the team ID.
Clear enough to supply this argument.
folderId
Only list guides directly in this folder. Requires teamId. Use get_team_folders to get the folder ID.
Clear enough to supply this argument.
limit
Maximum number of results to return
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
Page number to return
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "list_guides",
"title": "List Guides",
"description": "List guides and articles sorted by creation date (newest first) with pagination options. Optionally narrow the list to one team (team ID from get_teams) and to one folder in that team (folder ID from get_team_folders). A folder filter returns only items placed directly in that folder, not in its subfolders.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "number",
"default": 1,
"maximum": 100,
"minimum": 1,
"description": "Page number to return"
},
"limit": {
"type": "number",
"default": 10,
"maximum": 20,
"minimum": 5,
"description": "Maximum number of results to return"
},
"teamId": {
"type": "string",
"description": "Only list guides in this team. Use get_teams to get the team ID."
},
"folderId": {
"type": "string",
"description": "Only list guides directly in this folder. Requires teamId. Use get_team_folders to get the folder ID."
}
},
"additionalProperties": false
},
"annotations": {
"title": "List Guides",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description78/100
Get the folder hierarchy for a team. Only call this when the user explicitly mentions a specific folder, either to put a guide or article in it or to list what is in it. Use get_teams first to get the team ID.
Describe the returned information so the agent knows whether it will answer the request.
Inputs69/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
teamId
The ID of the team to get folders for.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_team_folders",
"title": "Get Team Folders",
"description": "Get the folder hierarchy for a team. Only call this when the user explicitly mentions a specific folder, either to put a guide or article in it or to list what is in it. Use get_teams first to get the team ID.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"teamId"
],
"properties": {
"teamId": {
"type": "string",
"description": "The ID of the team to get folders for."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Get Team Folders",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description98/100
Get a temporary upload URL for an image or video file. The returned uploadUrl accepts a direct HTTP PUT with the file binary. The mediaUrl is the final hosted URL to use in create_guide or update_guide.
Supported formats: JPEG, PNG, GIF, WebP, MP4, WebM. The upload URL expires in 10 minutes.
After calling this tool, upload the file using: curl -X PUT -H "Content-Type: <contentType>" --data-binary @/path/to/file "<uploadUrl>"
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
teamId
The ID of the team this media belongs to.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
filename
Name of the file being uploaded (e.g. 'screenshot.png'). Used to determine the file format.
Clear enough to supply this argument.
contentType
MIME type of the file. Auto-detected from filename extension if not provided.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_upload_url",
"title": "Get Upload URL",
"description": "Get a temporary upload URL for an image or video file. The returned uploadUrl accepts a direct HTTP PUT with the file binary. The mediaUrl is the final hosted URL to use in create_guide or update_guide.\n\nSupported formats: JPEG, PNG, GIF, WebP, MP4, WebM. The upload URL expires in 10 minutes.\n\nAfter calling this tool, upload the file using: curl -X PUT -H \"Content-Type: <contentType>\" --data-binary @/path/to/file \"<uploadUrl>\"",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"teamId",
"filename"
],
"properties": {
"teamId": {
"type": "string",
"description": "The ID of the team this media belongs to."
},
"filename": {
"type": "string",
"description": "Name of the file being uploaded (e.g. 'screenshot.png'). Used to determine the file format."
},
"contentType": {
"enum": [
"image/jpeg",
"image/png",
"image/gif",
"image/webp",
"video/mp4",
"video/webm"
],
"type": "string",
"description": "MIME type of the file. Auto-detected from filename extension if not provided."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Get Upload URL",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
Create a new step-by-step guide (or) interactive walkthrough guide in the user's Guidejar account.
- Always use get_teams to get the team IDs first. If there's more than one team, ask the user which team to create the guide in.
- To add images or videos to steps, use the get_upload_url tool to get an upload URL, upload the file via curl, then pass the returned mediaUrl here.
The description explains the capability, when to use it, and what to expect.
Inputs79/100
18 of 20 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
teamId
The ID of the team to create the guide in.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
title
The title of the guide.
Explain the meaning of this value, not just its name.
description
The description of the guide.
Explain the meaning of this value, not just its name.
iconUrl
URL of the icon (favicon) shown next to the guide title, typically the favicon of the product the guide is about.
Clear enough to supply this argument.
folderId
The ID of the folder to place the guide in. Use get_team_folders tool to find available folders. If not provided, the guide will be placed in the team root.
Clear enough to supply this argument.
faqs › items › question
Not provided
Missing description. Explain what this value means and how to supply it.
faqs › items › answer
Not provided
Missing description. Explain what this value means and how to supply it.
steps › items › event
The event type of the step. Use tip, warning, heading only if necessary. Use 'chapter' for intro/divider slides if it's an interactive walkthrough guide. If it's a step-by-step guide, use 'heading' for dividers.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
steps › items › description
The description/annotation for this step. Used for all event types except 'chapter'. Write plain text. Never use HTML. Use Markdown only when absolutely necessary, and only these elements: ### heading, **bold**, *italic*, [text](url) link. No other Markdown elements.
Clear enough to supply this argument.
steps › items › title
Title text. Only used when event is 'chapter'.
Explain the meaning of this value, not just its name.
steps › items › subtitle
Subtitle text. Only used when event is 'chapter'.
Clear enough to supply this argument.
steps › items › buttons › items › text
Button label.
Clear enough to supply this argument.
steps › items › buttons › items › destination
Where the button navigates to. Can be a URL or a step index (e.g. '0', '3', 'next') to jump to a specific step. Use 'next' to navigate to the next step.
Clear enough to supply this argument.
steps › items › buttons › items › bg
Button background color (hex, e.g. '#7c3aed').
Clear enough to supply this argument.
steps › items › buttons › items › textColor
Button text color (hex, e.g. '#ffffff').
Clear enough to supply this argument.
steps › items › mediaUrl
URL of the image or video for this step. Only used when event is not 'chapter'. Use the get_upload_url tool first to get this URL.
Clear enough to supply this argument.
steps › items › imageWidth
Original width of the image/video in pixels.
Clear enough to supply this argument.
steps › items › imageHeight
Original height of the image/video in pixels.
Clear enough to supply this argument.
steps › items › markerX
X position (pixels from left) where the click indicator is placed on the screenshot to show the user where to click or focus.
Clear enough to supply this argument.
steps › items › markerY
Y position (pixels from top) where the click indicator is placed on the screenshot to show the user where to click or focus.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_guide",
"title": "Create Guide",
"description": "Create a new step-by-step guide (or) interactive walkthrough guide in the user's Guidejar account. \n - Always use get_teams to get the team IDs first. If there's more than one team, ask the user which team to create the guide in.\n - To add images or videos to steps, use the get_upload_url tool to get an upload URL, upload the file via curl, then pass the returned mediaUrl here.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"teamId",
"title",
"description"
],
"properties": {
"faqs": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"answer"
],
"properties": {
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "List of frequently asked questions for the guide."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event": {
"enum": [
"instruction",
"heading",
"tip",
"warning",
"chapter"
],
"type": "string",
"default": "instruction",
"description": "The event type of the step. Use tip, warning, heading only if necessary. Use 'chapter' for intro/divider slides if it's an interactive walkthrough guide. If it's a step-by-step guide, use 'heading' for dividers."
},
"title": {
"type": "string",
"description": "Title text. Only used when event is 'chapter'."
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"destination"
],
"properties": {
"bg": {
"type": "string",
"description": "Button background color (hex, e.g. '#7c3aed')."
},
"text": {
"type": "string",
"description": "Button label."
},
"textColor": {
"type": "string",
"description": "Button text color (hex, e.g. '#ffffff')."
},
"destination": {
"type": "string",
"description": "Where the button navigates to. Can be a URL or a step index (e.g. '0', '3', 'next') to jump to a specific step. Use 'next' to navigate to the next step."
}
},
"additionalProperties": false
},
"maxItems": 6,
"description": "CTA buttons. Only used when event is 'chapter'. At least one button is required for 'chapter' steps."
},
"markerX": {
"type": "number",
"description": "X position (pixels from left) where the click indicator is placed on the screenshot to show the user where to click or focus."
},
"markerY": {
"type": "number",
"description": "Y position (pixels from top) where the click indicator is placed on the screenshot to show the user where to click or focus."
},
"mediaUrl": {
"type": "string",
"format": "uri",
"description": "URL of the image or video for this step. Only used when event is not 'chapter'. Use the get_upload_url tool first to get this URL."
},
"subtitle": {
"type": "string",
"description": "Subtitle text. Only used when event is 'chapter'."
},
"imageWidth": {
"type": "number",
"description": "Original width of the image/video in pixels."
},
"description": {
"type": "string",
"description": "The description/annotation for this step. Used for all event types except 'chapter'. Write plain text. Never use HTML. Use Markdown only when absolutely necessary, and only these elements: ### heading, **bold**, *italic*, [text](url) link. No other Markdown elements."
},
"imageHeight": {
"type": "number",
"description": "Original height of the image/video in pixels."
}
},
"additionalProperties": false
},
"description": "The steps of the guide."
},
"title": {
"type": "string",
"description": "The title of the guide."
},
"teamId": {
"type": "string",
"description": "The ID of the team to create the guide in."
},
"iconUrl": {
"type": "string",
"format": "uri",
"description": "URL of the icon (favicon) shown next to the guide title, typically the favicon of the product the guide is about."
},
"folderId": {
"type": "string",
"description": "The ID of the folder to place the guide in. Use get_team_folders tool to find available folders. If not provided, the guide will be placed in the team root."
},
"description": {
"type": "string",
"description": "The description of the guide."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Create Guide",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Update an existing guide. Supports changing the title, description, icon, and FAQs at the guide level. For steps, you can update, add, or delete steps by index.
To add images or videos to steps, use the get_upload_url tool to get an upload URL, upload the file via curl, then pass the returned mediaUrl here.
All step indices refer to the current state of the guide before any changes. Operations are applied in order: updates first, then deletes, then adds.
For advanced features not supported here (audio, voiceover, talking head, highlights, bubble position, customization, etc.), direct the user to the editor at https://www.guidejar.com/app/edit/{guideId} and the help center at https://help.guidejar.com for guidance.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
30 of 32 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
guideId
The ID of the guide to update.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
title
New title for the guide.
Explain the meaning of this value, not just its name.
description
New description for the guide.
Explain the meaning of this value, not just its name.
iconUrl
URL of the icon (favicon) shown next to the guide title, typically the favicon of the product the guide is about. Pass 'none' to reset to the default Guidejar logo.
Clear enough to supply this argument.
folderId
Move the guide to this folder. Use get_team_folders tool to find available folders. Pass 'none' to move the guide out of any folder back to the team root.
Clear enough to supply this argument.
faqs › items › question
Not provided
Missing description. Explain what this value means and how to supply it.
faqs › items › answer
Not provided
Missing description. Explain what this value means and how to supply it.
updateSteps › items › index
Zero-based index of the step to update.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
updateSteps › items › description
New description/annotation for this step. Used for all event types except 'chapter'. Write plain text. Never use HTML. Use Markdown only when absolutely necessary, and only these elements: ### heading, **bold**, *italic*, [text](url) link. No other Markdown elements.
Clear enough to supply this argument.
updateSteps › items › event
New event type for this step. Use tip, warning, heading only if necessary. Use 'chapter' for intro/divider slides if it's an interactive walkthrough guide. If it's a step-by-step guide, use 'heading' for dividers.
Where the button navigates to. Can be a URL or a step index (e.g. '0', '3', 'next') to jump to a specific step. Use 'next' to navigate to the next step.
Clear enough to supply this argument.
updateSteps › items › buttons › items › bg
Button background color (hex, e.g. '#7c3aed').
Clear enough to supply this argument.
updateSteps › items › buttons › items › textColor
Button text color (hex, e.g. '#ffffff').
Clear enough to supply this argument.
updateSteps › items › mediaUrl
New image or video URL for this step. Use get_upload_url tool first to get this URL.
Clear enough to supply this argument.
updateSteps › items › imageWidth
Original width of the new image in pixels.
Clear enough to supply this argument.
updateSteps › items › imageHeight
Original height of the new image in pixels.
Clear enough to supply this argument.
updateSteps › items › markerX
X position (pixels from left) where the click indicator is placed on the screenshot to show the user where to click or focus.
Clear enough to supply this argument.
updateSteps › items › markerY
Y position (pixels from top) where the click indicator is placed on the screenshot to show the user where to click or focus.
Clear enough to supply this argument.
deleteSteps
Indices of steps to delete. Indices refer to the current guide before any changes.
Clear enough to supply this argument.
addSteps › items › index
Position to insert the new step at (0 = beginning). Steps at or after this index shift down.
Clear enough to supply this argument.
addSteps › items › event
The event type of the step. Use tip, warning, heading only if necessary. Use 'chapter' for intro/divider slides if it's an interactive walkthrough guide. If it's a step-by-step guide, use 'heading' for dividers.
Clear enough to supply this argument.
addSteps › items › description
Description/annotation for the new step. Used for all event types except 'chapter'. Write plain text. Never use HTML. Use Markdown only when absolutely necessary, and only these elements: ### heading, **bold**, *italic*, [text](url) link. No other Markdown elements.
Clear enough to supply this argument.
addSteps › items › title
Title text. Only used when event is 'chapter'.
Clear enough to supply this argument.
addSteps › items › subtitle
Subtitle text. Only used when event is 'chapter'.
Clear enough to supply this argument.
addSteps › items › mediaUrl
Image or video URL for this step. Use get_upload_url tool first to get this URL.
Clear enough to supply this argument.
addSteps › items › imageWidth
Original width of the image in pixels.
Clear enough to supply this argument.
addSteps › items › imageHeight
Original height of the image in pixels.
Clear enough to supply this argument.
addSteps › items › markerX
X position (pixels from left) where the click indicator is placed on the screenshot to show the user where to click or focus.
Clear enough to supply this argument.
addSteps › items › markerY
Y position (pixels from top) where the click indicator is placed on the screenshot to show the user where to click or focus.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_guide",
"title": "Update Guide",
"description": "Update an existing guide. Supports changing the title, description, icon, and FAQs at the guide level. For steps, you can update, add, or delete steps by index.\nTo add images or videos to steps, use the get_upload_url tool to get an upload URL, upload the file via curl, then pass the returned mediaUrl here.\nAll step indices refer to the current state of the guide before any changes. Operations are applied in order: updates first, then deletes, then adds.\n\nFor advanced features not supported here (audio, voiceover, talking head, highlights, bubble position, customization, etc.), direct the user to the editor at https://www.guidejar.com/app/edit/{guideId} and the help center at https://help.guidejar.com for guidance.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"guideId"
],
"properties": {
"faqs": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"answer"
],
"properties": {
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "Replace all FAQs with this list. Pass an empty array to remove all FAQs."
},
"title": {
"type": "string",
"description": "New title for the guide."
},
"guideId": {
"type": "string",
"description": "The ID of the guide to update."
},
"iconUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "string",
"const": "none"
}
],
"description": "URL of the icon (favicon) shown next to the guide title, typically the favicon of the product the guide is about. Pass 'none' to reset to the default Guidejar logo."
},
"addSteps": {
"type": "array",
"items": {
"type": "object",
"required": [
"index"
],
"properties": {
"event": {
"enum": [
"instruction",
"heading",
"tip",
"warning",
"chapter"
],
"type": "string",
"default": "instruction",
"description": "The event type of the step. Use tip, warning, heading only if necessary. Use 'chapter' for intro/divider slides if it's an interactive walkthrough guide. If it's a step-by-step guide, use 'heading' for dividers."
},
"index": {
"type": "integer",
"minimum": 0,
"description": "Position to insert the new step at (0 = beginning). Steps at or after this index shift down."
},
"title": {
"type": "string",
"description": "Title text. Only used when event is 'chapter'."
},
"buttons": {
"type": "array",
"items": {
"$ref": "#/properties/updateSteps/items/properties/buttons/items"
},
"maxItems": 6,
"description": "CTA buttons. Only used when event is 'chapter'. At least one button is required for 'chapter' steps."
},
"markerX": {
"type": "number",
"description": "X position (pixels from left) where the click indicator is placed on the screenshot to show the user where to click or focus."
},
"markerY": {
"type": "number",
"description": "Y position (pixels from top) where the click indicator is placed on the screenshot to show the user where to click or focus."
},
"mediaUrl": {
"type": "string",
"format": "uri",
"description": "Image or video URL for this step. Use get_upload_url tool first to get this URL."
},
"subtitle": {
"type": "string",
"description": "Subtitle text. Only used when event is 'chapter'."
},
"imageWidth": {
"type": "number",
"description": "Original width of the image in pixels."
},
"description": {
"type": "string",
"description": "Description/annotation for the new step. Used for all event types except 'chapter'. Write plain text. Never use HTML. Use Markdown only when absolutely necessary, and only these elements: ### heading, **bold**, *italic*, [text](url) link. No other Markdown elements."
},
"imageHeight": {
"type": "number",
"description": "Original height of the image in pixels."
}
},
"additionalProperties": false
},
"description": "New steps to insert. Index indicates the position in the guide after deletes are applied."
},
"folderId": {
"type": "string",
"description": "Move the guide to this folder. Use get_team_folders tool to find available folders. Pass 'none' to move the guide out of any folder back to the team root."
},
"deleteSteps": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
},
"description": "Indices of steps to delete. Indices refer to the current guide before any changes."
},
"description": {
"type": "string",
"description": "New description for the guide."
},
"updateSteps": {
"type": "array",
"items": {
"type": "object",
"required": [
"index"
],
"properties": {
"event": {
"enum": [
"instruction",
"heading",
"tip",
"warning",
"chapter"
],
"type": "string",
"description": "New event type for this step. Use tip, warning, heading only if necessary. Use 'chapter' for intro/divider slides if it's an interactive walkthrough guide. If it's a step-by-step guide, use 'heading' for dividers."
},
"index": {
"type": "integer",
"minimum": 0,
"description": "Zero-based index of the step to update."
},
"title": {
"type": "string",
"description": "Title text. Only used when event is 'chapter'."
},
"buttons": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"destination"
],
"properties": {
"bg": {
"type": "string",
"description": "Button background color (hex, e.g. '#7c3aed')."
},
"text": {
"type": "string",
"description": "Button label."
},
"textColor": {
"type": "string",
"description": "Button text color (hex, e.g. '#ffffff')."
},
"destination": {
"type": "string",
"description": "Where the button navigates to. Can be a URL or a step index (e.g. '0', '3', 'next') to jump to a specific step. Use 'next' to navigate to the next step."
}
},
"additionalProperties": false
},
"maxItems": 6,
"description": "CTA buttons. Only used when event is 'chapter'. At least one button is required for 'chapter' steps."
},
"markerX": {
"type": "number",
"description": "X position (pixels from left) where the click indicator is placed on the screenshot to show the user where to click or focus."
},
"markerY": {
"type": "number",
"description": "Y position (pixels from top) where the click indicator is placed on the screenshot to show the user where to click or focus."
},
"mediaUrl": {
"type": "string",
"format": "uri",
"description": "New image or video URL for this step. Use get_upload_url tool first to get this URL."
},
"subtitle": {
"type": "string",
"description": "Subtitle text. Only used when event is 'chapter'."
},
"imageWidth": {
"type": "number",
"description": "Original width of the new image in pixels."
},
"description": {
"type": "string",
"description": "New description/annotation for this step. Used for all event types except 'chapter'. Write plain text. Never use HTML. Use Markdown only when absolutely necessary, and only these elements: ### heading, **bold**, *italic*, [text](url) link. No other Markdown elements."
},
"imageHeight": {
"type": "number",
"description": "Original height of the new image in pixels."
}
},
"additionalProperties": false
},
"description": "Update existing steps by index. Only the provided fields are changed; others are preserved."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Update Guide",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
Create a new article in the user's Guidejar account. Always use get_teams to get the team IDs first. If there's more than one team, ask the user which team to create the article in.
The description explains the capability, when to use it, and what to expect.
Inputs76/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
teamId
The ID of the team to create the article in.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
title
The title of the article.
Clear enough to supply this argument.
description
The description of the article.
Explain the meaning of this value, not just its name.
htmlContent
The HTML content of the article.
Clear enough to supply this argument.
folderId
The ID of the folder to place the article in. Use get_team_folders tool to find available folders. If not provided, the article will be placed in the team root.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "create_article",
"title": "Create Article",
"description": "Create a new article in the user's Guidejar account. Always use get_teams to get the team IDs first. If there's more than one team, ask the user which team to create the article in.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"teamId",
"title",
"description",
"htmlContent"
],
"properties": {
"title": {
"type": "string",
"description": "The title of the article."
},
"teamId": {
"type": "string",
"description": "The ID of the team to create the article in."
},
"folderId": {
"type": "string",
"description": "The ID of the folder to place the article in. Use get_team_folders tool to find available folders. If not provided, the article will be placed in the team root."
},
"description": {
"type": "string",
"description": "The description of the article."
},
"htmlContent": {
"type": "string",
"description": "The HTML content of the article."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Create Article",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Update an existing article's title, description, featured image, or body content. Use get_guide to retrieve the current article first.
To set a featured image, use the get_upload_url tool to upload an image first, then pass the returned URL here.
For advanced editing (embeds, custom blocks, SEO settings, etc.), direct the user to the editor at https://www.guidejar.com/app/edit/{articleId}.
The description explains the capability, when to use it, and what to expect.
Inputs85/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
articleId
The ID of the article to update.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
title
New title for the article.
Clear enough to supply this argument.
description
New description/subtitle for the article.
Clear enough to supply this argument.
htmlContent
New HTML content to replace the article body.
Clear enough to supply this argument.
featuredImage
Featured image URL. Use get_upload_url tool first to upload the image.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
folderId
Move the article to this folder. Use get_team_folders tool to find available folders. Pass 'none' to move the article out of any folder back to the team root.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "update_article",
"title": "Update Article",
"description": "Update an existing article's title, description, featured image, or body content. Use get_guide to retrieve the current article first.\nTo set a featured image, use the get_upload_url tool to upload an image first, then pass the returned URL here.\nFor advanced editing (embeds, custom blocks, SEO settings, etc.), direct the user to the editor at https://www.guidejar.com/app/edit/{articleId}.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"articleId"
],
"properties": {
"title": {
"type": "string",
"description": "New title for the article."
},
"folderId": {
"type": "string",
"description": "Move the article to this folder. Use get_team_folders tool to find available folders. Pass 'none' to move the article out of any folder back to the team root."
},
"articleId": {
"type": "string",
"description": "The ID of the article to update."
},
"description": {
"type": "string",
"description": "New description/subtitle for the article."
},
"htmlContent": {
"type": "string",
"description": "New HTML content to replace the article body."
},
"featuredImage": {
"type": "string",
"format": "uri",
"description": "Featured image URL. Use get_upload_url tool first to upload the image."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Update Article",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Get the ID of a guide or article from its URL. Works when the last path segment of the URL is the guide ID or a custom URL slug set in one of the user's teams. Pass the returned ID to get_guide, update_guide, or update_article.
The description explains the capability, when to use it, and what to expect.
Inputs78/100
Input documentation gives an agent enough context to populate the arguments.
url
The URL of the guide to get the ID from.
Clear enough to supply this argument.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"title": "Get ID from Guide URL",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "get_id_from_guide_url",
"title": "Get ID from Guide URL",
"description": "Get the ID of a guide or article from its URL. Works when the last path segment of the URL is the guide ID or a custom URL slug set in one of the user's teams. Pass the returned ID to get_guide, update_guide, or update_article.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the guide to get the ID from."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Get ID from Guide URL",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}
}
Loading score analytics…
Put your MCP to the test
A few tasks worth trying with this server, chosen from its reviewed tools. These have not been run.
01Search GuidesSearch through all guides in the user's Guidejar account.
02Get TeamsGet the teams the user is a member of.
03List GuidesList guides and articles sorted by creation date (newest first) with pagination options.
04Get GuideRetrieve a guide or article by its ID.
05Get ID from Guide URLGet the ID of a guide or article from its URL.
Want to run these tasks against your MCP server with us?
Guidejar setup, tools, quality score, publishing readiness, and alternatives.
How do I add Guidejar to Claude, ChatGPT, or Cursor?
Add Guidejar to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://mcp.guidejar.com/mcp.
Is Guidejar MCP ready for ChatGPT and Claude?
As of November 12, 2026, Guidejar scores 100/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Guidejar's MCP tool documentation?
As of November 12, 2026, Guidejar scores 78/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 11 of 11 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Guidejar?
As of November 12, 2026, alternatives to Guidejar in productivity on the Manufact MCP leaderboard include AdaptlyPost, Notion MCP, Paperpal, VantagePeers, and Date Calculator.
How can Guidejar improve its MCP documentation?
get_guide is the lowest-scoring reviewed tool at 70/100. No output schema is declared. Add one for structured results so clients can interpret returned fields. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.