Cyber new (#488)
* Add CYBER_NEWS server type and example questions to MCP services * Increase timeout for both cloud and local services to 300 seconds
taylor_socfortress committed
Aug 11, 2025 at 14:23 UTC
712e5256aef7e5f51abc7531cdf9d2e44a638cdf
3 files changed
+28
-1
backend/app/integrations/copilot_mcp/schema/copilot_mcp.py
+1
@@ -18,6 +18,7 @@ class MCPServerType(str, Enum):
18
COPILOT = "copilot"
19
VELOCIRAPTOR = "velociraptor"
20
THREAT_INTEL = "threat-intel"
21
+ CYBER_NEWS = "cyber-news"
22
23
24
class MCPServerConfig(BaseModel):
backend/app/integrations/copilot_mcp/services/copilot_mcp.py
+2
-1
@@ -43,6 +43,7 @@ class MCPService:
43
MCPServerType.VELOCIRAPTOR: MCPServerConfig(MCPServiceType.LOCAL, "velociraptor-query"),
44
# Cloud services
45
MCPServerType.THREAT_INTEL: MCPServerConfig(MCPServiceType.CLOUD, "threat_intel"),
46
+ MCPServerType.CYBER_NEWS: MCPServerConfig(MCPServiceType.CLOUD, "cyber_news"),
47
}
48
49
@classmethod
@@ -118,7 +119,7 @@ class MCPService:
119
logger.debug(f"Query data: {data.dict()}")
120
121
# Set different timeout for cloud vs local services
121
- timeout = 180 if is_cloud else 120
122
+ timeout = 300 if is_cloud else 300
123
124
# Prepare headers
125
headers = {"Content-Type": "application/json"}
backend/app/integrations/copilot_mcp/services/example_questions.py
+25
@@ -156,6 +156,23 @@ class ExampleQuestionsService:
156
category="threat_intel",
157
),
158
],
159
+ MCPServerType.CYBER_NEWS: [
160
+ ExampleQuestion(
161
+ question="What are the latest cyber threat headlines?",
162
+ description="Retrieve the most recent headlines related to cyber threats",
163
+ category="cyber_news",
164
+ ),
165
+ ExampleQuestion(
166
+ question="What vulnerabilities were disclosed this week?",
167
+ description="Get a list of vulnerabilities that were made public in the last week",
168
+ category="cyber_news",
169
+ ),
170
+ ExampleQuestion(
171
+ question="Who are the top threat actors currently?",
172
+ description="Identify the most active threat actors based on recent intelligence",
173
+ category="cyber_news",
174
+ ),
175
+ ],
176
}
177
178
# Define server information with descriptions and capabilities
@@ -218,6 +235,14 @@ class ExampleQuestionsService:
235
"File hash and URL analysis",
236
],
237
),
238
+ MCPServerType.CYBER_NEWS: MCPServerInfo(
239
+ name="Cyber News",
240
+ value=MCPServerType.CYBER_NEWS.value,
241
+ description="Access the latest news and updates related to cyber threats and vulnerabilities",
242
+ capabilities=[
243
+ "Vulnerability disclosure tracking",
244
+ ],
245
+ ),
246
}
247
248
@classmethod