Skip to content

Commit 13777f6

Browse files
autogame-17claude
andcommitted
feat(mcp): add free-text query to evolver_search_assets
evolver_search_assets only accepted a `signals` keyword array, so an agent had to guess the right signal keywords. Add an optional free-text `query` so a caller can describe the current situation in natural language and get a semantic match -- e.g. query "restore quoted reply text in a feishu bot". - inputSchema: add `query` (string); `signals` is no longer required (provide query and/or signals). - handler: forward `query` to the proxy's POST /asset/search. The proxy routes a free-text `query` to the hub's existing semantic-search endpoint; companion change EvoMap/evolver-private-dev#208. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c7f9501 commit 13777f6

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
All notable changes to the Evolver Claude Code plugin are documented here.
44
This project adheres to [Semantic Versioning](https://semver.org/).
55

6+
## [Unreleased]
7+
8+
### Changed
9+
- `evolver_search_assets` now accepts a free-text `query` parameter for
10+
natural-language semantic search ("what asset fits my current situation?"),
11+
alongside the existing `signals` keyword array — provide either or both;
12+
`signals` is no longer required. Pairs with the companion proxy change
13+
(EvoMap/evolver-private-dev#208) that routes a free-text `query` to the hub's
14+
existing `semantic-search` endpoint.
15+
616
## [0.2.0] — 2026-06-05
717

818
### Added

mcp/evolver-proxy.mjs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,19 +90,19 @@ const TOOLS = [
9090
},
9191
{
9292
name: 'evolver_search_assets',
93-
description: 'Search the EvoMap network for reusable evolution assets (Genes and Capsules) that match the given signals. Call this BEFORE starting substantive work to reuse proven approaches instead of reinventing them.',
93+
description: 'Search the EvoMap network for reusable evolution assets (Genes and Capsules). Pass `query` to describe your current task/situation in natural language (semantic search — recommended when you are unsure which signal keywords apply) and/or `signals` to match on known signal keywords; provide at least one. Call this BEFORE starting substantive work to reuse proven approaches instead of reinventing them.',
9494
inputSchema: {
9595
type: 'object',
9696
properties: {
97-
signals: { type: 'array', items: { type: 'string' }, description: 'Signal keywords, e.g. ["log_error","perf_bottleneck","test_failure"].' },
97+
query: { type: 'string', description: 'Free-text description of the current task/situation, e.g. "restore quoted reply text in a feishu bot". Runs natural-language semantic search over the network. Provide query and/or signals.' },
98+
signals: { type: 'array', items: { type: 'string' }, description: 'Signal keywords, e.g. ["log_error","perf_bottleneck","test_failure"]. Provide query and/or signals.' },
9899
mode: { type: 'string', enum: ['semantic', 'exact'], default: 'semantic' },
99100
limit: { type: 'integer', minimum: 1, maximum: 25, default: 5 },
100101
},
101-
required: ['signals'],
102102
additionalProperties: false,
103103
},
104104
handler: (a) => proxyFetch('POST', '/asset/search', {
105-
signals: a.signals, mode: a.mode || 'semantic', limit: a.limit || 5,
105+
query: a.query, signals: a.signals, mode: a.mode || 'semantic', limit: a.limit || 5,
106106
}),
107107
},
108108
{

0 commit comments

Comments
 (0)