Skip to main content
Glama
raygroup

Ray Group DeFi UX MCP Server

Official
by raygroup

Ray Group DeFi UX MCP Server

An MCP server that gives AI agents direct access to the Ray Group DeFi UX rubric, named patterns, and cognitive-bias glossary — the same framework used in Ray Group's audits and taught at EthCC, ETH Prague, and ETH Milan.

Use it in Claude Desktop, Cursor, Codex, or any other MCP-compatible AI client to ground UX assessments in a published, opinionated framework rather than generic advice.

Status: v0.1, free tier. Premium tier (extended corpus, screenshot-based audit feedback, named-protocol case studies) on the roadmap. Join the waitlist at raygroup.uk/products/defi-ux-mcp.


What's inside

Five tools, exposed over stdio:

Tool

What it does

search_defi_ux

Free-text search across the entire corpus (rubric, patterns, glossary). Use as the entry point when you don't know the slug.

get_rubric

Returns the eight-area DeFi UX rubric. Optionally filter to a single area.

get_pattern

Returns named DeFi UX patterns. Filter by slug, category, or rubric area.

get_glossary_entry

Returns a cognitive-bias / heuristic entry with its DeFi-specific manifestation.

list_categories

Returns the structure of the entire corpus — useful as a first call to discover what's available.

The free-tier corpus ships with:

  • The full 8-area DeFi UX rubric (cognitive-bias-resistance, risk-disclosure, transaction-confirmation, fee-slippage-transparency, error-failure-states, onboarding-first-tx, novice-expert-split, mobile-ux)

  • 10 named patterns spanning onboarding, transactions, risk, wallets, trading, errors, and novice/expert splits

  • 5 cognitive-bias glossary entries (anchoring, loss aversion, action bias, framing effect, choice overload) with DeFi-specific manifestations and design levers


Related MCP server: AI Design Blueprint Doctrine

Install

Option A — Run from local clone (today)

git clone https://github.com/raygroup/raygroup-defi-ux-mcp.git
cd raygroup-defi-ux-mcp
npm install
npm run build

The compiled entry point is at dist/index.js. Point your MCP client at it (instructions per client below).

Option B — Run via npx (once published to npm)

npx -y @raygroup/defi-ux-mcp

You can also configure your MCP client to do this automatically (see below).


Configure in Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "raygroup-defi-ux": {
      "command": "node",
      "args": ["/absolute/path/to/raygroup-defi-ux-mcp/dist/index.js"]
    }
  }
}

After publishing to npm, this becomes:

{
  "mcpServers": {
    "raygroup-defi-ux": {
      "command": "npx",
      "args": ["-y", "@raygroup/defi-ux-mcp"]
    }
  }
}

Restart Claude Desktop. The five tools appear under the MCP icon.


Configure in Cursor

In Cursor, go to Settings → MCP → Add new MCP Server and use:

{
  "mcpServers": {
    "raygroup-defi-ux": {
      "command": "node",
      "args": ["/absolute/path/to/raygroup-defi-ux-mcp/dist/index.js"]
    }
  }
}

Or, in ~/.cursor/mcp.json for global access across projects.


Configure in Codex CLI

Add to ~/.codex/config.toml:

[mcp_servers.raygroup-defi-ux]
command = "node"
args = ["/absolute/path/to/raygroup-defi-ux-mcp/dist/index.js"]

Try it

Once configured, ask your AI client things like:

  • "Score this DeFi protocol against the Ray Group DeFi UX rubric."

  • "What named patterns does Ray Group recommend for transaction confirmation UX?"

  • "Look up the Ray Group glossary entry for anchoring and apply it to this slippage settings screen."

  • "Search the Ray Group DeFi UX corpus for everything related to wallet onboarding."

The agent will call into the MCP server, retrieve the relevant entries, and ground its analysis in the Ray Group framework.


Inspect the server interactively

The MCP team ships an inspector that's great for debugging:

npm run inspect

This launches the MCP Inspector against this server, lets you call every tool by hand, and shows the raw JSON-RPC traffic.


What's coming in the premium tier

  • Extended corpus — 50+ named patterns with named-protocol references; 30+ glossary entries

  • audit_screenshot — submit a screenshot, receive a structured rubric-aligned audit

  • audit_protocol — submit a protocol URL, receive a multi-page audit

  • Case studies — anonymised Ray Group audit findings, indexed by protocol type

  • API-key auth + hosted transport — so you can use it from cloud-hosted agents, not just locally

Premium tier ships with a paid MCP API key and an account on raygroup.uk/products/defi-ux-mcp. The free tier above stays free, forever.


License

MIT. See LICENSE.

Author

Built and maintained by Ray Group — an independent UK-based product practice grounded in human-computer interaction. Founder: Madalina Raicu — Senior UX Engineer specialised in HCI; international speaker on UX in Web3 and DeFi.

Issues, PRs, and content suggestions welcome at github.com/raygroup/raygroup-defi-ux-mcp.

Available Tools

5 tools
get_glossary_entryA

Returns a cognitive-bias / heuristic / principle entry from the Ray Group DeFi UX glossary, with the bias's general definition and its specific manifestation in DeFi product UX. Use when reasoning about a UX decision and you want a named, well-defined cognitive concept to anchor the analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoThe slug of the glossary entry to fetch (e.g. 'anchoring', 'loss-aversion'). Omit to receive the full glossary.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes it as a read operation returning content, but does not explicitly state that it is non-destructive, nor does it disclose any rate limits or authentication needs. Adequate but could be more explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each serving a distinct purpose: first explains what the tool does, second provides usage guidance. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description adequately covers purpose, usage, and return content. It could briefly mention the output structure, but the current description is sufficient for an agent to understand what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'slug', which is well-documented in the schema. The tool description adds context about the glossary source and content, but does not add new parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a glossary entry with definition and DeFi UX manifestation, and distinguishes from sibling tools like get_pattern and get_rubric by specifying the content type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('when reasoning about a UX decision...'), providing clear context. It does not specify when not to use it, but the context is sufficient for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_patternA

Returns one or more named DeFi UX patterns from the Ray Group library. Patterns are recurring solutions Ray Group has seen ship well in production (or seen fail when absent). Look up a single pattern by slug, or filter by category or by the rubric area the pattern relates to.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoOptional. The slug of a single pattern to fetch (e.g. 'pre-signing-calldata-translation').
categoryNoOptional. Filter patterns by category. Ignored if `slug` is provided.
rubricAreaNoOptional. Filter patterns to those addressing a specific rubric area (e.g. 'transaction-confirmation'). Ignored if `slug` is provided.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry behavioral burden. It explains the return of patterns and filtering logic, but does not mention read-only nature, side effects, authentication, or rate limits. Adequate but could be more explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no redundancy, front-loaded with main purpose. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three well-documented parameters and no output schema, description adequately explains what the tool returns (one or more patterns) and the source library. Lacks return format details, but sufficient for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by explaining that category and rubricArea are ignored when slug is provided, and that slug fetches a single pattern. This clarifies parameter interactions beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Returns' and identifies the resource 'named DeFi UX patterns from the Ray Group library'. It clarifies the purpose (look up by slug or filter by category/rubric) and distinguishes from siblings like glossary entries or rubrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage scenarios: look up a single pattern by slug, or filter by category/rubric area. It does not explicitly exclude alternatives or state when not to use, but the guidance is sufficient for typical use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rubricA

Returns the Ray Group DeFi UX rubric — the eight scored areas used in every Ray Group DeFi UX audit and taught in the EthCC, ETH Prague, and ETH Milan talks. Optionally filter to a single area by slug. Use this tool to ground UX assessments in a published, opinionated framework rather than generic advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoOptional. The slug of a single rubric area to fetch (e.g. 'cognitive-bias-resistance'). Omit to receive the full rubric.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully explains behavior: returns eight scored areas, optionally filtered by slug, and mentions the framework's origin (talks). It is transparent about what the tool does and its scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The first sentence delivers the core purpose; the second adds optionality and practical context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one optional parameter and no complex output schema, the description is complete enough. It explains the return value structure and the tool's relevance, though it could mention that the output is static.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds meaning by explaining the slug parameter with an example ('cognitive-bias-resistance') and the result of omission (full rubric). This goes beyond the schema's generic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a specific resource (the Ray Group DeFi UX rubric) with a specific verb ('Returns'), and distinguishes it from sibling tools like get_glossary_entry and get_pattern by focusing on the rubric's role in audits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises using this tool to 'ground UX assessments in a published, opinionated framework rather than generic advice,' providing a clear when-to-use context. It does not explicitly state when not to use it compared to siblings, but the context is strong enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesA

Returns the top-level structure of the Ray Group DeFi UX MCP corpus — every rubric area, every pattern slug, every glossary entry slug. Use this as a discovery tool before more specific queries: it lets the agent see what's available without exhaustive crawling.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. It discloses that the tool returns a top-level structure (not full content) and is efficient. Could be more explicit about being read-only and safe, but adequately transparent for a discovery tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two well-crafted sentences with no wasted words. Front-loads the purpose and immediately follows with usage guidance. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description adequately explains return content (rubric areas, pattern slugs, glossary entry slugs). Could mention format (e.g., list of objects) but overall sufficient for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. Description adds value by explaining what the output contains, even though it doesn't need to discuss parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool returns the top-level structure of the corpus, listing specific categories (rubric areas, pattern slugs, glossary entry slugs). It explicitly distinguishes itself from sibling getters by positioning itself as a discovery tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use: 'as a discovery tool before more specific queries' and explains benefit: avoids exhaustive crawling. This clearly differentiates from sibling tools that retrieve specific items.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_defi_uxA

Free-text search across the entire Ray Group DeFi UX corpus — rubric areas, named patterns, and the cognitive-bias glossary. Returns the top matching entries by simple substring relevance. Use this when the agent has a specific question (e.g. 'slippage', 'wallet onboarding', 'loss aversion in trading') and wants the most relevant entries surfaced without knowing the exact slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural-language query — words, a topic, or a partial phrase. Case-insensitive.
limitNoOptional. Maximum number of results to return. Default 8.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses matching algorithm ('simple substring relevance') and return type (top matching entries). No annotations provided, so description carries full burden; missing details on edge cases, ordering, or side effects, but adequate for a read-only search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, clearly front-loaded with purpose and usage. No redundant words or phrases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with two parameters and no output schema, description covers scope, matching method, usage context, and distinguishes from siblings. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. Tool description does not add additional semantics beyond what the schema provides, resulting in baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Free-text search across the entire Ray Group DeFi UX corpus' and lists specific sub-corpora (rubric areas, patterns, glossary). Distinguishes from sibling tools (exact slug lookups) by describing free-text search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this when the agent has a specific question... and wants the most relevant entries surfaced without knowing the exact slug.' Provides examples and implies alternative tools for exact lookups, but lacks explicit when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: retrieving a glossary entry, a pattern, a rubric, listing all categories, or free-text searching. There is no ambiguity or overlap.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using lowercase snake_case: get_glossary_entry, get_pattern, get_rubric, list_categories, search_defi_ux. The verbs (get, list, search) are descriptive and predictably used.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose—a curated knowledge base of DeFi UX concepts. Each tool covers a necessary operation: retrieval by identifier, listing structure, and full-text search.

Completeness4/5

The set covers the core read operations: retrieve individual items, list available slugs, and search. A minor gap is the lack of batch retrieval (e.g., get all patterns), but list_categories combined with individual get tools suffices for the domain.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raygroup/raygroup-defi-ux-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server