Просмотр исходного кода

docs: update get_capabilities for detect_emerging_topics params

- Tool card: show timeframe, topic, around parameters with examples
- Recipe: updated steps and notes with velocity/source_count guidance
- Example chains: added 'heating up around entity' chain, updated
  'Find what is emerging' with new params
- Agent tips: added tip on using timeframe/around/velocity
- Guidance: added emerging topics guidance to capabilities output
Lukas Goldschmidt 1 неделя назад
Родитель
Сommit
5a47a7e580
1 измененных файлов с 14 добавлено и 5 удалено
  1. 14 5
      news_mcp/mcp_server_fastmcp.py

+ 14 - 5
news_mcp/mcp_server_fastmcp.py

@@ -222,12 +222,12 @@ NEWS_COMPOSITION_RECIPES = [
     {
     {
         "name": "emerging-signal",
         "name": "emerging-signal",
         "steps": [
         "steps": [
-            "detect_emerging_topics(limit=...)",
-            "choose a topic/entity",
+            "detect_emerging_topics(limit=..., timeframe=..., topic=..., around=...)",
+            "choose a topic/entity from the results",
             "get_events_for_entity(entity=...)",
             "get_events_for_entity(entity=...)",
             "get_news_sentiment(entity=...)",
             "get_news_sentiment(entity=...)",
         ],
         ],
-        "notes": ["Use timeframe to control lookback, topic to scope to a category, around to find what's emerging near a specific entity. Good for trend scouting and risk mapping."],
+        "notes": ["Use timeframe to control lookback (e.g. \"4h\" for what's hot right now, \"3d\" for weekly trends), topic to scope to a category, around to find what's emerging near a specific entity. Check velocity and source_count to distinguish real spikes from noise."],
     },
     },
 ]
 ]
 
 
@@ -238,7 +238,8 @@ NEWS_AGENT_TIPS = [
     "Treat cluster_id as an internal cursor, not user-facing output; use it only for follow-up tool calls.",
     "Treat cluster_id as an internal cursor, not user-facing output; use it only for follow-up tool calls.",
     "When describing clusters, keep sources and timestamps visible so the user can assess recency and provenance.",
     "When describing clusters, keep sources and timestamps visible so the user can assess recency and provenance.",
     "Prefer a short chain of tools over many parallel calls unless you are building a neighborhood map or comparison table.",
     "Prefer a short chain of tools over many parallel calls unless you are building a neighborhood map or comparison table.",
-    "For tricky names, rely on the server’s resolver instead of inventing alias rules in the client.",
+    "For tricky names, rely on the server's resolver instead of inventing alias rules in the client.",
+    "Use detect_emerging_topics with timeframe=\"4h\" for what's hot right now, timeframe=\"3d\" for weekly trends. Use topic= to scope to a category, around= to find what's emerging near a specific entity. Check velocity to distinguish accelerating signals from steady-state ones.",
 ]
 ]
 
 
 
 
@@ -268,10 +269,17 @@ NEWS_EXAMPLE_CHAINS = [
     {
     {
         "task": "Find what is emerging",
         "task": "Find what is emerging",
         "chain": [
         "chain": [
-            "detect_emerging_topics(limit=...)",
+            "detect_emerging_topics(limit=..., timeframe=..., topic=..., around=...) with optional scoping",
             "get_events_for_entity(entity=...) on one or two emerging terms",
             "get_events_for_entity(entity=...) on one or two emerging terms",
         ],
         ],
     },
     },
+    {
+        "task": "What's heating up around a specific entity",
+        "chain": [
+            "detect_emerging_topics(around=\"<entity>\", timeframe=\"4h\")",
+            "get_events_for_entity(entity=...) on the top emerging neighbor",
+        ],
+    },
 ]
 ]
 
 
 
 
@@ -845,6 +853,7 @@ async def get_capabilities():
             "Use get_latest_events for a tail, get_events_for_entity for entity deep dives, and get_related_recent_entities for neighborhood expansion.",
             "Use get_latest_events for a tail, get_events_for_entity for entity deep dives, and get_related_recent_entities for neighborhood expansion.",
             "Prefer normalized/canonical entities when possible, but the server will resolve common aliases and MIDs for you.",
             "Prefer normalized/canonical entities when possible, but the server will resolve common aliases and MIDs for you.",
             "When presenting results to users, summarize the cluster; avoid exposing internal IDs unless they are needed for follow-up tool calls.",
             "When presenting results to users, summarize the cluster; avoid exposing internal IDs unless they are needed for follow-up tool calls.",
+            "For emerging topics, use detect_emerging_topics with timeframe and around parameters to scope your query. High velocity + high source_count = strong emerging signal.",
         ],
         ],
     }
     }