Skip to main content
Glama

MetaMask Embedded Wallets MCP 服务器

通过让您的 AI 编码助手实时访问文档和 SDK 的深度知识,更快地构建 MetaMask Embedded Wallets 集成。

需要设置两件事:

  1. 技能 (Skill) — 教导您的 AI 助手如何“思考”该 SDK:架构、框架特性、密钥派生规则和常见错误。技能中不包含代码;MCP 提供了这些内容。

  2. MCP 服务器 — 让您的 AI 助手能够实时搜索文档、获取示例并查找 SDK 类型。


MCP 工具

工具

功能

search_docs

搜索文档和示例项目

get_doc

获取任何文档页面的完整内容

get_example

获取集成示例的完整源代码

get_sdk_reference

从开源仓库中获取 SDK 类型和钩子

search_community

在 MetaMask Builder Hub 中搜索真实用户问题


Related MCP server: Privy MCP Server

技能 (Skill)

该技能教导您的 AI 助手关于 MetaMask Embedded Wallets 的思维模型。它包括 SDK 选择逻辑、密钥派生规则、身份验证概念、平台特性以及仅从文档中无法显而易见的常见错误。

提示: 为了获得最佳体验,请将 MCP 服务器与技能结合使用,以便您的 LLM 可以获取实时文档和示例,而不是依赖静态文本。

通用安装(适用于 18+ 种代理)

npx skills add Web3Auth/web3auth-mcp --skill web3auth -y

Vercel 的 skills CLI 会自动检测您正在使用的 AI 代理并将其安装到正确的目录中 —— 包括 Cursor、Claude Code、Copilot、Kiro、Cline、Codex、Antigravity 以及 40 多种其他工具

要全局安装(在所有项目中可用)或针对特定代理安装:

npx skills add Web3Auth/web3auth-mcp --skill web3auth -g -y            # global
npx skills add Web3Auth/web3auth-mcp --skill web3auth -a cursor -y     # Cursor only
npx skills add Web3Auth/web3auth-mcp --skill web3auth -a claude-code -y # Claude Code only

Cursor

npx degit Web3Auth/web3auth-mcp/skills/web3auth .cursor/skills/web3auth

Cursor 会自动识别 .cursor/skills/ 中的任何 SKILL.md 并在相关时激活它。

或者通过 Cursor Marketplace 安装 — 搜索 "MetaMask Embedded Wallets"。

Claude Code CLI

npx degit Web3Auth/web3auth-mcp/skills/web3auth /tmp/web3auth-skill
cat /tmp/web3auth-skill/SKILL.md >> CLAUDE.md

Claude Desktop

打开 Claude Desktop → Settings → Custom Instructions 并直接粘贴 skills/web3auth/SKILL.md 的内容。

Antigravity

npx degit Web3Auth/web3auth-mcp/skills/web3auth .agent/skills/web3auth

Antigravity 会自动识别 .agent/skills/ 中的技能。若要在所有项目中全局安装,请改用 ~/.gemini/antigravity/skills/

Windsurf / Cline / Kiro / Continue

npx degit Web3Auth/web3auth-mcp/skills/web3auth .windsurf/skills/web3auth

将技能放置在特定工具的技能目录中。大多数工具也支持将 SKILL.md 的内容粘贴到系统提示词或自定义指令字段中。

其他工具

对于任何带有系统提示词或自定义指令字段的 LLM 工具,请直接粘贴 skills/web3auth/SKILL.md 的内容。


MCP 服务器设置

Cursor

最快的方法是一键安装:

Add MetaMask Embedded Wallets MCP to Cursor

或者通过 Cursor Marketplace 安装 — 搜索 "MetaMask Embedded Wallets"。

或者手动添加。打开 Cursor Settings → Tools & Integrations → MCP 并添加:

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io"
    }
  }
}

VS Code (GitHub Copilot)

从 Visual Studio Marketplace 安装 — 搜索 "MetaMask Embedded Wallets",或者:

code --install-extension Web3Auth.metamask-embedded-wallets

或者使用一键安装 URL:

vscode:mcp/install?{"name":"web3auth","url":"https://mcp.web3auth.io"}

或者手动添加到您的工作区 .vscode/mcp.json

{
  "servers": {
    "web3auth": {
      "type": "http",
      "url": "https://mcp.web3auth.io"
    }
  }
}

JetBrains (IntelliJ, PyCharm, WebStorm, Android Studio)

从 JetBrains Marketplace 安装 — 搜索 "MetaMask Embedded Wallets"。

或者在 Settings → Tools → AI Assistant → Model Context Protocol (MCP) 中手动添加:

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io",
      "transport": "http"
    }
  }
}

Claude Code CLI

claude mcp add --transport http web3auth https://mcp.web3auth.io

或者手动添加到您的项目 claude.json

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io"
    }
  }
}

Claude Desktop

打开您的 Claude Desktop 配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

将服务器添加到 mcpServers 部分:

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io"
    }
  }
}

重启 Claude Desktop 并询问:"Search MetaMask Embedded Wallets docs for React quick start" 以验证连接。

ChatGPT Desktop

打开 ChatGPT Desktop → Settings → Connections 并添加新的 MCP 服务器:

  • Name: web3auth

  • URL: https://mcp.web3auth.io

Windsurf

打开 Windsurf Settings → MCP 并添加:

{
  "mcpServers": {
    "web3auth": {
      "serverUrl": "https://mcp.web3auth.io"
    }
  }
}

或者直接编辑 ~/.codeium/windsurf/mcp_config.json

Kiro (AWS)

添加到您项目的 .kiro/settings/mcp.json

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io"
    }
  }
}

Warp Terminal

在 Warp 中,打开 Settings → AI → MCP Servers 并点击 Add Server

  • Name: web3auth

  • URL: https://mcp.web3auth.io

或者在您的版本支持的情况下使用 Warp 的一键 MCP 安装。

Cline (VS Code)

添加到您的 Cline MCP 设置(Ctrl+Shift+P → "Cline: Open MCP Settings"):

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io",
      "transport": "http"
    }
  }
}

Continue.dev

添加到您的 Continue config.json(通过 Ctrl+Shift+P → "Continue: Open config.json" 打开):

{
  "mcpServers": [
    {
      "name": "web3auth",
      "url": "https://mcp.web3auth.io"
    }
  ]
}

Zed

添加到您的 Zed settings.json(按 Cmd+, 打开):

{
  "context_servers": {
    "web3auth": {
      "command": {
        "path": "npx",
        "args": ["-y", "mcp-remote", "https://mcp.web3auth.io"]
      }
    }
  }
}

或者通过 Zed Extensions 安装 — 搜索 "MetaMask Embedded Wallets"。

Antigravity

打开您的 MCP 配置文件:

  • macOS/Linux: ~/.config/antigravity/mcp.json

  • Windows: %APPDATA%\antigravity\mcp.json

将服务器添加到 mcpServers 部分:

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io"
    }
  }
}

Antigravity 会热重载 MCP 配置更改 — 无需重启。

Xcode (via GitHub Copilot)

Xcode 26.3+ 通过 GitHub Copilot 支持 MCP。将服务器添加到您的 Copilot MCP 配置中,或使用上述 VS Code 扩展设置(Copilot MCP 注册表是共享的)。

或者,通过 Settings → Copilot → MCP Servers 将 Xcode 的代理工具直接指向 https://mcp.web3auth.io

Eclipse (via GitHub Copilot)

带有 GitHub Copilot 的 Eclipse 支持 MCP。通过 Eclipse → Preferences → GitHub Copilot → MCP Servers → Add Server 添加:

  • Name: web3auth

  • URL: https://mcp.web3auth.io

Neovim (avante.nvim)

在您的 Lua 配置中,通过 mcphub.nvim 添加:

require("mcphub").setup({
  servers = {
    web3auth = {
      url = "https://mcp.web3auth.io",
      transport = "streamable-http",
    },
  },
})

或者为了兼容性使用 mcp-remote:

require("avante").setup({
  mcp = {
    servers = {
      web3auth = {
        command = "npx",
        args = { "-y", "mcp-remote", "https://mcp.web3auth.io" },
      },
    },
  },
})

Neovim (codecompanion.nvim)

require("codecompanion").setup({
  extensions = {
    mcp = {
      servers = {
        web3auth = {
          command = "npx",
          args = { "-y", "mcp-remote", "https://mcp.web3auth.io" },
        },
      },
    },
  },
})

Amp (Sourcegraph)

添加到您的 Amp MCP 配置:

{
  "mcpServers": {
    "web3auth": {
      "url": "https://mcp.web3auth.io"
    }
  }
}

Goose

添加到 ~/.config/goose/config.yaml

extensions:
  - name: web3auth
    type: http
    url: https://mcp.web3auth.io

5ire

在 5ire Settings → MCP Servers → Add 中:

  • Name: web3auth

  • URL: https://mcp.web3auth.io

Aider

Aider 通过 LiteLLM 网桥支持 MCP。添加到您的 Aider 配置:

mcp_servers:
  web3auth:
    command: npx
    args: ["-y", "mcp-remote", "https://mcp.web3auth.io"]

Codex CLI

对于 Codex CLI 或任何仅支持 stdio 的代理,使用 mcp-remote 来桥接 HTTP 端点:

npm install -g mcp-remote

然后添加到 ~/.codex/config.toml

[mcp_servers.web3auth]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.web3auth.io"]

或者添加到您代理的 JSON 配置中:

{
  "mcpServers": {
    "web3auth": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.web3auth.io"]
    }
  }
}

静态文档 (llms.txt)

如果您的 AI 工具尚不支持 MCP,请改用静态文档文件:

https://docs.metamask.io/llms-full.txt

对于支持 llms.txt 规范 并能自动索引文档的工具:

https://docs.metamask.io/llms.txt

警告: 静态文件是一个快照,可能不包含最新更新。请尽可能使用 MCP 服务器以获取始终最新的文档。


开始构建

一旦技能和 MCP 设置完成,直接询问您的 AI 助手。好的起始提示词:

  • "Add MetaMask Embedded Wallets to my React app with Google login."

  • "Set up social login wallets in my Next.js app using Wagmi."

  • "Integrate embedded wallets in my Flutter app."

  • "Why are my users getting different wallet addresses after I changed the login method?"

提示: 在初始提示词中使用规划模式(如果可用)。在生成代码之前审查计划 — 这可以尽早发现架构错误,并避免在生产环境中更改钱包地址的配置错误。


分发

此仓库为每个主要开发者平台提供工件:

平台

类型

位置

Cursor Marketplace

插件

.cursor-plugin/ + mcp.json

VS Code Marketplace

扩展

plugins/vscode/

JetBrains Marketplace

插件

plugins/jetbrains/

Zed Extensions

扩展

plugins/zed/

Claude Agent SDK

插件

plugins/claude/

Raycast Store

扩展

plugins/raycast/

ChatGPT GPT Store

自定义 GPT

openai/

官方 MCP 注册表

server.json

server.json

Glama

glama.json

glama.json

Smithery

服务器卡片

app/.well-known/mcp/server-card.json/route.ts

Vercel skills.sh

技能

skills/web3auth/

agentskill.sh

技能

skills/web3auth/


环境变量

变量

必需

描述

GITHUB_TOKEN

GitHub 个人访问令牌。可选,但建议使用,以避免通过 get_sdk_reference 获取 SDK 源代码时受到速率限制


开发

npm install
npm run build
npm start          # Run via stdio
npm run dev        # Watch mode

更新内容

当产品更新发布时,只需更改少数几个文件:

更改内容

要更新的文件

SDK 架构 / 新的注意事项

skills/web3auth/SKILL.md

新的文档页面或 URL 更改

src/content/registry.ts

平台功能更改

src/content/platform-matrix.ts

SDK 仓库结构更改

src/content/sdk-registry.ts

需要新的工具类别

src/tools/register.ts

文档页面内容更改

无(实时获取)

许可证

MIT

Available Tools

5 tools
get_docA
Read-onlyIdempotent
Inspect

Fetch the full content of a MetaMask Embedded Wallets documentation page. Use after search_docs to read the actual doc. Tries Algolia, then llms.txt, then GitHub raw MDX as fallbacks.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA docs.metamask.io URL, e.g. https://docs.metamask.io/embedded-wallets/sdk/react/

TDQS

A4.4/5.0
Behavior4/5

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

The description adds valuable behavioral context beyond what annotations provide. While annotations already indicate read-only, idempotent, and open-world characteristics, the description reveals the multi-source fallback strategy ('Tries Algolia, then llms.txt, then GitHub raw MDX as fallbacks'), which helps the agent understand reliability and performance implications. No contradiction with annotations exists.

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?

The description is perfectly concise with three tightly focused sentences. The first states the core purpose, the second provides usage guidance, and the third reveals implementation behavior. Every sentence earns its place with no wasted words, and the information is front-loaded effectively.

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 the tool's moderate complexity (single parameter, read-only operation with fallback behavior) and comprehensive annotations, the description provides good contextual coverage. It explains the purpose, usage sequencing, and implementation strategy. The main gap is the lack of output information (no output schema), but the description compensates somewhat by indicating it fetches 'full content.'

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?

With 100% schema description coverage, the input schema already fully documents the single 'url' parameter. The description doesn't add any parameter-specific information beyond what's in the schema, so it meets the baseline expectation but doesn't provide additional semantic context about the parameter.

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 specific action ('Fetch the full content') and resource ('MetaMask Embedded Wallets documentation page'), distinguishing it from sibling tools like search_docs (which finds pages) and get_sdk_reference/get_example (which target different content types). It precisely defines what the tool does.

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?

The description explicitly states when to use this tool ('Use after search_docs to read the actual doc'), providing clear sequencing guidance. It also distinguishes it from search_docs by indicating this is for reading full content after searching, establishing a clear workflow relationship.

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

get_exampleA
Read-onlyIdempotent
Inspect

Fetch the complete source code of a Web3Auth integration example from GitHub. Returns all source files needed to understand how the integration works. Examples are the PRIMARY reference for integration patterns — always prefer example code over raw SDK source.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoExample name, e.g. 'React Quick Start' or 'Android Firebase'
platformNoFilter by platform
chainNoFilter by blockchain family
categoryNoFilter by category
auth_methodNoFilter by auth method, e.g. 'auth0', 'firebase', 'google', 'grouped'

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds valuable context beyond this: it specifies that the tool fetches from GitHub and returns all source files, and emphasizes the importance of examples as primary references. There is no contradiction with annotations, and the description enhances understanding of the tool's behavior without repeating structured data.

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?

The description is appropriately sized and front-loaded: the first sentence clearly states the tool's purpose, followed by a sentence on return value, and a final sentence providing usage guidance. Every sentence adds value without redundancy, making it efficient and well-structured.

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 the tool's complexity (5 parameters, no output schema) and rich annotations (readOnlyHint, idempotentHint, openWorldHint), the description is largely complete. It covers purpose, usage guidelines, and behavioral context. However, it doesn't detail the return format (e.g., file structure or pagination), which could be useful since there's no output schema, leaving a minor gap.

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%, so the schema fully documents all 5 parameters with descriptions and enums. The description does not add any parameter-specific information beyond what the schema provides, such as syntax or format details. However, it implies filtering capabilities through 'Fetch the complete source code of a Web3Auth integration example,' which aligns with the schema but doesn't offer additional semantics.

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 specific action ('fetch the complete source code'), resource ('Web3Auth integration example from GitHub'), and scope ('all source files needed to understand how the integration works'). It explicitly distinguishes this tool from siblings by stating 'Examples are the PRIMARY reference for integration patterns — always prefer example code over raw SDK source,' which differentiates it from get_sdk_reference.

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?

The description provides explicit guidance on when to use this tool versus alternatives: 'always prefer example code over raw SDK source' directly contrasts with get_sdk_reference. It also implies context by positioning examples as the primary reference for integration patterns, though it doesn't explicitly mention other siblings like get_doc or search_community.

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

get_sdk_referenceA
Read-onlyIdempotent
Inspect

Fetch SDK source code (type definitions, interfaces, hooks) from the open-source Web3Auth SDK repos. Use for REFERENCE and DEBUGGING only — to verify exact type shapes, constructor signatures, available hooks, and error types. Do NOT use this to discover features; many SDK options are internal or legacy. Always use get_example first for integration patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYesTarget platform SDK to fetch source for
moduleNoSpecific SDK module to fetch, e.g. 'core-types', 'react-hooks', 'modal-types', 'main-class'. Omit to get default type definitions. Call without module first to see available modules.
focusNoWhat kind of source to focus on. 'types' = interfaces/types (default, most useful). 'hooks' = React hooks / Vue composables. 'errors' = error types. 'main-class' = SDK implementation. 'all' = everything.types

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, indicating safe, repeatable operations. The description adds valuable context beyond this by specifying the tool's purpose for reference/debugging only, warning about internal/legacy SDK options, and recommending get_example for integration patterns. It doesn't contradict annotations, and the added context helps the agent understand behavioral nuances not covered by structured fields.

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?

The description is front-loaded with the core purpose and usage guidelines in the first sentence, followed by specific instructions and warnings. Every sentence adds value—clarifying the tool's scope, restrictions, and alternatives—with no redundant or unnecessary information. It efficiently conveys critical information in a compact form.

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 the tool's complexity (fetching SDK source code with multiple parameters) and rich annotations (readOnlyHint, idempotentHint, openWorldHint), the description is largely complete. It covers purpose, usage guidelines, and behavioral context effectively. However, without an output schema, it doesn't describe return values or format, which is a minor gap. The annotations and schema compensate well, but the description could slightly enhance completeness by hinting at output structure.

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%, so the schema already documents all parameters thoroughly. The description adds some semantic context by mentioning 'type definitions, interfaces, hooks, and error types,' which aligns with the 'focus' parameter options, but doesn't provide additional syntax or format details beyond what the schema specifies. This meets the baseline for high schema coverage.

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 specific action ('Fetch SDK source code') and resource ('from the open-source Web3Auth SDK repos'), distinguishing it from sibling tools like get_doc or get_example. It explicitly mentions fetching type definitions, interfaces, hooks, and error types, providing a precise scope that differentiates it from other tools that might return documentation or examples.

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?

The description provides explicit guidance on when to use this tool ('for REFERENCE and DEBUGGING only') and when not to use it ('Do NOT use this to discover features'). It also names an alternative tool ('Always use get_example first for integration patterns'), clearly differentiating usage contexts from siblings like get_example, get_doc, search_community, and search_docs.

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

search_communityA
Read-onlyIdempotent
Inspect

Search or fetch posts from the MetaMask Embedded Wallets community forum (builder.metamask.io). Use for troubleshooting real user issues, finding workarounds, and checking if an issue is known. Provide a query to search or a topic_id to read the full discussion.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoSearch query, e.g. 'popup blocked safari', 'JWT error', 'Android unstable connection'
topic_idNoDiscourse topic ID to fetch the full discussion thread

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate this is a read-only, idempotent, and open-world operation, which the description doesn't contradict. The description adds valuable context beyond annotations by specifying the forum source (builder.metamask.io) and the two distinct behavioral modes (search vs. fetch), though it doesn't mention rate limits or authentication needs. With annotations covering core safety traits, this additional context earns a strong score.

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?

The description is front-loaded with the core purpose, followed by usage context and parameter guidance in just two sentences. Every sentence earns its place by providing essential information without redundancy, making it highly efficient and well-structured.

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 tool with two parameters, 100% schema coverage, and annotations covering key behavioral traits, the description provides sufficient context by clarifying the forum source and use cases. The lack of an output schema is a minor gap, but the description compensates by explaining what the tool returns (search results or full discussions). It's nearly complete for this complexity level.

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%, with clear descriptions for both parameters (query and topic_id). The description adds minimal semantic value beyond the schema by mentioning the two modes ('search or fetch'), but doesn't provide additional details like query syntax examples beyond what's in the schema. Given the high schema coverage, the baseline of 3 is appropriate.

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 specific action ('Search or fetch posts') and target resource ('MetaMask Embedded Wallets community forum'), distinguishing it from sibling tools like search_docs by specifying the forum context. It provides concrete examples of use cases (troubleshooting, finding workarounds, checking known issues), making the purpose unambiguous.

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?

The description explicitly states when to use this tool ('for troubleshooting real user issues, finding workarounds, and checking if an issue is known') and provides clear alternatives for the two parameter modes ('Provide a query to search or a topic_id to read the full discussion'). This gives the agent precise guidance on selecting between query-based search and topic fetching.

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

search_docsA
Read-onlyIdempotent
Inspect

Search MetaMask Embedded Wallets (Web3Auth) documentation and examples. Use for SDK discovery, feature lookup, and finding relevant examples. Returns doc page links with snippets and matching example projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you are looking for -- e.g. 'React custom auth', 'Android deep linking', 'JWT grouped connections'
platformNoFilter examples by platform
chainNoFilter examples by blockchain family
categoryNoFilter examples by category

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds useful context about what gets returned (doc page links with snippets and matching example projects), which isn't covered by annotations. However, it doesn't mention rate limits, authentication needs, or pagination behavior.

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?

The description is perfectly concise with two sentences that each earn their place. The first sentence establishes purpose and scope, while the second describes the return format. No wasted words, and the most important information is front-loaded.

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 the tool's moderate complexity (4 parameters, 3 with enums) and rich annotations, the description is mostly complete. It covers purpose, usage context, and return format. However, without an output schema, it could benefit from more detail about the structure of returned results (e.g., pagination, error handling).

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%, with all parameters well-documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema, so it meets the baseline of 3. The description does imply the tool supports filtering (via platform, chain, category), but this is already explicit in 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 searches MetaMask Embedded Wallets documentation and examples, specifying the exact resource (documentation and examples) and purpose (SDK discovery, feature lookup, finding examples). It distinguishes from siblings like get_doc (single document), get_example (single example), get_sdk_reference (reference material), and search_community (community content).

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 provides clear context for when to use this tool (SDK discovery, feature lookup, finding examples), but doesn't explicitly state when NOT to use it or name specific alternatives. The sibling tools suggest different use cases, but the description doesn't contrast them directly.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv2.0.0
    • First observedget_doc
    • First observedget_example
    • First observedget_sdk_reference
    • First observedsearch_community
    • First observedsearch_docs

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_doc retrieves documentation content, get_example fetches example code, get_sdk_reference provides SDK source for debugging, search_community accesses forum discussions, and search_docs performs initial documentation searches. The descriptions explicitly differentiate their roles and use cases, leaving no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: get_doc, get_example, get_sdk_reference, search_community, and search_docs. This uniformity makes the tool set predictable and easy to understand at a glance.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose of providing MetaMask Embedded Wallets resources. Each tool serves a specific function (documentation, examples, SDK reference, community, and search), and none feel redundant or missing given the domain of developer support and integration.

Completeness4/5

The tool set covers key areas for developer integration: documentation access, example code, SDK reference, community support, and search functionality. A minor gap exists in not having tools for direct wallet operations or API interactions, but this is reasonable as the server focuses on resource retrieval rather than live wallet management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers