mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-02-01 22:48:03 +00:00
feat: Add support for MCP Resources (#13178)
Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
This commit is contained in:
@@ -16,8 +16,8 @@ An MCP server enables the Gemini CLI to:
|
||||
through standardized schema definitions.
|
||||
- **Execute tools:** Call specific tools with defined arguments and receive
|
||||
structured responses.
|
||||
- **Access resources:** Read data from specific resources (though the Gemini CLI
|
||||
primarily focuses on tool execution).
|
||||
- **Access resources:** Read data from specific resources that the server
|
||||
exposes (files, API payloads, reports, etc.).
|
||||
|
||||
With an MCP server, you can extend the Gemini CLI's capabilities to perform
|
||||
actions beyond its built-in features, such as interacting with databases, APIs,
|
||||
@@ -40,6 +40,7 @@ The discovery process is orchestrated by `discoverMcpTools()`, which:
|
||||
4. **Sanitizes and validates** tool schemas for compatibility with the Gemini
|
||||
API
|
||||
5. **Registers tools** in the global tool registry with conflict resolution
|
||||
6. **Fetches and registers resources** if the server exposes any
|
||||
|
||||
### Execution layer (`mcp-tool.ts`)
|
||||
|
||||
@@ -59,6 +60,32 @@ The Gemini CLI supports three MCP transport types:
|
||||
- **SSE Transport:** Connects to Server-Sent Events endpoints
|
||||
- **Streamable HTTP Transport:** Uses HTTP streaming for communication
|
||||
|
||||
## Working with MCP resources
|
||||
|
||||
Some MCP servers expose contextual “resources” in addition to the tools and
|
||||
prompts. Gemini CLI discovers these automatically and gives you the possibility
|
||||
to reference them in the chat.
|
||||
|
||||
### Discovery and listing
|
||||
|
||||
- When discovery runs, the CLI fetches each server’s `resources/list` results.
|
||||
- The `/mcp` command displays a Resources section alongside Tools and Prompts
|
||||
for every connected server.
|
||||
|
||||
This returns a concise, plain-text list of URIs plus metadata.
|
||||
|
||||
### Referencing resources in a conversation
|
||||
|
||||
You can use the same `@` syntax already known for referencing local files:
|
||||
|
||||
```
|
||||
@server://resource/path
|
||||
```
|
||||
|
||||
Resource URIs appear in the completion menu together with filesystem paths. When
|
||||
you submit the message, the CLI calls `resources/read` and injects the content
|
||||
in the conversation.
|
||||
|
||||
## How to set up your MCP server
|
||||
|
||||
The Gemini CLI uses the `mcpServers` configuration in your `settings.json` file
|
||||
|
||||
Reference in New Issue
Block a user