Repository navigation
feat: add native McpClient - #8862
Open
lloydrichards wants to merge 4 commits into
Open
lloydrichards wants to merge 4 commits into
lloydrichards wants to merge 4 commits into
Conversation
🦋 Changeset detectedLatest commit: bfec3ad The changes in this PR will be included in the next version bump. This PR includes changesets to release 32 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
Bundle Size AnalysisGenerated from PR build output; treat the content below as untrusted.
|
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 7, 2026 15:39
73f4d26 to
87cd7c7
Compare
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 7, 2026 16:06
87cd7c7 to
d55c323
Compare
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 8, 2026 13:27
d55c323 to
ff33cc1
Compare
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 8, 2026 13:43
ff33cc1 to
353dadf
Compare
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 8, 2026 14:30
353dadf to
55a7737
Compare
lloydrichards
force-pushed
the
feat/mcp-client
branch
2 times, most recently
from
October 8, 2026 15:23
02d1720 to
0ece300
Compare
lloydrichards
marked this pull request as ready for review
October 8, 2026 16:21
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 8, 2026 16:38
0ece300 to
491330c
Compare
lloydrichards
force-pushed
the
feat/mcp-client
branch
from
October 10, 2026 11:47
491330c to
bfec3ad
Compare
This branch is waiting to be deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Type
Description
Add an Effect-native
McpClientso applications can use remote MCP tools, prompts, and resources through Effect schemas, services, and scopes. This first reasonably simple implementation includes stdio and Streamable HTTP, explicit2025-11-25and2026-07-28adapters, bounded discovery, direct calls, andToolkitintegration. The broader issue remains open for follow-ups.Applications can call tools directly or expose discovered tools to a model through the existing
ToolandToolkitAPIs. Prompts and resources reuse theMcpSchematypes already used byMcpServerand would need to be consumed as part of thePrompt.PromptAPI.The main layers are the setting up the
McpClient.layerwhich configures the client and theMcpClient.layerHttpwhich configure the transport:For example, a server exposing the calculator tool, a prompt, and a resource:
Raw tool calls retain content, structured output, metadata, and
isError. Supplying a schema decodes structured output and turns tool-reported errors intoToolError, retaining the original result. A possibly absent schema produces a union of the decoded value and full result.Each list returns a complete snapshot within one deadline, capped at 100 pages and 10,000 entries. Operation helpers also support data-first and piped calls.
With a
LanguageModelprovided:The adapter supplies discovered input schemas and bound handlers to the standard
Toolkit. Its MVP output is text; rich binary model output needs application conversion.Related