A side-by-side look at the UI5 MCP Server and Yetty MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose UI5 MCP Server for developer tools work as a local process; choose Yetty for developer tools over a hosted endpoint. You can also run both side by side in one mcpServers block.
get_guidelines, run_ui5_linter, get_api_reference.YETTY_API_KEY.yetty_status, yetty_authoring_guide, yetty_pull_template.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 68/100 · Great | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | YETTY_API_KEY |
| Verified owner | Community listing |
get_guidelinesThis tool MUST be called once to retrieve UI5 guidelines before working on any UI5 (SAPUI5/OpenUI5) related task or project or creating a UI5 project. The guidelines provided by this tool MUST be followed to ensure best practices and avoid common pitfalls in UI5 development.run_ui5_linterRun UI5 linter on a UI5 project to find and optionally fix UI5 related problems like the usage of deprecated API. After making changes, you should always run the linter again to verify that no new problems have been introduced.get_api_referenceSearch the UI5 API reference for module names and symbolsget_project_infoGet general information about a local UI5 project.create_ui5_appCreate a new basic SAPUI5 application implemented in TypeScript or JavaScriptget_version_infoGet version information for UI5 (OpenUI5 or SAPUI5)get_integration_cards_guidelinesThis tool MUST be called once to retrieve Integration Cards guidelines before working on any Integration Card related task or creating an Integration Card. The guidelines provided by this tool MUST be followed to ensure best practices and avoid common pitfalls in Integration Cards development.Integration Cards are also called 'UI Integration Cards' or 'UI5 Integration Cards'.create_integration_cardCreate a new Integration Card, UI Integration Card, or UI5 Integration Cardrun_manifest_validationValidates UI5 manifest file. After making changes, you should always run the validation again to verify that no new problems have been introduced.get_typescript_conversion_guidelinesThis tool MUST be called once before converting a UI5 (SAPUI5/OpenUI5) project from JavaScript to TypeScript. The instructions provided by this tool MUST be followed to ensure that the project setup and code is correctly converted.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"mcp-server-80": {
"command": "npx",
"args": [
"-y",
"@ui5/mcp-server"
]
}
}
}
{
"mcpServers": {
"yetty": {
"url": "https://mcp.yetty.ai/mcp"
}
}
}
| Community listing |
| GitHub stars | 103 | 0 |
|---|
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
|---|
| Tools | 10 | 10 |
|---|
| Full listing | View UI5 MCP Server | View Yetty |
|---|
yetty_statusConnection + authentication status. Call this FIRST. Unauthenticated sessions can still park a website (batch tools) and start email sign-up — the response tells you exactly how.yetty_authoring_guideREAD THIS BEFORE WRITING OR SENDING ANY HTML (no account needed, free, instant, no arguments). Returns yetty's exact structure rules — repeated items sharing one class, semantic class names for field labels, headings before sections, no JS-rendered content — that decide whether the site converts into a clean editable CMS with named fields and add/remove collections, or a wall of generic "Text" fields.yetty_pull_templatePull a ready-made Yetty template file WITH its usage contract (no account needed, free, instant). Four boilerplates, one per store surface: template:"checkout-skeleton" (cart / checkout / thank-you markup with every data-yetty-component and data-yetty-slot mark), "account-skeleton" (the buyer's /account page in the site's own design), "order-status-skeleton" (the /order/{token} confirmation), "pay-skeleton" (the /pay/{token} frame - the payment element stays hosted and non-removable). Every file carries a commented CONDITIONAL REGIONS section showing the component logic grammar (data-yetty-when / data-yetty-each / data-yetty-state; full grammar in yetty_authoring_guide's logic_and_conditional_components chapter). Restyle freely to match the site; NEVER remove or rename data-yetty-* marks; write NO cart/checkout/account JavaScript of your own (Yetty provides the behavior); send the styled file back with the site files. (Connected Live-plan stores can additionally pull 24 gallery-<surface>-<layout> LAYOUT skeletons - different page structures over the same contract, auto-adjusted to the site's own colors and fonts.)yetty_batch_startNo account needed: start a PARKED file batch — send the site now, authenticate after. Returns park_ref (use it as batch_ref). Files are stored safely but NOT processed until the owner approves by email. EXAMPLE: yetty_batch_start {} -> {park_ref:"pk_..."} -> yetty_batch_file {batch_ref:"pk_...", path:"index.html", content:"..."} per file -> yetty_batch_end {batch_ref:"pk_..."} -> yetty_signup {email:"owner@x.com", park_ref:"pk_..."} -> owner clicks the email -> yetty_claim_status {park_ref:"pk_..."} gives you an API key + the build status.yetty_batch_fileAdd ONE file to the parked batch. Args: batch_ref (the pk_... park_ref); path (relative, folders allowed); content (text) OR content_base64 (binary). Returns {received_bytes, sha256} — verify against your local copy; mismatch = resend THIS file. Send EXACT bytes, never retype.yetty_batch_endClose the parked batch. Nothing is processed yet — next call yetty_signup {email, park_ref} so the owner can approve by email.yetty_signupLink a parked upload to the owner's email: sends them an approval email and returns a short user_code. The site is processed ONLY after the owner opens the email and types that code on the approval page. Args: email (the owner's), park_ref. SHOW THE OWNER THE CODE, then poll yetty_claim_status every ~30s.yetty_claim_statusCheck a parked upload. States: parked (send yetty_signup) -> awaiting-approval (owner must open the email and type the user_code) -> approved (returns your api_key ONCE + waiting_url — reconnect with Authorization: Bearer <api_key> for the full toolset).yetty_loginSign the OWNER in by email — no dashboard, no key copying. Works for existing accounts AND (when signups are open) new ones. FLOW: yetty_login {email:"owner@x.com"} -> {login_ref, user_code} -> SHOW the owner the user_code; they open the emailed link and type it -> poll yetty_login_status {login_ref} every ~20s -> it returns an api_key ONCE + the exact reconnect command. Use this whenever you are unauthenticated or your token expired.yetty_login_statusCheck an email sign-in: pending (owner has not typed the code yet) -> approved (returns api_key ONCE + reconnect instructions). EXAMPLE reconnect for Claude Code: claude mcp remove yetty; claude mcp add --transport http yetty https://mcp.yetty.ai/ --header "Authorization: Bearer <api_key>" -s user