Omar Younis
Work About Resume
Workato Workato · 2025

Enterprise MCP servers

Building an MCP server was an engineering task. We made it something a business team could do — and that IT could still govern.

RoleLead designer — research & design
Team1 PM, 3—4 engineers, 4 pilot customers
Duration6 months to general availability
FoundationWorkato design system
Outcome — first week of general availabilityFall 2025
35 MCP servers created across 14 customers
1,031 Active tools published
6,392 Tool calls
34% Average tool failure rate — too high, and the thing we went after next
The problem

The people who understand a business problem are rarely the people who can ship a secure MCP server. Every custom server needed engineering time, which capped experimentation and left the useful automations unbuilt.

Existing MCP catalogs offered pre-built servers from common providers, but none let a team encode its own business logic. Workato already had the raw material — recipes, connections, an identity layer. The opportunity was composition: let people assemble a server out of assets they already trusted.

Builders create servers and provision access. End users install a server and prompt it from Claude or Cursor.
Core workflows Two personas, one shared surface
Builder Ops lead, IT admin, platform owner
01 Build Compose a server from recipes, connections and API collections already in the workspace.
02 Publish Set the auth method, scope access to user groups, and expose the server URL.
03 Install Connect the remote URL in Claude or Cursor to check the server works end to end.
04 Prompt Test tool calls, read failures in the dashboard, tighten descriptions and retry.
Handoff
Published server
becomes discoverable
End user Anyone on a business team with a client app
01 Discover Find an existing server in the list rather than asking for a new one to be built.
02 Install Paste the remote URL into the client, sign in, and authorize each connected app.
03 Prompt Work in natural language. The tools run under the permissions they already have.
Both paths converge on install and prompt — the same two steps, reached from opposite ends of the org. Every design decision in this case study sits on one of these seven steps.

The two paths we designed against.

Three decisionsShipped across six milestones
Decision 01Milestone 3—4

We shipped a card catalog, watched what people did with it, and replaced it with a list

Cards were the familiar format — every MCP catalog uses them, and we explored a lot of variations before shipping. Then usage showed the real problem: people couldn't tell whether a server they needed already existed, so they made another one. Workspaces filled with near-duplicates.

A catalog layout suits a fixed set of vendor-published items. This content was user-defined and metadata-heavy, which the grid couldn't carry — hard to scan, barely sortable, and it forced a weak call to action. We moved to a list.

MCP servers card grid, before Before — card grid
MCP servers list with metadata, after After — list with metadata
Decision 02Milestone 2

"AI Hub" tested as a name nobody wanted to click

MCP servers started buried inside the API platform, reachable only by users already provisioned for it. Almost nobody found them. We pulled every AI capability into one top-level section and called it AI Hub.

Customers told us the label was ambiguous and they hesitated to click it — a vague container is its own kind of hidden. We reworked the navigation to name the capability directly.

Navigation options explored Navigation options explored → final menu
Decision 03Milestone 3

Default to identity, not shared tokens

Tokens are the path of least resistance for an MCP server and the fastest way to lose control of one — they get passed around, over-scoped, and never expire on schedule. We made every new server default to Workato Identity when the workspace had it enabled, so builders grant access by user group instead.

Verified user access followed: end users sign in to each application the server touches, so a server can never hold more permission than the person prompting it.

Access model — token-based, Workato Identity, verified user access, policy settings The access model
How it shippedSix milestones, scoped to stay verifiable
M1 A toggle turning existing API collections into MCP servers.
M2 Top-level navigation, landing page, creation wizard.
M3 Auth settings, user groups, verified user access.
M4 Wizard replaced by one composable page. Templates panel.
M5 Detail page rebuilt for tool metadata and rich descriptions.
M6 Observability dashboard, limited preview then GA.

Our PM and I broke the north star into milestones small enough to verify and big enough to matter. We let requirements stay fluid across them so engineering could plan — we weren't going to solve it all at once, but we could keep it moving with the people we had.

Milestone 01 A toggle on what we already had

Ship the smallest thing that proves an MCP server can come out of Workato

We built on the existing API platform: a toggle that turned an API collection — already assembled from endpoint recipes — into an MCP server, plus the URL an end user needs to install it in Claude or another client. No new object model, no new infrastructure.

It also told us what was wrong. Only users provisioned for the API platform could reach it, so almost nobody discovered it. MCP servers had to move into the core platform, not sit as a setting inside one product.

Open question, closed

Most catalogs offer both local and remote install. Following Anthropic's lead on where clients actually run, we shipped remote URLs only and cut the local instructions — one less branch in the install flow to explain.

API collection toggle and install URL panel API collection toggle + install URL panel
Milestone 02 Into the main navigation

Give MCP servers a home, a landing page and a way in

We pulled every AI capability into one top-level section, built the MCP landing state inside it, and assembled the creation flow from the design system's existing wizard components — fastest path to something customers could use and react to.

MCP is not a native Workato concept, so I borrowed from MCP server patterns customers had already seen elsewhere rather than inventing a Workato-specific mental model. The naming didn't survive contact with customers — see decision 02 — but the placement did.

AI Hub MCP servers landing page MCP landing page state
New MCP server creation wizard Creation wizard
MCP server detail page First detail page
Milestone 03 Access and permissions

Two questions IT asks before approving anything: who can use it, and what can it reach

A Settings section let builders switch a server's authentication method, and I worked with the PM to prioritize real controls over both halves of the problem — which people get access, and which application permissions they carry once they have it.

Verified user access came out of this milestone: the end user signs in to every app the server connects to. Getting it right meant sitting with product and engineering until I understood how those sign-in handoffs actually behave, failure states included. The defaulting decision is decision 03.

MCP server settings, access method Settings — access method
Verified user access sign-in flow User group access + VUA sign-in states
Milestone 04 Composability — the one that mattered

One page where you assemble a server out of things you already own

The wizard came out and a single-page workflow went in: pick tools from the assets already sitting in your Workato workspace. This was the milestone that delivered the actual promise — teams encoding their own business logic so an agent behaves predictably every time, instead of installing someone else's generic server.

A templates panel came later, for people who wanted to see how a server works before they had their own resources ready. The hard part was tone: inviting enough that a non-technical builder starts, precise enough that they understand what they just published.

Composable MCP server creation page Composable creation page

Interaction design for the composable flow. A short screen recording works better here than a still.

Milestone 05 Detail page and tool metadata

Tool descriptions turned out to be a performance feature

The model relies on a tool's description to decide whether to call it. That reframed a text field as something worth designing for: we allowed long descriptions to stay visible in the list view and invested in rich text editing so builders could structure them for accuracy.

The detail page was rebuilt around that — room for varied tool metadata, expanded instructions, and inline affordances to add a tool or edit a description without leaving the page. I explored several table layouts for Skills, and worked with the Digital Design team on generated avatars so every row stopped falling back to the same MCP icon.

Rebuilt MCP server detail page Rebuilt detail page
Skills table variants + avatars {{ carouselLabel }}
Tool list UI options Tool list UI options
Table component details Table component details
Responsive designs Responsive designs
Default logo logic Default logo logic
Milestone 06 Observability, then GA

Give builders a way to see what their servers are doing

An analytics dashboard shipped as a limited preview to selected accounts, and we kept iterating on it while the preview ran and live feedback came in. It's also what made the launch numbers observable at all — including the failure rate we didn't like.

MCP metrics dashboard MCP metrics dashboard
What we heard
Claude client connecting to an MCP server
Claude's client interface along with other compatible clients like Cursor enables users to access any API function by connecting to MCP servers

A 34% tool failure rate was the number I cared about most, and the feedback form told us why it hurt: people couldn't see what was going wrong.

"I do not know which tools are failing" "How do I prompt my MCP server when I want to {XYZ}" "I'm getting {ERROR_X} when prompting in {CLIENT_APP} — is this a problem with a tool or with the server?"

We answered with traceability, audit logs and inline education, and moved fast on them — these were table stakes for enterprise teams, not enhancements. Tool descriptions turned out to matter more than expected: the model needs them to pick the right tool, so we allowed long descriptions in the list and invested in rich text editing to help builders structure them well.

← All work Next — Data pipelines →
Click anywhere or press Esc to close