Skip to content

feat(cli): support http and sse MCP servers in zedIntegration#12427

Closed
SteffenDE wants to merge 2 commits intogoogle-gemini:mainfrom
SteffenDE:sd-acp-mcp
Closed

feat(cli): support http and sse MCP servers in zedIntegration#12427
SteffenDE wants to merge 2 commits intogoogle-gemini:mainfrom
SteffenDE:sd-acp-mcp

Conversation

@SteffenDE
Copy link
Copy Markdown
Contributor

Summary

Adds support for using the ACP "Zed Integration" with SSE and HTTP based MCP servers. See https://agentclientprotocol.com/protocol/session-setup#mcp-servers.

Details

I updated the ACP schema file using the latest one from the ACP TypeScript SDK: https://github.com/agentclientprotocol/typescript-sdk/blob/main/src/schema.ts

How to Validate

Since Zed doesn't support non-stdio MCPs, I tested this using tidewave.ai's upcoming ACP integration. You could also manually send JSON-RPC messages over stdio to verify, but without #10089, testing in the terminal doesn't really work.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@SteffenDE SteffenDE requested a review from a team as a code owner November 1, 2025 11:53
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @SteffenDE, 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 enhances the zedIntegration component by introducing support for HTTP and Server-Sent Events (SSE) based MCP servers. This change broadens the range of compatible MCP server implementations that can be used with the ACP "Zed Integration", moving beyond the previously supported stdio-only approach. The update involves modifying the agent's declared capabilities and refining the configuration processing to correctly handle these new server types.

Highlights

  • MCP Server Support: The zedIntegration now supports HTTP and Server-Sent Events (SSE) based MCP servers, expanding its compatibility beyond stdio-based servers.
  • Agent Capabilities Declaration: The GeminiAgent class explicitly declares its mcpCapabilities to include http and sse.
  • Configuration Handling: The logic for merging MCP server configurations has been updated to correctly parse and instantiate MCPServerConfig for sse and http server types, including their respective URLs and headers.
  • ACP Schema Update: The type definition for the update parameter in the Session class's sendUpdate method has been updated to align with the latest ACP schema, changing from acp.SessionUpdate to acp.SessionNotification['update'].
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
Copy Markdown
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 support for HTTP and SSE based MCP servers in the Zed integration. The changes correctly advertise the new capabilities and handle the different server configuration types during session setup. The logic is sound, but there's an opportunity to refactor duplicated code in the server configuration handling to improve maintainability and reduce redundancy.

Comment thread packages/cli/src/zed-integration/zedIntegration.ts Outdated
@michalslaski
Copy link
Copy Markdown

Thank you @SteffenDE for this contribution. Merge conflicts appeared since you opened the PR. Can you please resolve them?

Also, is there a way to directly import types from @agentclientprotocol/sdk instead of copying over the code?

@SteffenDE
Copy link
Copy Markdown
Contributor Author

@michalslaski there is, I opened #13856 to use the official SDK.

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.

2 participants