Skip to content

[Integration] go-kratos/blades — You.com remote MCP example for the contrib/mcp HTTP transport (PR #256) #262

Description

@mouse-value-add

Source repo

https://github.com/go-kratos/blades

Why selected

Blades is a Go multimodal AI agent framework from the go-kratos org (811 stars, MIT, active — last push Aug 2026, CI via make build / make test). It ships a contrib/mcp MCP client supporting HTTP (streamable) transport with custom headers, plus an examples/ directory with mcp-endpoint and mcp-stdio examples. A remote You.com MCP server therefore fits the project's existing MCP surface with zero new dependencies and no core-code changes.

Candidate evaluation summary

Candidate Stars Verdict
go-kratos/blades 811 Selected — native MCP client w/ HTTP transport + headers; examples pattern to follow; active; MIT; CI
qwen-code-dev-bot/oh-my-cli 810 Rejected — MCP contract v1 refuses remote http/sse transports (stdio-only, fail-closed); remote You.com MCP can't fit
amElnagdy/delegate-skills 1729 Rejected — delegation skills for implementer CLIs; web search not core to function
anysearch-team/anysearch-dsh 404 Rejected — competing search product's own plugin

Proposed integration type

MCP server example (repo-native equivalent of a config/doc integration): a new examples/mcp-youcom/ example that connects a Blades agent to the You.com remote MCP server over HTTP transport with bearer auth, following the existing examples/mcp-endpoint pattern exactly.

Distribution surface the repo already has

contrib/mcp MCP client (mcp.NewToolsResolver + mcp.ClientConfig with Transport: mcp.TransportHTTP, Endpoint, Headers) and the examples/ directory convention.

Planned env vars and setup

  • YDC_API_KEY — You.com API key (https://you.com/platform/api-keys), sent as Authorization: Bearer <key> header
  • OPENAI_API_KEY / OPENAI_MODEL — already required by the existing examples
  • Keyless alternative documented: https://api.you.com/mcp?profile=free (basic you-search tool, no key)

Expected usage example

mcpResolver, err := mcp.NewToolsResolver(mcp.ClientConfig{
    Name:      "youcom",
    Transport: mcp.TransportHTTP,
    Endpoint:  "https://api.you.com/mcp",
    Headers:   map[string]string{"Authorization": "Bearer " + os.Getenv("YDC_API_KEY")},
})

Validation plan

  • go build ./... and go vet ./... in the examples module (Go 1.25)
  • Full make build / make test if runtime allows
  • Live run documented (go run ./mcp-youcom with OPENAI_API_KEY + YDC_API_KEY); offline CI validation is compile-only since the example needs credentials

Branch / PR

  • Branch: feat/youcom-search-integration (to be pushed to fork if direct push is denied)
  • PR: (placeholder — will be updated)

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions