Goodeye
Server Details
Design, save, and run outcome-aligned AI workflows and verifiers, with reliable image output.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Goodeye-Labs/goodeye-cli
- GitHub Stars
- 4
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
- Changed
save_skill3 fields changed- changed
Input schema / properties / payload / properties / files / descriptionPrevious value: -"Sibling files bundled with the skill. Include a 'demo/README.md' writeup with images referenced by relative path inside 'demo/' to render a visual demo on the public template page once the skill is published as a template."New value: +"Sibling files bundled with the skill. Include a 'demo/README.md' writeup with images referenced by relative path inside 'demo/' to render a visual demo on the public template page once the skill is published as a template. A supplied list is a full snapshot: any path you do not include is deleted. Omitting the field entirely preserves the existing tree unchanged; to change specific files without resending the rest, use `update_skill_files` instead." - changed
Input schema / properties / payload / properties / outcome / descriptionPrevious value: -"The business outcome this skill is meant to drive, surfaced as a discovery facet."New value: +"The business outcome this skill is meant to drive, surfaced as a discovery facet. When omitted on an update, the existing outcome is preserved; send null to clear it." - changed
Input schema / properties / payload / properties / tags / descriptionPrevious value: -"Discovery tags surfaced when listing and searching skills."New value: +"Discovery tags surfaced when listing and searching skills. When omitted on an update, the existing tags are preserved; send an empty list to clear them."
- Added
update_skill_files
46 tool updates
- Added
archive_skill - Removed
archive_workflow - Added
audit_skill - Removed
audit_workflow - Added
check_skill_safety - Removed
check_workflow_safety - Added
delete_skill - Added
delete_skill_version - Removed
delete_workflow - Removed
delete_workflow_version - Added
design_skill - Removed
design_workflow - Changed
fork_template1 field changed- changed
Input schema / properties / name / descriptionPrevious value: -"Optional name for the new private workflow; defaults to the template's slug."New value: +"Optional name for the new private skill; defaults to the template's slug."
- Changed
generate_image6 fields changed- added
Input schema / properties / payload / properties / skill_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional skill UUID for provenance. Access-checked: a skill the caller cannot see surfaces as NotFound rather than being stamped onto the run." +} - added
Input schema / properties / payload / properties / skill_refAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Free-form skill label (slug, name) for human-readable provenance." +} - added
Input schema / properties / payload / properties / skill_versionAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Skill version invoking this run, paired with ``skill_id``." +} - removed
Input schema / properties / payload / properties / workflow_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional workflow UUID for provenance. Access-checked: a workflow the caller cannot see surfaces as NotFound rather than being stamped onto the run." -} - removed
Input schema / properties / payload / properties / workflow_refRemoved value: -{ - "anyOf": [ - { - "maxLength": 256, - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Free-form workflow label (slug, name) for human-readable provenance." -} - removed
Input schema / properties / payload / properties / workflow_versionRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Workflow version invoking this run, paired with ``workflow_id``." -}
- Added
get_skill - Added
get_skill_file - Added
get_skill_files - Removed
get_workflow - Removed
get_workflow_file - Removed
get_workflow_files - Added
grant_skill - Removed
grant_workflow - Added
leave_shared_skill - Removed
leave_shared_workflow - Added
list_skill_grants - Added
list_skills - Removed
list_workflow_grants - Removed
list_workflows - Changed
lookup_fork_lineage3 fields changed- added
Input schema / properties / skill_idAdded value: +{ + "description": "The skill to act on, identified by its UUID, slug, or name.", + "type": "string" +} - removed
Input schema / properties / workflow_idRemoved value: -{ - "description": "The workflow to act on, identified by its UUID, slug, or name.", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "workflow_id" -]New value: +[ + "skill_id" +]
- Changed
optimize_description3 fields changed- added
Input schema / properties / skill_idAdded value: +{ + "description": "The skill to act on, identified by its UUID, slug, or name.", + "type": "string" +} - removed
Input schema / properties / workflow_idRemoved value: -{ - "description": "The workflow to act on, identified by its UUID, slug, or name.", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "workflow_id" -]New value: +[ + "skill_id" +]
- Added
optimize_skill - Removed
optimize_workflow - Changed
publish_template_version3 fields changed- added
Input schema / properties / skill_idAdded value: +{ + "description": "The skill to act on, identified by its UUID, slug, or name.", + "type": "string" +} - removed
Input schema / properties / workflow_idRemoved value: -{ - "description": "The workflow to act on, identified by its UUID, slug, or name.", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "workflow_id" -]New value: +[ + "skill_id" +]
- Added
revoke_skill_grant - Removed
revoke_workflow_grant - Changed
run_verifier6 fields changed- added
Input schema / properties / skill_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional id of the skill this run is associated with, for provenance; a skill you cannot see is rejected." +} - added
Input schema / properties / skill_refAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional free-form skill label (slug or name) to stamp on the run, for provenance." +} - added
Input schema / properties / skill_versionAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional skill version number to stamp on the run, for provenance." +} - removed
Input schema / properties / workflow_idRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional id of the workflow this run is associated with, for provenance; a workflow you cannot see is rejected." -} - removed
Input schema / properties / workflow_refRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional free-form workflow label (slug or name) to stamp on the run, for provenance." -} - removed
Input schema / properties / workflow_versionRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "description": "Optional workflow version number to stamp on the run, for provenance." -}
- Added
save_skill - Removed
save_workflow - Added
search_skills - Removed
search_workflows - Added
teach_skill - Removed
teach_workflow - Added
transfer_skill_ownership - Removed
transfer_workflow_ownership - Added
unarchive_skill - Removed
unarchive_workflow
4 tool updates
- Added
configure_auto_top_up - Added
disable_auto_top_up - Added
get_auto_top_up - Added
purchase_credits
3 tool updates
- Added
cancel_subscription - Added
create_billing_portal_session - Added
upgrade_to_pro
6 tool updates
- Changed
generate_image1 field changed- added
Input schema / properties / payload / properties / visibilityAdded value: +{ + "default": "public", + "description": "Access level for the hosted copy of each generated image. ``public`` (default) returns a link that opens in any browser. ``private`` returns a link only you can open and forward to people you choose, while the plain URL stays locked. Anonymous generations are always public.", + "type": "string" +}
- Changed
list_invitations2 fields changed- changed
Input schema / properties / filter / descriptionPrevious value: -"'received' | 'sent' | 'all'"New value: +"Which invitations to return: 'received' (addressed to you), 'sent' (you created), or 'all'." - changed
Input schema / properties / state / descriptionPrevious value: -"'pending' | 'all'"New value: +"Which states to include: 'pending' only, or 'all' (includes expired and resolved invitations)."
- Changed
list_teams1 field changed- changed
Input schema / properties / filter / descriptionPrevious value: -"'mine' | 'member' | 'all'"New value: +"Which teams to return: 'mine' (you own), 'member' (you belong to but do not own), or 'all'."
- Changed
list_templates1 field changed- changed
Input schema / properties / filter / descriptionPrevious value: -"'mine' | 'all'"New value: +"Which templates to return: 'mine' (you own) or 'all' public templates."
- Changed
list_workflows1 field changed- changed
Input schema / properties / filter / descriptionPrevious value: -"'mine' | 'shared-with-me' | 'all'"New value: +"Which workflows to return: 'mine' (you own), 'shared-with-me' (granted to you), or 'all'."
- Changed
update_image1 field changed- added
Input schema / properties / rotate_view_secretAdded value: +{ + "default": false, + "description": "Issue a fresh private view link and revoke every link shared earlier for this image. Use to un-share a private image.", + "type": "boolean" +}
72 tool updates
- First observed
accept_invitation - First observed
add_team_member - First observed
archive_template - First observed
archive_workflow - First observed
audit_workflow - First observed
cancel_invitation - First observed
check_template_safety - First observed
check_workflow_safety - First observed
claim_handle - First observed
create_team - First observed
decline_invitation - First observed
delete_image - First observed
delete_image_generator - First observed
delete_team - First observed
delete_template - First observed
delete_template_version - First observed
delete_verifier - First observed
delete_workflow - First observed
delete_workflow_version - First observed
deploy_image_generator - First observed
deploy_verifier - First observed
deprecate_template_version - First observed
design_workflow - First observed
fork_template - First observed
generate_image - First observed
get_image - First observed
get_image_generator - First observed
get_referral_status - First observed
get_template - First observed
get_template_file - First observed
get_usage - First observed
get_verifier - First observed
get_workflow - First observed
get_workflow_file - First observed
get_workflow_files - First observed
grant_workflow - First observed
leave_shared_workflow - First observed
list_api_keys - First observed
list_image_generators - First observed
list_images - First observed
list_invitations - First observed
list_team_members - First observed
list_teams - First observed
list_templates - First observed
list_verifiers - First observed
list_workflow_grants - First observed
list_workflows - First observed
lookup_fork_lineage - First observed
mint_api_key - First observed
optimize_description - First observed
optimize_workflow - First observed
publish_template_version - First observed
redeem_referral_code - First observed
remove_team_member - First observed
rename_handle - First observed
revoke_api_key - First observed
revoke_image_generator - First observed
revoke_verifier - First observed
revoke_workflow_grant - First observed
run_verifier - First observed
save_workflow - First observed
search_templates - First observed
search_workflows - First observed
teach_workflow - First observed
transfer_team_ownership - First observed
transfer_template_ownership - First observed
transfer_workflow_ownership - First observed
unarchive_template - First observed
unarchive_workflow - First observed
unpublish_template_version - First observed
update_image - First observed
upload_image
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Build and run visual creative-production workflows from your AI agent.
Generate reproducible image, video, and audio assets with leading models and your own provider keys.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
On-brand creative studio for AI agents: images, video, audio, and 3D.
Related MCP Servers
- FlicenseBqualityBmaintenanceEnables AI coding assistants to run a machine-verified DESIGN→PLAN→EXECUTE→VERIFY→COMPLETE workflow with human approval gates, state integrity checks, and DAG task scheduling.7-
- FlicenseBqualityDmaintenanceEnables orchestration of ComfyUI workflows through natural language by discovering workflow templates, applying mutations, and submitting prompts to running ComfyUI instances. Provides asset validation and lightweight tooling for AI image generation experimentation.3-
- AlicenseNot gradedqualityBmaintenanceGenerate and refine AI images/audio/video through natural conversation.403Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to act as graphic designers by generating images and social-ready visuals, with brand DNA memory, genre-aware styles, 35+ platform presets, self-critique, and version control.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Every tool targets a distinct resource-action pair, with names like delete_image, deploy_verifier, and grant_workflow leaving no ambiguity. Overlap is virtually nonexistent despite the large number of tools.
All tools follow a strict verb_noun pattern in snake_case, e.g., accept_invitation, archive_template, revoke_api_key. The naming convention is uniform and predictable across the entire set.
With 72 tools, the count far exceeds the recommended 3–15 range. While the platform is feature-rich, the sheer number may overwhelm agents and suggests insufficient consolidation.
The tool surface covers most CRUD operations for templates, workflows, images, verifiers, and teams. However, the invitation lifecycle lacks a 'send_invitation' tool, which is a notable omission.