Skip to content

Commit b79fdcb

Browse files
tytv2claude
andcommitted
fix(api_index): include product name in searchable text
Query "vks" now returns VKS endpoints. Before, only path/summary/description were searched, so product-name queries returned empty. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5b8bfd8 commit b79fdcb

4 files changed

Lines changed: 15 additions & 2 deletions

File tree

src/greenode-mcp-server/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 0.3.2
4+
5+
### Fixes
6+
* `search_api` now matches product name (e.g. query "vks" returns VKS endpoints)
7+
38
## 0.3.1
49

510
### Fixes

src/greenode-mcp-server/greennode/greenode_mcp_server/api_index.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def search(query: str, product: str | None = None, max_results: int = 5) -> list
132132
for entry in get_index():
133133
if product and entry.product != product:
134134
continue
135-
searchable = f"{entry.method} {entry.path} {entry.summary} {entry.description}".lower()
135+
searchable = f"{entry.product} {entry.method} {entry.path} {entry.summary} {entry.description}".lower()
136136
if all(term in searchable for term in terms):
137137
results.append(entry)
138138
return results[:max_results]

src/greenode-mcp-server/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "greenode-mcp-server"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
description = "GreenNode MCP Server — AI assistant tools for all VNG Cloud products"
55
readme = "README.md"
66
requires-python = ">=3.10"

src/greenode-mcp-server/tests/test_api_index.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,14 @@ def test_search_by_path_keyword(tmp_path, monkeypatch):
135135
assert len(results) >= 1
136136

137137

138+
def test_search_by_product_name(tmp_path, monkeypatch):
139+
import greennode.greenode_mcp_server.api_index as m
140+
_write_spec(m.SPECS_DIR, "vks", MINIMAL_SPEC)
141+
results = search("vks")
142+
assert len(results) >= 1
143+
assert all(e.product == "vks" for e in results)
144+
145+
138146
def test_search_filters_by_product(tmp_path, monkeypatch):
139147
import greennode.greenode_mcp_server.api_index as m
140148
_write_spec(m.SPECS_DIR, "vks", MINIMAL_SPEC)

0 commit comments

Comments
 (0)