Skip to content

Feature request: find_remote_tools - implement semantic/intent-based filtering #313

Description

@kaisoz

find_remote_tools accepts an intent parameter ("Natural-language description of what the caller is looking for") but it is a no-op: the handler logs it at debug level and ignores it (internal/node/mcp_handlers.go). The tool description and JSON schema already advertise it as "reserved for future semantic ranking".

Current behavior

Only structural filters work: peer_id, service_name, and tool_name (exact match). An agent that doesn't know a tool's exact name must list everything and scan descriptions itself.

Feature request

Make intent actually filter/rank results. When set, match it against tool names and descriptions and return results ordered by relevance (or filtered to relevant ones), so a caller can ask e.g. intent: "review a pull request" and get mcp://code-reviewer/review_pr near the top without knowing the name.

Possible directions, from simplest to heaviest:

  1. Lexical matching (substring/keyword overlap against name + description) — no new dependencies.
  2. Embedding-based ranking, e.g. via an inference service already hosted on the mesh.

Notes

  • Should compose with the existing filters (peer_id, service_name).
  • If intent is set together with tool_name, the exact-name lookup should probably still win.
  • No API change needed: the parameter and its schema already exist, so this is backward compatible.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions