DarkNOC South Africa
A demo-ready incident workbench where operators build a ticket package from map evidence, then hand the same grounded context to Codex, Claude, Cursor, Pilot, or content agents through clean MCP URLs.
Try The Live NOC
Open the incident map, create or select a ticket, draw the area, and collect evidence from overlays, wizards, panels, and raster picks.
Connect Admin MCP
Give Codex, Claude, Cursor, or Pilot a clean URL for package readiness, missing context, ticket exports, and operational handoff.
Connect Content MCP
Turn the populated ticket into grounded blogs, short clips, GIF-like guides, decks, press notes, and vendor demo scripts.
Capture Visual Proof
Use browser WebMCP to snapshot map moments, record guided clips, attach evidence, and preserve source/caveat metadata.
Drive The Visible GUI
Agents can switch mode, open panels, toggle overlays, focus a point, and frame bounds before capture.
Capture Map Evidence
Agents can take PNG snapshots, start/stop browser-approved WebM clips, and list recent visual moments.
Build GIF / Story Plans
Agents can produce a GIF-like frame plan, then use the content tools to turn ticket evidence into blogs, videos, decks, or demos.
Attach To Ticket
Visual moments and reports can be written back only through browser confirmation against the active ticket.
One MCP Endpoint
Admin and content work use the same serverless MCP URL. The difference is the prompt or tool you call, not a different URL. This matches the deployed-project model: one country/domain, one endpoint, many workflows.
http://localhost:3001/api/mcp
https://sa.darknoc.net/api/mcp
http://localhost:3001/mcp.json
Operations MCP Workflow
Use the single project MCP URL for ticket package inspection, package readiness, missing context, simulator health, Pilot handoff, and normal NOC analysis.
Prompt results come back to Codex, Claude, Cursor, or curl as result.messages[0].content.text. Tool calls return result.structuredContent.
Content / Story Workflow
Use the same MCP URL and the content prompts/tools for blogs, short videos, GIF-like clips, presentations, animations, press notes, vendor demos, and content packs grounded in a completed ticket.
Content prompt results return in the MCP client as a ready brief. Content tool calls return structured asset plans with storyboard moments, production notes, citations, and guardrail status.
Cursor Config
Put this in the project MCP config. The country/project is selected by the deployed domain and environment; no profile or deployment query string is needed.
{
"mcpServers": {
"darknoc": {
"url": "http://localhost:3001/api/mcp"
}
}
}Where The Input Comes From
- 1. Create or select a ticket in the app. The ticket is the source of truth for incident, polygon/area, panel captures, raster picks, affected sites, notes, and agent reports.
- 2. Populate the ticket from the map. Collect coverage, demand/headroom, population, POIs, alarms, sites, remediation, and wizard outputs before asking content agents to write.
- 3. Give MCP the ticket context. Use
ticket=...andincidentId=...for a specific case, or pass acontextobject in tool/prompt arguments. The market deployment is locked by the project/domain. - 4. Use browser WebMCP for pixels. Serverless MCP can read structured ticket data; the live browser bridge captures map screenshots, short clips, raster-pick moments, and visual evidence.
First Prompt For Admin MCP
Use the darknoc MCP. Read darknoc://agent-workbench/workspace-guide and darknoc://agent-workbench/auth-policy. Call agent_validate_context_package first. If blocked, call ticket_get_missing_context and ticket_get_handoff_path. Then call agent_prepare_prompt with targetAgent="codex" or "claude". Use ticket_get_package as the source of truth. Do not invent missing panel/raster evidence.
curl -X POST 'http://localhost:3001/api/mcp' \
-H 'content-type: application/json' \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"prompts/get",
"params":{
"name":"incident_context_audit",
"arguments":{
"context":{"ticket":{"id":"tkt_demo","title":"Demo incident","workflowType":"incident_response","state":"building","contributionCount":5}}
}
}
}'
Result path: result.messages[0].content.textFirst Prompt For Content MCP
Use the darknoc MCP. Read darknoc://agent-workbench/content-mcp-guide and darknoc://agent-workbench/demo-policy. Call enterprise_content_prompt or content_prepare_creation_brief. Arguments: assetType="blog|video_clip|gif|presentation|animation|press_note|vendor_demo|content_pack", targetAudience, storyAngle. Use the fully populated ticket package as source material. For visual claims, use the live browser WebMCP tool story_prepare_artifact_manifest, then capture snapshots or short guided clips. Include this disclaimer in public/demo output: Vodacom is used only as a South Africa demo label. DarkNOC is not affiliated with, endorsed by, or representing Vodacom, Vodacom Group, Vodafone, or any mobile network operator. Demo outputs combine simulator state, local spatial files, and public/open sources; they are not operator-confidential records.
curl -X POST 'http://localhost:3001/api/mcp' \
-H 'content-type: application/json' \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"prompts/get",
"params":{
"name":"enterprise_content_prompt",
"arguments":{
"targetAgent":"cursor",
"assetType":"video_clip",
"targetAudience":"vendor demo",
"storyAngle":"show how the ticket evidence explains the incident and next actions"
}
}
}'Deployment Model
Treat each market as its own product deployment. The domain and env choose the country, operator label, data sources, disclaimer, and enabled deployment. The MCP URLs stay clean because the project already knows its market.
curl 'http://localhost:3001/api/mcp/deployment-readiness'