Skip to content

Feat/add popular 3p mcps#586

Open
Rohit-KK15 wants to merge 25 commits intomainfrom
feat/add-popular-3p-mcps
Open

Feat/add popular 3p mcps#586
Rohit-KK15 wants to merge 25 commits intomainfrom
feat/add-popular-3p-mcps

Conversation

@Rohit-KK15
Copy link
Member

@Rohit-KK15 Rohit-KK15 commented Feb 18, 2026

Add New third-party MCPs

  • Added wrapper functions for three popular third-party MCP servers: Playwright @playwright/mcp, Sequential Thinking @modelcontextprotocol/server-sequential-thinking, and Notion @notionhq/notion-mcp-server
  • Added McpGeneric documentation to the third-party wrappers index and the external MCPs guide
  • Fixed MCP tool description rendering in McpToolsList to correctly parse multi-line markdown-style text (bullet lists, numbered lists, section headers) instead of collapsing everything into a single <p>block
  • Added support for MCP tools with hyphenated names (e.g. Notion’s retrieve-a-page). The adapter now normalizes tool names by mapping hyphens to underscores for LLM compatibility while preserving original names for MCP server calls.
  • Added Docs on all new MCPs added along with MCP Generic.

Changes

packages/adk/src/tools/mcp/servers.ts

  • McpPlaywright() — wraps @playwright/mcp
  • McpSequentialThinking() — wraps @modelcontextprotocol/server-sequential-thinking
  • McpNotion() — wraps @notionhq/notion-mcp-server, requires NOTION_TOKEN

packages/adk/src/tools/mcp/create-tool.ts

  • Added sanitizeMcpToolName() that replaces hyphens with underscores before the name hits BaseTool validation
  • McpToolAdapter now stores originalMcpName separately from this.name
  • All callTool invocations use originalMcpName so the MCP server receives the name it expects

apps/docs/components/mcp/mcp-tools-list.tsx

  • Added renderDescription() that supports Markdown rendering for tool descriptions to improve structure and visual presentation.

Docs

  • New pages: playwright.mdx, sequential-thinking.mdx, notion.mdx under third-party-wrappers/
  • New Productivity section in sidebar nav and index page for Notion
  • McpGeneric usage documented in third-party-wrappers/index.mdx and external-mcps.mdx
  • fetch-mcp-tools.ts updated to include playwright, sequential-thinking, and notion entries

Closes: #589, #590, #591

Rohit-KK15 and others added 22 commits February 12, 2026 19:57
…ng both playwright mcp and agent-browser cli
Automatically fetched and updated MCP server tool definitions.

Generated at: 2026-02-18 06:40:49 UTC
Automatically fetched and updated MCP server tool definitions.

Generated at: 2026-02-18 07:37:28 UTC
Replace hyphens in MCP tool names with underscores so they pass BaseTool validation, by adding sanitizeMcpToolName. Preserve the original MCP name in McpToolAdapter (originalMcpName) and use it for logging, client calls, handler calls, and error messages so calls back to the MCP server use the original identifier. Also ensure a fallback rawName is computed when name is missing.
Automatically fetched and updated MCP server tool definitions.

Generated at: 2026-02-18 09:06:21 UTC
@vercel
Copy link
Contributor

vercel bot commented Feb 18, 2026

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: adk-typescript-docs.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

@changeset-bot
Copy link

changeset-bot bot commented Feb 18, 2026

⚠️ No Changeset found

Latest commit: b1fb51a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Rohit-KK15 Rohit-KK15 requested a review from Timonwa February 18, 2026 11:30
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Rohit-KK15, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the ADK's integration capabilities by introducing dedicated wrapper functions for three popular third-party Model Context Protocol (MCP) servers: Playwright, Sequential Thinking, and Notion. It also enhances the documentation site's ability to display rich tool descriptions using Markdown and refines the tool naming convention to seamlessly handle hyphenated MCP tool names, improving compatibility and user experience.

Highlights

  • New Third-Party MCP Server Wrappers: Added dedicated wrapper functions for three popular third-party Model Context Protocol (MCP) servers: Playwright (@playwright/mcp), Sequential Thinking (@modelcontextprotocol/server-sequential-thinking), and Notion (@notionhq/notion-mcp-server). These wrappers simplify integration and configuration for these services.
  • Enhanced MCP Tool Description Rendering: Improved the rendering of MCP tool descriptions in McpToolsList to correctly parse and display multi-line Markdown-style text, including bullet lists, numbered lists, and section headers, instead of collapsing them into a single paragraph.
  • Support for Hyphenated MCP Tool Names: Implemented support for MCP tools with hyphenated names (e.g., Notion's retrieve-a-page). The system now normalizes these names by mapping hyphens to underscores for LLM compatibility while preserving the original names for actual MCP server calls.
  • Updated Documentation and Examples: Expanded documentation to include detailed guides for the new Playwright, Sequential Thinking, and Notion wrappers, as well as updated McpGeneric usage. New examples for browser automation demonstrating both Playwright MCP and Agent-Browser CLI were also added.
Changelog
  • apps/docs/components/mcp/mcp-tools-list.tsx
    • Imported React for JSX usage.
    • Added renderInline function to parse and render inline Markdown (bold, italic).
    • Implemented renderDescription function to parse and render multi-line Markdown, supporting code blocks, headings, ordered lists, and unordered lists.
    • Updated ToolTile component to use renderDescription for displaying tool descriptions.
  • apps/docs/content/docs/mcp-servers/external-mcps.mdx
    • Slightly rephrased introductory sentence for clarity.
    • Added a new section 'Quick Connection with McpGeneric' with detailed TypeScript code examples for connecting to npm-based MCP servers.
  • apps/docs/content/docs/mcp-servers/third-party-wrappers/index.mdx
    • Added a new 'Productivity' section.
    • Included a new Card for 'MCP Notion' under the 'Productivity' section.
    • Added new Card components for 'MCP Playwright' and 'MCP Sequential Thinking' under the 'Utilities' section.
    • Updated the 'Using Other External MCPs' section to introduce McpGeneric with code examples before McpToolset.
  • apps/docs/content/docs/mcp-servers/third-party-wrappers/meta.json
    • Added '---Productivity' section header.
    • Included 'notion' in the 'Productivity' section.
    • Added 'playwright' and 'sequential-thinking' to the 'Utilities' section.
  • apps/docs/content/docs/mcp-servers/third-party-wrappers/notion.mdx
    • Added a new documentation page for the MCP Notion server, detailing its overview, usage with ADK TypeScript (simple, verbose, Claude Desktop configurations), environment variables, configuration options, available tools, a complete example, setup guide for Notion integration, use cases, best practices, and troubleshooting.
  • apps/docs/content/docs/mcp-servers/third-party-wrappers/playwright.mdx
    • Added a new documentation page for the MCP Playwright server, covering its overview, usage with ADK TypeScript, environment variables, configuration options, available tools, a complete example, use cases, best practices, and troubleshooting.
  • apps/docs/content/docs/mcp-servers/third-party-wrappers/sequential-thinking.mdx
    • Added a new documentation page for the MCP Sequential Thinking server, including its overview, usage with ADK TypeScript, environment variables, configuration options, available tools, a complete example, use cases, best practices, and troubleshooting.
  • apps/docs/scripts/fetch-mcp-tools.ts
    • Extended the MCP_SERVERS array to include new entries for Playwright, Sequential Thinking, and Notion MCP clients, each with their slug, name, and package.
  • apps/examples/src/10-browser-automation/agents/agent-browser-agent.ts
    • Added a new agent definition, getAgentBrowserAgent, for browser automation using Vercel's agent-browser CLI via BashTool, including detailed instructions for LLM.
  • apps/examples/src/10-browser-automation/agents/agent.ts
    • Added a new agent definition, getBrowserAgent, for browser automation utilizing the McpPlaywright toolset, complete with instructions for LLM.
  • apps/examples/src/10-browser-automation/agents/tools.ts
    • Introduced playwrightToolset using McpPlaywright.
    • Added getPlaywrightTools to retrieve tools from the Playwright toolset.
    • Added cleanupPlaywright to close the Playwright toolset.
    • Added getAgentBrowserTool to configure a BashTool for agent-browser CLI with whitelisted commands.
  • apps/examples/src/10-browser-automation/index.ts
    • Added a new example entry point to demonstrate and switch between Playwright MCP and Agent-Browser CLI for browser automation based on an environment variable BROWSER_APPROACH.
  • packages/adk/src/tools/mcp/create-tool.ts
    • Implemented sanitizeMcpToolName function to replace hyphens with underscores in MCP tool names.
    • Added originalMcpName private property to McpToolAdapter to store the original MCP tool name.
    • Updated the McpToolAdapter constructor to use sanitizeMcpToolName for this.name and store the raw name in this.originalMcpName.
    • Modified callTool invocations within McpToolAdapter to use this.originalMcpName when communicating with the MCP server.
  • packages/adk/src/tools/mcp/servers.ts
    • Introduced new wrapper function McpNotion for the Notion MCP server.
    • Introduced new wrapper function McpSequentialThinking for the Sequential Thinking MCP server.
    • Introduced new wrapper function McpPlaywright for the Playwright MCP server.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds wrappers for three popular third-party MCP servers (Playwright, Sequential Thinking, and Notion), along with their documentation. It also fixes an issue with rendering multi-line markdown in tool descriptions and adds support for hyphenated tool names in MCP tools.

My review focuses on improving the maintainability of the new markdown rendering logic and fixing minor typos in the new example files. The core logic for supporting new MCPs and hyphenated names looks solid.

  • In apps/docs/components/mcp/mcp-tools-list.tsx, I've suggested replacing the custom markdown parser with a standard library to improve maintainability and robustness.
  • In apps/examples/src/10-browser-automation/index.ts, I've pointed out a couple of typos in an example prompt.

@vercel
Copy link
Contributor

vercel bot commented Feb 18, 2026

Deployment failed with the following error:

You don't have permission to create a Preview Deployment for this Vercel project: adk-web.

View Documentation: https://vercel.com/docs/accounts/team-members-and-roles

Copy link
Contributor

@Timonwa Timonwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Rohit-KK15
Copy link
Member Author

Rohit-KK15 commented Feb 19, 2026

@Royal-lobster Could you please review this PR when you get a momemt😅

@vercel
Copy link
Contributor

vercel bot commented Feb 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
adk-typescript-docs Error Error Feb 23, 2026 7:00am
adk-web Ready Ready Preview Feb 23, 2026 7:00am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support hyphenated tool names from MCP servers Markdown rendering in MCP tool descriptions Add popular third-party MCP wrappers

4 participants