@ayazdata/trace-mcp 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +89 -32
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,28 +1,26 @@
1
- # Trace MCP Server
1
+ # @ayazdata/trace-mcp
2
2
 
3
- Connect Claude Code, Codex, and Gemini to [Trace](https://trace.akpinar.dev) malware analysis platform.
3
+ MCP server for [Trace](https://trace.akpinar.dev) — AI-powered malware analysis platform.
4
+ Connects Claude Code, Codex CLI, and Gemini CLI directly to a Trace instance.
4
5
 
5
- ## Install Claude Code
6
+ > **Live instance:** `https://trace.akpinar.dev`
7
+ > **npm:** `@ayazdata/trace-mcp`
6
8
 
7
- ```bash
8
- claude mcp add trace \
9
- -e TRACE_URL=https://trace.akpinar.dev \
10
- -e TRACE_TOKEN=your_token_here \
11
- -- npx -y trace-mcp
12
- ```
9
+ ---
10
+
11
+ ## Quick Install
13
12
 
14
- Or for the public instance (no token required):
13
+ ### Claude Code
15
14
  ```bash
16
- claude mcp add trace -e TRACE_URL=https://trace.akpinar.dev -- npx -y trace-mcp
15
+ claude mcp add trace -e TRACE_URL=https://trace.akpinar.dev -- npx -y @ayazdata/trace-mcp
17
16
  ```
18
17
 
19
- ## Install — Codex CLI
20
-
18
+ ### Codex CLI
21
19
  Add to `~/.codex/config.toml`:
22
20
  ```toml
23
21
  [mcp_servers.trace]
24
22
  command = "npx"
25
- args = ["-y", "trace-mcp"]
23
+ args = ["-y", "@ayazdata/trace-mcp"]
26
24
  startup_timeout_sec = 15
27
25
 
28
26
  [mcp_servers.trace.env]
@@ -30,15 +28,14 @@ TRACE_URL = "https://trace.akpinar.dev"
30
28
  TRACE_TOKEN = ""
31
29
  ```
32
30
 
33
- ## Install — Gemini CLI
34
-
31
+ ### Gemini CLI
35
32
  Add to `~/.gemini/settings.json`:
36
33
  ```json
37
34
  {
38
35
  "mcpServers": {
39
36
  "trace": {
40
37
  "command": "npx",
41
- "args": ["-y", "trace-mcp"],
38
+ "args": ["-y", "@ayazdata/trace-mcp"],
42
39
  "env": {
43
40
  "TRACE_URL": "https://trace.akpinar.dev",
44
41
  "TRACE_TOKEN": ""
@@ -48,28 +45,88 @@ Add to `~/.gemini/settings.json`:
48
45
  }
49
46
  ```
50
47
 
48
+ ### Project-level (any tool that supports .mcp.json)
49
+ A `.mcp.json` is included at the repo root — tools that support project-level MCP config will pick it up automatically when you open the project.
50
+
51
+ ---
52
+
51
53
  ## Self-hosted
52
54
 
53
- Replace `https://trace.akpinar.dev` with your own instance URL.
55
+ If you run your own Trace instance, replace the URL:
56
+ ```bash
57
+ claude mcp add trace -e TRACE_URL=http://localhost:8090 -- npx -y @ayazdata/trace-mcp
58
+ ```
59
+
60
+ For authenticated endpoints, generate a JWT token from Trace settings and pass it:
61
+ ```bash
62
+ claude mcp add trace \
63
+ -e TRACE_URL=https://your-instance.com \
64
+ -e TRACE_TOKEN=your_jwt_token \
65
+ -- npx -y @ayazdata/trace-mcp
66
+ ```
54
67
 
55
- ## Tools
68
+ ---
56
69
 
57
- | Tool | Description |
70
+ ## Available Tools
71
+
72
+ | Tool | What it does |
58
73
  |------|-------------|
59
- | `trace_upload_file` | Upload file for malware analysis |
60
- | `trace_get_analysis` | Full analysis results (risk score, YARA, MITRE, IOCs) |
61
- | `trace_list_analyses` | List recent analyses |
62
- | `trace_get_iocs` | Extract IOCs from analysis |
63
- | `trace_get_sigma_matches` | Sigma rule matches |
64
- | `trace_get_ai_summary` | AI-generated threat summary |
65
- | `trace_lookup_hash` | SHA256 threat intel lookup |
66
- | `trace_dashboard_stats` | Dashboard statistics |
67
- | `trace_get_mitre` | Top MITRE ATT&CK techniques |
68
- | `trace_get_process_tree` | Process execution tree |
74
+ | `trace_upload_file` | Upload a local file for malware analysis. Returns `analysis_id`. |
75
+ | `trace_get_analysis` | Full results for an analysis risk score, YARA hits, MITRE techniques, IOCs, AI summary. |
76
+ | `trace_list_analyses` | List recent analyses. Filter by `risk_level` or `status`. |
77
+ | `trace_get_iocs` | Extract IOCs (IPs, domains, hashes, URLs, registry keys) from an analysis. |
78
+ | `trace_get_sigma_matches` | Sigma detection rules that triggered on a sample. |
79
+ | `trace_get_ai_summary` | AI-generated threat narrative for an analysis. |
80
+ | `trace_lookup_hash` | Threat intel lookup for a SHA256 hash (VirusTotal + internal DB). |
81
+ | `trace_dashboard_stats` | Platform-wide stats: total analyses, risk distribution, detection rates. |
82
+ | `trace_get_mitre` | Top MITRE ATT&CK techniques observed across all analyses. |
83
+ | `trace_get_process_tree` | Process execution tree from dynamic/sandbox analysis. |
84
+
85
+ ---
86
+
87
+ ## Telegram Bot — @Ayaz_Trace_Bot
88
+
89
+ Trace also ships a Telegram bot for on-the-go analysis.
90
+
91
+ **Start:** Search `@Ayaz_Trace_Bot` on Telegram or open [t.me/Ayaz_Trace_Bot](https://t.me/Ayaz_Trace_Bot)
92
+
93
+ ### Commands
94
+
95
+ | Command | Description |
96
+ |---------|-------------|
97
+ | `/start` | Welcome message and usage guide |
98
+ | `/help` | Same as /start |
99
+ | `/set_detail short` | Receive compact analysis reports |
100
+ | `/set_detail detailed` | Receive full analysis reports (default) |
101
+
102
+ ### Usage
103
+
104
+ 1. Send any file **as a Document** (not compressed) — the bot queues it for analysis.
105
+ 2. When analysis completes, you get a notification with risk score, threat level, and detections.
106
+ 3. High-risk files trigger a quarantine alert automatically.
107
+
108
+ > URL scanning is not yet supported. Send files directly.
109
+
110
+ ### Self-hosting the bot
111
+
112
+ Set `TELEGRAM_BOT_TOKEN` in your `.env` before starting the stack:
113
+ ```env
114
+ TELEGRAM_BOT_TOKEN=your_bot_token_here
115
+ ```
116
+ The bot starts automatically with the backend on `docker compose up`.
117
+
118
+ ---
69
119
 
70
120
  ## Environment Variables
71
121
 
72
122
  | Variable | Default | Description |
73
123
  |----------|---------|-------------|
74
- | `TRACE_URL` | `http://localhost:8090` | Trace instance URL |
75
- | `TRACE_TOKEN` | _(empty)_ | JWT token for authenticated endpoints |
124
+ | `TRACE_URL` | `http://localhost:8090` | Trace instance base URL |
125
+ | `TRACE_TOKEN` | *(empty)* | JWT token — required only for auth-protected endpoints |
126
+
127
+ ---
128
+
129
+ ## Requirements
130
+
131
+ - Node.js 18+
132
+ - A running Trace instance (or use the live one at `trace.akpinar.dev`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ayazdata/trace-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "MCP server for Trace Malware Analysis Platform — connect Claude, Codex, and Gemini to your Trace instance",
5
5
  "type": "module",
6
6
  "bin": {