Skip to content

Commit d0c71f3

Browse files
chore: update registry metadata (stars and pulls) (#1191)
* chore: update registry metadata (stars and pulls) * chore: update tool lists for MCP servers (server.json)\n\nUpdated servers:\n- browserbase\n- ida-pro-mcp\n- pagerduty\n- redis\n- semgrep\n\nAutomatically updated using 'catalog update-tools' command.\n\nCo-authored-by: toolhive-release-app[bot] <toolhive-release-app[bot]@users.noreply.github.com> --------- Co-authored-by: toolhive-release-app[bot] <280093410+toolhive-release-app[bot]@users.noreply.github.com>
1 parent 6bcff3e commit d0c71f3

5 files changed

Lines changed: 249 additions & 35 deletions

File tree

registries/toolhive/servers/browserbase/server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"io.github.stacklok": {
66
"ghcr.io/stacklok/dockyard/npx/browserbase-mcp-server:2.4.3": {
77
"metadata": {
8-
"last_updated": "2026-04-05T03:03:17Z",
9-
"stars": 3224
8+
"last_updated": "2026-05-07T03:07:13Z",
9+
"stars": 3315
1010
},
1111
"overview": "## Browserbase MCP Server\n\nThe browserbase MCP server is a Model Context Protocol (MCP) server that gives AI assistants full, programmable control of real web browsers running in the cloud. Powered by Browserbase, it enables AI-driven workflows to load pages, execute JavaScript, interact with dynamic UIs, and capture screenshots or HTML — making it possible to automate and reason over modern, JavaScript-heavy websites that traditional HTTP-based tools can't handle. This server is ideal for web automation, end-to-end testing, live research, and data extraction workflows that require a real browser environment.",
1212
"permissions": {

registries/toolhive/servers/ida-pro-mcp/server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"io.github.stacklok": {
66
"ghcr.io/stacklok/dockyard/uvx/ida-pro-mcp:1.4.0": {
77
"metadata": {
8-
"last_updated": "2026-04-05T03:03:17Z",
9-
"stars": 7114
8+
"last_updated": "2026-05-07T03:07:26Z",
9+
"stars": 8258
1010
},
1111
"overview": "## IDA Pro MCP Server\n\nThe ida-pro-mcp server is a Model Context Protocol (MCP) server that allows AI assistants and agents to interact directly with IDA Pro, the industry-standard interactive disassembler and reverse-engineering platform. It enables AI-driven workflows to inspect binaries, analyze disassembly, explore functions and symbols, and reason about program structure — all from within an MCP-compatible assistant. This server proves particularly valuable for reverse engineering, malware analysis, vulnerability research, and low-level software analysis workflows where deep binary insight is required.",
1212
"permissions": {

registries/toolhive/servers/pagerduty/server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"--enable-write-tools"
99
],
1010
"metadata": {
11-
"last_updated": "2026-04-05T03:03:17Z",
12-
"stars": 58
11+
"last_updated": "2026-05-07T03:07:29Z",
12+
"stars": 67
1313
},
1414
"overview": "## PagerDuty MCP Server\n\nThe pagerduty MCP server is a Model Context Protocol (MCP) server that enables AI assistants and agents to interact directly with PagerDuty, the incident management and on-call platform. It allows AI-driven workflows to access incidents, services, schedules, and on-call status information, bringing real-time incident response context into AI-assisted operations. This server is especially useful for incident triage, on-call support, operational awareness, and post-incident analysis where PagerDuty serves as the primary system of record.",
1515
"permissions": {

registries/toolhive/servers/redis/server.json

Lines changed: 195 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"io.github.stacklok": {
66
"docker.io/mcp/redis:latest": {
77
"metadata": {
8-
"last_updated": "2026-04-04T03:00:40Z",
9-
"stars": 471
8+
"last_updated": "2026-05-07T03:06:47Z",
9+
"stars": 504
1010
},
1111
"overview": "## Redis MCP Server\n\nThe redis MCP server enables LLMs to interact with Redis key-value databases through a set of standardized tools. The server connects to Redis databases and provides MCP tools for basic operations (CRUD operations, database management), data structures (full support for strings, hashes, lists, sets, sorted sets, JSON), vector search functionality, and streams/Pub/Sub features for messaging and time-series data handling.",
1212
"permissions": {
@@ -341,6 +341,61 @@
341341
},
342342
"name": "hset"
343343
},
344+
{
345+
"annotations": {},
346+
"description": "\nPerform a hybrid search combining a Redis filter expression with KNN vector similarity.\n\nHybrid search pre-filters documents by metadata before ranking by vector similarity —\nthe standard pattern for production RAG and semantic search pipelines.\n\nFilter expression examples:\n \"*\" → no filter, pure vector search (same as vector_search_hash)\n \"@category:{news}\" → tag filter\n \"@year:[2020 2024]\" → numeric range\n \"@lang:{en} @year:[2022 +inf]\" → combined tag + range\n \"@title:redis\" → full-text match on a text field\n\nFull filter syntax: https://redis.io/docs/latest/develop/interact/search-and-query/query/\n\nArgs:\n query_vector: List of floats to use as the query vector.\n filter_expression: Redis filter expression to restrict candidates before KNN ranking.\n Defaults to '*' (no filter).\n index_name: Name of the Redis index (default: 'vector_index').\n vector_field: Name of the indexed vector field (default: 'vector').\n k: Number of nearest neighbors to return.\n return_fields: Additional fields to include in results (optional).\n\nReturns:\n A list of matched documents with their similarity score, or an error message.\n",
347+
"inputSchema": {
348+
"properties": {
349+
"filter_expression": {
350+
"default": "*",
351+
"title": "Filter Expression",
352+
"type": "string"
353+
},
354+
"index_name": {
355+
"default": "vector_index",
356+
"title": "Index Name",
357+
"type": "string"
358+
},
359+
"k": {
360+
"default": 5,
361+
"title": "K",
362+
"type": "integer"
363+
},
364+
"query_vector": {
365+
"items": {
366+
"type": "number"
367+
},
368+
"title": "Query Vector",
369+
"type": "array"
370+
},
371+
"return_fields": {
372+
"anyOf": [
373+
{
374+
"items": {
375+
"type": "string"
376+
},
377+
"type": "array"
378+
},
379+
{
380+
"type": "null"
381+
}
382+
],
383+
"default": null,
384+
"title": "Return Fields"
385+
},
386+
"vector_field": {
387+
"default": "vector",
388+
"title": "Vector Field",
389+
"type": "string"
390+
}
391+
},
392+
"required": [
393+
"query_vector"
394+
],
395+
"type": "object"
396+
},
397+
"name": "hybrid_search"
398+
},
344399
{
345400
"annotations": {},
346401
"description": "Get Redis server information and statistics.\n\nArgs:\n section: The section of the info command (default, memory, cpu, etc.).\n\nReturns:\n A dictionary of server information or an error message.\n",
@@ -1019,6 +1074,36 @@
10191074
},
10201075
"name": "vector_search_hash"
10211076
},
1077+
{
1078+
"annotations": {},
1079+
"description": "Acknowledge entries that were processed by a consumer group.\n\nArgs:\n key (str): The stream key.\n group_name (str): The consumer group name.\n entry_ids (List[str]): Entry IDs to acknowledge.\n\nReturns:\n str: Confirmation message or an error message.\n",
1080+
"inputSchema": {
1081+
"properties": {
1082+
"entry_ids": {
1083+
"items": {
1084+
"type": "string"
1085+
},
1086+
"title": "Entry Ids",
1087+
"type": "array"
1088+
},
1089+
"group_name": {
1090+
"title": "Group Name",
1091+
"type": "string"
1092+
},
1093+
"key": {
1094+
"title": "Key",
1095+
"type": "string"
1096+
}
1097+
},
1098+
"required": [
1099+
"key",
1100+
"group_name",
1101+
"entry_ids"
1102+
],
1103+
"type": "object"
1104+
},
1105+
"name": "xack"
1106+
},
10221107
{
10231108
"annotations": {},
10241109
"description": "Add an entry to a Redis stream with an optional expiration time.\n\nArgs:\n key (str): The stream key.\n fields (dict): The fields and values for the stream entry.\n expiration (int, optional): Expiration time in seconds.\n\nReturns:\n str: The ID of the added entry or an error message.\n",
@@ -1076,6 +1161,60 @@
10761161
},
10771162
"name": "xdel"
10781163
},
1164+
{
1165+
"annotations": {},
1166+
"description": "Create a consumer group for a Redis stream.\n\nArgs:\n key (str): The stream key.\n group_name (str): The consumer group name.\n start_id (str, optional): Stream ID from which the group starts consuming.\n mkstream (bool, optional): Create the stream if it does not exist.\n\nReturns:\n str: Confirmation message or an error message.\n",
1167+
"inputSchema": {
1168+
"properties": {
1169+
"group_name": {
1170+
"title": "Group Name",
1171+
"type": "string"
1172+
},
1173+
"key": {
1174+
"title": "Key",
1175+
"type": "string"
1176+
},
1177+
"mkstream": {
1178+
"default": true,
1179+
"title": "Mkstream",
1180+
"type": "boolean"
1181+
},
1182+
"start_id": {
1183+
"default": "$",
1184+
"title": "Start Id",
1185+
"type": "string"
1186+
}
1187+
},
1188+
"required": [
1189+
"key",
1190+
"group_name"
1191+
],
1192+
"type": "object"
1193+
},
1194+
"name": "xgroup_create"
1195+
},
1196+
{
1197+
"annotations": {},
1198+
"description": "Destroy a consumer group for a Redis stream.\n\nArgs:\n key (str): The stream key.\n group_name (str): The consumer group name.\n\nReturns:\n str: Confirmation message or an error message.\n",
1199+
"inputSchema": {
1200+
"properties": {
1201+
"group_name": {
1202+
"title": "Group Name",
1203+
"type": "string"
1204+
},
1205+
"key": {
1206+
"title": "Key",
1207+
"type": "string"
1208+
}
1209+
},
1210+
"required": [
1211+
"key",
1212+
"group_name"
1213+
],
1214+
"type": "object"
1215+
},
1216+
"name": "xgroup_destroy"
1217+
},
10791218
{
10801219
"annotations": {},
10811220
"description": "Read entries from a Redis stream.\n\nArgs:\n key (str): The stream key.\n count (int, optional): Number of entries to retrieve.\n\nReturns:\n str: The retrieved stream entries or an error message.\n",
@@ -1098,6 +1237,55 @@
10981237
},
10991238
"name": "xrange"
11001239
},
1240+
{
1241+
"annotations": {},
1242+
"description": "Read entries from a Redis stream using a consumer group.\n\nArgs:\n key (str): The stream key.\n group_name (str): The consumer group name.\n consumer_name (str): The consumer name.\n count (int, optional): Maximum number of entries to retrieve.\n block_ms (int, optional): Maximum time to block waiting for entries.\n Use None for a non-blocking read. 0 is rejected because Redis treats\n BLOCK 0 as an indefinite wait.\n stream_id (str, optional): Stream ID to read from. Use \"\u003e\" for new messages.\n\nReturns:\n str: The retrieved stream entries or an error message.\n",
1243+
"inputSchema": {
1244+
"properties": {
1245+
"block_ms": {
1246+
"anyOf": [
1247+
{
1248+
"type": "integer"
1249+
},
1250+
{
1251+
"type": "null"
1252+
}
1253+
],
1254+
"default": null,
1255+
"title": "Block Ms"
1256+
},
1257+
"consumer_name": {
1258+
"title": "Consumer Name",
1259+
"type": "string"
1260+
},
1261+
"count": {
1262+
"default": 1,
1263+
"title": "Count",
1264+
"type": "integer"
1265+
},
1266+
"group_name": {
1267+
"title": "Group Name",
1268+
"type": "string"
1269+
},
1270+
"key": {
1271+
"title": "Key",
1272+
"type": "string"
1273+
},
1274+
"stream_id": {
1275+
"default": "\u003e",
1276+
"title": "Stream Id",
1277+
"type": "string"
1278+
}
1279+
},
1280+
"required": [
1281+
"key",
1282+
"group_name",
1283+
"consumer_name"
1284+
],
1285+
"type": "object"
1286+
},
1287+
"name": "xreadgroup"
1288+
},
11011289
{
11021290
"annotations": {},
11031291
"description": "Add a member to a Redis sorted set with an optional expiration time.\n\nArgs:\n key (str): The sorted set key.\n score (float): The score of the member.\n member (str): The member to add.\n expiration (int, optional): Expiration time in seconds.\n\nReturns:\n str: Confirmation message or an error message.\n",
@@ -1208,6 +1396,7 @@
12081396
"hget",
12091397
"hgetall",
12101398
"hset",
1399+
"hybrid_search",
12111400
"info",
12121401
"json_del",
12131402
"json_get",
@@ -1233,9 +1422,13 @@
12331422
"type",
12341423
"unsubscribe",
12351424
"vector_search_hash",
1425+
"xack",
12361426
"xadd",
12371427
"xdel",
1428+
"xgroup_create",
1429+
"xgroup_destroy",
12381430
"xrange",
1431+
"xreadgroup",
12391432
"zadd",
12401433
"zrange",
12411434
"zrem"

0 commit comments

Comments
 (0)