@4da/mcp-server 4.3.0 → 4.6.0

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 (202) hide show
  1. package/README.md +61 -81
  2. package/dist/db.d.ts +12 -1
  3. package/dist/db.d.ts.map +1 -1
  4. package/dist/db.js +71 -8
  5. package/dist/db.js.map +1 -1
  6. package/dist/index.d.ts +9 -14
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +12 -17
  9. package/dist/index.js.map +1 -1
  10. package/dist/live/crates-registry.d.ts +18 -0
  11. package/dist/live/crates-registry.d.ts.map +1 -0
  12. package/dist/live/crates-registry.js +133 -0
  13. package/dist/live/crates-registry.js.map +1 -0
  14. package/dist/live/go-registry.d.ts +19 -0
  15. package/dist/live/go-registry.d.ts.map +1 -0
  16. package/dist/live/go-registry.js +127 -0
  17. package/dist/live/go-registry.js.map +1 -0
  18. package/dist/live/http-utils.d.ts +3 -0
  19. package/dist/live/http-utils.d.ts.map +1 -0
  20. package/dist/live/http-utils.js +20 -0
  21. package/dist/live/http-utils.js.map +1 -0
  22. package/dist/live/index.d.ts +7 -2
  23. package/dist/live/index.d.ts.map +1 -1
  24. package/dist/live/index.js +71 -0
  25. package/dist/live/index.js.map +1 -1
  26. package/dist/live/npm-registry.d.ts +19 -0
  27. package/dist/live/npm-registry.d.ts.map +1 -0
  28. package/dist/live/npm-registry.js +132 -0
  29. package/dist/live/npm-registry.js.map +1 -0
  30. package/dist/live/osv-scanner.d.ts.map +1 -1
  31. package/dist/live/osv-scanner.js +1 -10
  32. package/dist/live/osv-scanner.js.map +1 -1
  33. package/dist/live/pypi-registry.d.ts +18 -0
  34. package/dist/live/pypi-registry.d.ts.map +1 -0
  35. package/dist/live/pypi-registry.js +142 -0
  36. package/dist/live/pypi-registry.js.map +1 -0
  37. package/dist/live/rate-limiter.d.ts +12 -0
  38. package/dist/live/rate-limiter.d.ts.map +1 -1
  39. package/dist/live/rate-limiter.js +4 -0
  40. package/dist/live/rate-limiter.js.map +1 -1
  41. package/dist/live/semver-utils.d.ts +5 -0
  42. package/dist/live/semver-utils.d.ts.map +1 -0
  43. package/dist/live/semver-utils.js +28 -0
  44. package/dist/live/semver-utils.js.map +1 -0
  45. package/dist/live/types.d.ts +41 -0
  46. package/dist/live/types.d.ts.map +1 -1
  47. package/dist/schema-registry.d.ts +4 -2
  48. package/dist/schema-registry.d.ts.map +1 -1
  49. package/dist/schema-registry.js +55 -221
  50. package/dist/schema-registry.js.map +1 -1
  51. package/dist/schemas/dependency-health.json +27 -0
  52. package/dist/schemas/upgrade-planner.json +22 -0
  53. package/dist/tool-dispatch.d.ts +1 -7
  54. package/dist/tool-dispatch.d.ts.map +1 -1
  55. package/dist/tool-dispatch.js +14 -46
  56. package/dist/tool-dispatch.js.map +1 -1
  57. package/dist/tools/dependency-health.d.ts +45 -0
  58. package/dist/tools/dependency-health.d.ts.map +1 -0
  59. package/dist/tools/dependency-health.js +152 -0
  60. package/dist/tools/dependency-health.js.map +1 -0
  61. package/dist/tools/index.d.ts +13 -40
  62. package/dist/tools/index.d.ts.map +1 -1
  63. package/dist/tools/index.js +18 -52
  64. package/dist/tools/index.js.map +1 -1
  65. package/dist/tools/upgrade-planner.d.ts +59 -0
  66. package/dist/tools/upgrade-planner.d.ts.map +1 -0
  67. package/dist/tools/upgrade-planner.js +167 -0
  68. package/dist/tools/upgrade-planner.js.map +1 -0
  69. package/dist/tools/what-should-i-know.d.ts +4 -12
  70. package/dist/tools/what-should-i-know.d.ts.map +1 -1
  71. package/dist/tools/what-should-i-know.js +11 -102
  72. package/dist/tools/what-should-i-know.js.map +1 -1
  73. package/package.json +2 -2
  74. package/dist/schemas/agent-feedback-stats.json +0 -14
  75. package/dist/schemas/agent-session-brief.json +0 -25
  76. package/dist/schemas/attention-report.json +0 -13
  77. package/dist/schemas/autophagy-status.json +0 -13
  78. package/dist/schemas/compound-advantage.json +0 -14
  79. package/dist/schemas/config-validator.json +0 -18
  80. package/dist/schemas/context-analysis.json +0 -25
  81. package/dist/schemas/daily-briefing.json +0 -34
  82. package/dist/schemas/decision-windows.json +0 -22
  83. package/dist/schemas/delegation-score.json +0 -18
  84. package/dist/schemas/explain-relevance.json +0 -19
  85. package/dist/schemas/export-context.json +0 -17
  86. package/dist/schemas/llm-status.json +0 -13
  87. package/dist/schemas/preemption-feed.json +0 -18
  88. package/dist/schemas/project-health.json +0 -13
  89. package/dist/schemas/record-agent-feedback.json +0 -28
  90. package/dist/schemas/reverse-mentions.json +0 -13
  91. package/dist/schemas/score-autopsy.json +0 -30
  92. package/dist/schemas/semantic-shifts.json +0 -17
  93. package/dist/schemas/signal-chains.json +0 -19
  94. package/dist/schemas/source-health.json +0 -17
  95. package/dist/schemas/tech-radar.json +0 -23
  96. package/dist/schemas/topic-connections.json +0 -34
  97. package/dist/schemas/trend-analysis.json +0 -29
  98. package/dist/schemas/trust-summary.json +0 -13
  99. package/dist/tools/agent-feedback-stats.d.ts +0 -30
  100. package/dist/tools/agent-feedback-stats.d.ts.map +0 -1
  101. package/dist/tools/agent-feedback-stats.js +0 -41
  102. package/dist/tools/agent-feedback-stats.js.map +0 -1
  103. package/dist/tools/agent-session-brief.d.ts +0 -44
  104. package/dist/tools/agent-session-brief.d.ts.map +0 -1
  105. package/dist/tools/agent-session-brief.js +0 -179
  106. package/dist/tools/agent-session-brief.js.map +0 -1
  107. package/dist/tools/attention-report.d.ts +0 -40
  108. package/dist/tools/attention-report.d.ts.map +0 -1
  109. package/dist/tools/attention-report.js +0 -73
  110. package/dist/tools/attention-report.js.map +0 -1
  111. package/dist/tools/autophagy-status.d.ts +0 -25
  112. package/dist/tools/autophagy-status.d.ts.map +0 -1
  113. package/dist/tools/autophagy-status.js +0 -56
  114. package/dist/tools/autophagy-status.js.map +0 -1
  115. package/dist/tools/compound-advantage.d.ts +0 -30
  116. package/dist/tools/compound-advantage.d.ts.map +0 -1
  117. package/dist/tools/compound-advantage.js +0 -133
  118. package/dist/tools/compound-advantage.js.map +0 -1
  119. package/dist/tools/config-validator.d.ts +0 -59
  120. package/dist/tools/config-validator.d.ts.map +0 -1
  121. package/dist/tools/config-validator.js +0 -417
  122. package/dist/tools/config-validator.js.map +0 -1
  123. package/dist/tools/context-analysis.d.ts +0 -108
  124. package/dist/tools/context-analysis.d.ts.map +0 -1
  125. package/dist/tools/context-analysis.js +0 -301
  126. package/dist/tools/context-analysis.js.map +0 -1
  127. package/dist/tools/daily-briefing.d.ts +0 -103
  128. package/dist/tools/daily-briefing.d.ts.map +0 -1
  129. package/dist/tools/daily-briefing.js +0 -294
  130. package/dist/tools/daily-briefing.js.map +0 -1
  131. package/dist/tools/decision-windows.d.ts +0 -37
  132. package/dist/tools/decision-windows.d.ts.map +0 -1
  133. package/dist/tools/decision-windows.js +0 -67
  134. package/dist/tools/decision-windows.js.map +0 -1
  135. package/dist/tools/delegation-score.d.ts +0 -34
  136. package/dist/tools/delegation-score.d.ts.map +0 -1
  137. package/dist/tools/delegation-score.js +0 -260
  138. package/dist/tools/delegation-score.js.map +0 -1
  139. package/dist/tools/explain-relevance.d.ts +0 -36
  140. package/dist/tools/explain-relevance.d.ts.map +0 -1
  141. package/dist/tools/explain-relevance.js +0 -51
  142. package/dist/tools/explain-relevance.js.map +0 -1
  143. package/dist/tools/export-context.d.ts +0 -60
  144. package/dist/tools/export-context.d.ts.map +0 -1
  145. package/dist/tools/export-context.js +0 -179
  146. package/dist/tools/export-context.js.map +0 -1
  147. package/dist/tools/llm-status.d.ts +0 -45
  148. package/dist/tools/llm-status.d.ts.map +0 -1
  149. package/dist/tools/llm-status.js +0 -93
  150. package/dist/tools/llm-status.js.map +0 -1
  151. package/dist/tools/muse-context.d.ts +0 -195
  152. package/dist/tools/muse-context.d.ts.map +0 -1
  153. package/dist/tools/muse-context.js +0 -284
  154. package/dist/tools/muse-context.js.map +0 -1
  155. package/dist/tools/preemption-feed.d.ts +0 -55
  156. package/dist/tools/preemption-feed.d.ts.map +0 -1
  157. package/dist/tools/preemption-feed.js +0 -124
  158. package/dist/tools/preemption-feed.js.map +0 -1
  159. package/dist/tools/project-health.d.ts +0 -53
  160. package/dist/tools/project-health.d.ts.map +0 -1
  161. package/dist/tools/project-health.js +0 -122
  162. package/dist/tools/project-health.js.map +0 -1
  163. package/dist/tools/record-agent-feedback.d.ts +0 -46
  164. package/dist/tools/record-agent-feedback.d.ts.map +0 -1
  165. package/dist/tools/record-agent-feedback.js +0 -71
  166. package/dist/tools/record-agent-feedback.js.map +0 -1
  167. package/dist/tools/reverse-mentions.d.ts +0 -38
  168. package/dist/tools/reverse-mentions.d.ts.map +0 -1
  169. package/dist/tools/reverse-mentions.js +0 -75
  170. package/dist/tools/reverse-mentions.js.map +0 -1
  171. package/dist/tools/score-autopsy.d.ts +0 -93
  172. package/dist/tools/score-autopsy.d.ts.map +0 -1
  173. package/dist/tools/score-autopsy.js +0 -295
  174. package/dist/tools/score-autopsy.js.map +0 -1
  175. package/dist/tools/semantic-shifts.d.ts +0 -53
  176. package/dist/tools/semantic-shifts.d.ts.map +0 -1
  177. package/dist/tools/semantic-shifts.js +0 -74
  178. package/dist/tools/semantic-shifts.js.map +0 -1
  179. package/dist/tools/signal-chains.d.ts +0 -52
  180. package/dist/tools/signal-chains.d.ts.map +0 -1
  181. package/dist/tools/signal-chains.js +0 -63
  182. package/dist/tools/signal-chains.js.map +0 -1
  183. package/dist/tools/source-health.d.ts +0 -64
  184. package/dist/tools/source-health.d.ts.map +0 -1
  185. package/dist/tools/source-health.js +0 -205
  186. package/dist/tools/source-health.js.map +0 -1
  187. package/dist/tools/tech-radar.d.ts +0 -38
  188. package/dist/tools/tech-radar.d.ts.map +0 -1
  189. package/dist/tools/tech-radar.js +0 -249
  190. package/dist/tools/tech-radar.js.map +0 -1
  191. package/dist/tools/topic-connections.d.ts +0 -112
  192. package/dist/tools/topic-connections.d.ts.map +0 -1
  193. package/dist/tools/topic-connections.js +0 -319
  194. package/dist/tools/topic-connections.js.map +0 -1
  195. package/dist/tools/trend-analysis.d.ts +0 -105
  196. package/dist/tools/trend-analysis.d.ts.map +0 -1
  197. package/dist/tools/trend-analysis.js +0 -296
  198. package/dist/tools/trend-analysis.js.map +0 -1
  199. package/dist/tools/trust-summary.d.ts +0 -38
  200. package/dist/tools/trust-summary.d.ts.map +0 -1
  201. package/dist/tools/trust-summary.js +0 -89
  202. package/dist/tools/trust-summary.js.map +0 -1
package/README.md CHANGED
@@ -5,17 +5,17 @@
5
5
  [![Node](https://img.shields.io/badge/Node-%3E%3D18-brightgreen)](https://nodejs.org/)
6
6
  [![smithery badge](https://smithery.ai/badge/@4da/mcp-server)](https://smithery.ai/server/@4da/mcp-server)
7
7
 
8
- **MCP server that scans your dependencies for known CVEs. Auto-detects your stack, queries OSV.dev, returns severity + fix versions. Zero config, privacy-first.**
8
+ **Dependency intelligence for AI coding agents.** Live CVE scanning, dependency health checks, upgrade planning, ecosystem news, and persistent decision memory. Zero config, privacy-first.
9
9
 
10
10
  ```
11
- You: "Scan my project for vulnerabilities"
12
- Claude: Found 3 advisories affecting your dependencies:
11
+ You: "Check my dependency health"
12
+ Claude: Health: 72/100. 47 dependencies scanned, 3 vulnerable, 1 deprecated, 8 outdated.
13
13
 
14
- CRITICAL openssl-sys 0.9.93 CVE-2025-4231 -> upgrade to 0.9.96
15
- HIGH serde 1.0.197 RUSTSEC-2026-12 -> upgrade to 1.0.210
16
- MEDIUM cookie 0.17.0 RUSTSEC-2025-81 -> upgrade to 0.18.1
14
+ CRITICAL openssl-sys 0.9.93 CVE-2025-4231 -> 0.9.96
15
+ HIGH serde 1.0.197 RUSTSEC-2026-12 -> 1.0.210
16
+ MEDIUM cookie 0.17.0 deprecated -> 0.18.1
17
17
 
18
- 45 dependencies scanned across npm + crates.io in 1.2s
18
+ Quick wins: 6 patch upgrades, 2 minor. Run upgrade_planner for full plan.
19
19
  ```
20
20
 
21
21
  One command to install. No API keys. No accounts. No code leaves your machine.
@@ -83,97 +83,76 @@ npx @4da/mcp-server --setup
83
83
  ```
84
84
  </details>
85
85
 
86
- Then ask your AI: **"Scan my project for vulnerabilities"**
86
+ Then ask your AI: **"Check my dependency health"** or **"Scan for vulnerabilities"**
87
87
 
88
88
  ## How It Works
89
89
 
90
- On first run, the server reads your manifest and lock files (`package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`), resolves exact dependency versions, and queries [OSV.dev](https://osv.dev) for known vulnerabilities. Results include CVE/GHSA IDs, CVSS scores, severity ratings, fix versions, and upgrade recommendations.
90
+ On startup, the server reads your manifest and lock files (`package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`), resolves exact dependency versions, and queries live APIs:
91
91
 
92
- **What's sent over the network:** package names + versions. That's it. The same data visible in your `package.json`. No source code, no file paths, no personal data. Set `FOURDA_OFFLINE=true` to disable all network calls.
92
+ - **OSV.dev** for known CVEs across all ecosystems
93
+ - **npm registry** for version freshness, deprecation status, and weekly downloads
94
+ - **crates.io sparse index** for Rust package versions (avoids the 1 req/s API limit)
95
+ - **PyPI JSON API** for Python package metadata with license normalization
96
+ - **Go module proxy** for Go module versions
97
+ - **Hacker News Algolia API** for ecosystem news filtered by your tech stack
98
+
99
+ Results are cached (24h for registry data, 1h for vulnerabilities, 30min for news) and rate-limited per source.
100
+
101
+ **What's sent over the network:** package names + versions, generic tech keywords. The same data visible in your `package.json`. No source code, no file paths, no personal data. Set `FOURDA_OFFLINE=true` to disable all network calls.
93
102
 
94
103
  **Ecosystems supported:** npm, crates.io (Rust), PyPI (Python), Go.
95
104
 
96
105
  ## What You Can Ask
97
106
 
98
107
  ```
99
- "Scan my project for vulnerabilities" -> vulnerability_scan
108
+ "Check my dependency health" -> dependency_health
109
+ "Scan for vulnerabilities" -> vulnerability_scan
110
+ "Which deps should I upgrade first?" -> upgrade_planner
111
+ "What should I know before I start coding?" -> what_should_i_know
112
+ "What's happening in the ecosystem?" -> ecosystem_pulse
100
113
  "What's my tech stack?" -> get_context
101
- "What are my knowledge gaps?" -> knowledge_gaps
102
- "Any security issues in my dependencies?" -> project_health
103
114
  "Record a decision: we chose Postgres" -> decision_memory
104
- "Export my developer profile" -> developer_dna
105
- "What should I know before I start coding?" -> what_should_i_know
115
+ "Does switching to MySQL align?" -> check_decision_alignment
116
+ "Remember: never use ORM for batch inserts" -> agent_memory
106
117
  ```
107
118
 
108
- ## All 36 Tools
119
+ ## All 14 Tools
109
120
 
110
- ### Security
121
+ ### Dependency Security
111
122
 
112
- | Tool | Description |
123
+ | Tool | What it does |
113
124
  |------|-------------|
114
- | `vulnerability_scan` | Scan dependencies for known CVEs via OSV.dev. Zero config. npm, Rust, Python, Go. |
115
- | `project_health` | Dependency inventory + security score + vulnerable package list |
116
- | `get_actionable_signals` | Classified alerts: security advisories, breaking changes, trending repos |
125
+ | `vulnerability_scan` | Live CVE scanning via OSV.dev. Severity, fix versions, CVSS scores. |
126
+ | `dependency_health` | Health score (0-100) + version freshness, deprecation, CVE counts per dependency. |
127
+ | `upgrade_planner` | Ranked upgrade recommendations. Quick wins vs. breaking changes. Risk-sorted. |
117
128
 
118
- ### Project Context
129
+ ### Intelligence
119
130
 
120
- | Tool | Description |
131
+ | Tool | What it does |
121
132
  |------|-------------|
122
- | `get_context` | Your tech stack, interests, affinities, ACE-detected topics |
123
- | `developer_dna` | Full tech identity: primary stack, dependencies, engagement patterns, blind spots |
124
- | `knowledge_gaps` | Dependencies you use daily but never read about |
125
- | `export_context_packet` | Portable context snapshot for session or agent handoff |
133
+ | `what_should_i_know` | Pre-task intelligence briefing: vulns, decisions, signals, ecosystem updates. |
134
+ | `ecosystem_pulse` | Live ecosystem news from Hacker News, filtered by your detected tech stack. |
135
+ | `get_context` | Your tech stack, resolved dependency versions, interests, affinities. |
136
+ | `get_relevant_content`* | Scored content feed — articles, advisories, releases ranked by relevance. |
137
+ | `get_actionable_signals`* | Classified alerts: security advisories, breaking changes, trending repos. |
138
+ | `knowledge_gaps`* | Dependencies you use daily but never read about. Surfaces missed CVEs and updates. |
139
+ | `record_feedback`* | Save or dismiss items to teach 4DA what matters. Sharpens future scoring. |
126
140
 
127
- ### Decision Memory
141
+ ### Decisions & Memory
128
142
 
129
- | Tool | Description |
143
+ | Tool | What it does |
130
144
  |------|-------------|
131
- | `decision_memory` | Record, query, and enforce architectural decisions across sessions |
132
- | `tech_radar` | Technology adoption signals from your decisions + content trends |
133
- | `check_decision_alignment` | Verify if a proposed change aligns with your recorded decisions |
145
+ | `decision_memory` | Record, query, and manage architectural decisions across sessions. |
146
+ | `check_decision_alignment` | Verify if a proposed technology change aligns with recorded decisions. |
147
+ | `agent_memory` | Persistent memory that survives across sessions, agents, and editors. |
134
148
 
135
- ### Agent Autonomy
149
+ ### Identity
136
150
 
137
- | Tool | Description |
151
+ | Tool | What it does |
138
152
  |------|-------------|
139
- | `agent_memory` | Persistent memory that survives across sessions, agents, and editors |
140
- | `agent_session_brief` | Tailored startup context so agents resume where you left off |
141
- | `delegation_score` | Autonomy assessment: should the agent proceed or ask the human? |
142
- | `what_should_i_know` | Pre-task intelligence briefing: advisories, decisions, signals |
143
- | `record_agent_feedback` | Record whether agent recommendations were used or rejected |
144
- | `get_agent_feedback_stats` | Agent recommendation accuracy: source usefulness, top items, trends |
153
+ | `developer_dna`* | Your tech identity: primary stack, engagement patterns, blind spots. |
145
154
 
146
- ### Content Intelligence
147
-
148
- Requires the [4DA desktop app](https://4da.ai) for full functionality. These tools score and analyze content from Hacker News, GitHub, arXiv, Reddit, and 7 other sources against your tech stack.
149
-
150
- | Tool | Description |
151
- |------|-------------|
152
- | `get_relevant_content` | Filtered content feed: only items that pass the 5-axis scoring gate |
153
- | `daily_briefing` | AI-generated executive summary of today's discoveries |
154
- | `explain_relevance` | Full axis breakdown of why a specific item scored the way it did |
155
- | `record_feedback` | Teach 4DA what matters: save, dismiss, or mark items irrelevant |
156
- | `score_autopsy` | Forensic analysis of how any item's relevance score was computed |
157
- | `trend_analysis` | Statistical patterns, anomalies, and predictions across your feed |
158
- | `context_analysis` | Recommendations to sharpen your scoring context |
159
- | `topic_connections` | Knowledge graph of how your content topics relate |
160
- | `signal_chains` | Causal chains connecting related events across sources over time |
161
- | `semantic_shifts` | Detects when topics you follow are shifting in meaning or sentiment |
162
- | `attention_report` | Where you spend attention vs. where your codebase actually needs it |
163
- | `preemption_feed` | Forward-looking alerts on risks and ecosystem shifts affecting your stack |
164
- | `trust_summary` | Intelligence quality metrics: precision, action rate, false positives |
165
- | `reverse_mentions` | Where your projects are being discussed across monitored sources |
166
- | `autophagy_status` | Self-cleaning intelligence health: calibration accuracy, anti-patterns |
167
- | `decision_windows` | Time-bounded opportunities that need your attention now |
168
- | `compound_advantage` | How much intelligence leverage your decisions are generating |
169
-
170
- ### Diagnostic
171
-
172
- | Tool | Description |
173
- |------|-------------|
174
- | `source_health` | Source fetching status and data quality diagnostics |
175
- | `config_validator` | Configuration validation and issue detection |
176
- | `llm_status` | LLM and Ollama provider availability check |
155
+ *\* Requires the [4DA desktop app](https://4da.ai) for full data.*
177
156
 
178
157
  ## Standalone vs. Full Mode
179
158
 
@@ -182,14 +161,15 @@ The MCP server works without the desktop app. On first run it creates a local da
182
161
  | Capability | Standalone | With 4DA Desktop |
183
162
  |------------|-----------|-------------------|
184
163
  | Vulnerability scanning (OSV.dev) | Yes | Yes |
185
- | Tech stack detection | Yes | Yes |
186
- | Project health + dependency inventory | Yes | Yes |
187
- | Knowledge gaps | Yes | Yes |
188
- | Decision memory | Yes | Yes |
189
- | Agent memory | Yes | Yes |
190
- | Content scoring (HN, GitHub, arXiv, etc.) | -- | Yes |
191
- | Daily AI briefings | -- | Yes |
192
- | Trend analysis + signal chains | -- | Yes |
164
+ | Dependency health (4 registries) | Yes | Yes |
165
+ | Upgrade planner | Yes | Yes |
166
+ | Ecosystem news (Hacker News) | Yes | Yes |
167
+ | Pre-task intelligence briefing | Yes | Yes |
168
+ | Tech stack detection + resolved versions | Yes | Yes |
169
+ | Decision memory + alignment checking | Yes | Yes |
170
+ | Agent memory (cross-session) | Yes | Yes |
171
+ | Scored content feed (20+ sources) | -- | Yes |
172
+ | Actionable signals + knowledge gaps | -- | Yes |
193
173
  | Compound intelligence (learns over time) | -- | Yes |
194
174
 
195
175
  > **[Download 4DA](https://github.com/runyourempire/4DA/releases/latest)** for the full experience.
@@ -226,10 +206,10 @@ npx @4da/mcp-server --version # Print version
226
206
  ## FAQ
227
207
 
228
208
  **Does this send my code anywhere?**
229
- No. The vulnerability scanner sends package names and versions to [OSV.dev](https://osv.dev) -- the same public manifest data visible in your `package.json`. No source code, no file paths, no personal data. Everything else runs entirely locally. Set `FOURDA_OFFLINE=true` to disable all network calls.
209
+ No. The server sends package names and versions to public APIs ([OSV.dev](https://osv.dev), npm registry, crates.io, PyPI, Go proxy) and generic tech keywords to [HN Algolia](https://hn.algolia.com/api). The same public data visible in your `package.json`. No source code, no file paths, no personal data. Set `FOURDA_OFFLINE=true` to disable all network calls.
230
210
 
231
211
  **Do I need the 4DA desktop app?**
232
- No. The MCP server works standalone: vulnerability scanning, tech stack detection, dependency health, knowledge gaps, decision memory, and agent memory all work immediately. The desktop app adds content intelligence from 10+ sources that compounds over time.
212
+ No. 9 tools work standalone: vulnerability scanning, dependency health, upgrade planning, ecosystem news, pre-task briefings, project context, decision memory, alignment checking, and agent memory. The desktop app adds scored content from 20+ sources that compounds over time.
233
213
 
234
214
  **Which AI tools does this work with?**
235
215
  Any tool that supports [MCP](https://modelcontextprotocol.io): Claude Code, Claude Desktop, Cursor, Windsurf, VS Code (Copilot), and any custom MCP client.
package/dist/db.d.ts CHANGED
@@ -66,9 +66,20 @@ export declare class FourDADatabase {
66
66
  */
67
67
  queryWithRetry<T>(fn: () => T, maxRetries?: number): T;
68
68
  /**
69
- * Get relevant content items with computed relevance scores
69
+ * Get relevant content items scored by the Rust pipeline (preferred) or
70
+ * TypeScript fallback scoring when Rust scores are unavailable.
70
71
  */
71
72
  getRelevantContent(minScore?: number, sourceType?: string, limit?: number, sinceHours?: number): RelevantItem[];
73
+ private hasColumn;
74
+ /**
75
+ * Use Rust-computed relevance_score from the desktop app's scoring pipeline.
76
+ * These scores are from the full 5-axis PASIFA engine — much more accurate.
77
+ */
78
+ private getRelevantContentFromRust;
79
+ /**
80
+ * Fallback: TypeScript keyword scoring for standalone mode (no Rust pipeline).
81
+ */
82
+ private getRelevantContentFallback;
72
83
  /**
73
84
  * Get a single source item by ID and type
74
85
  */
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/db.js CHANGED
@@ -611,16 +611,82 @@ export class FourDADatabase {
611
611
  // Source Items
612
612
  // ===========================================================================
613
613
  /**
614
- * Get relevant content items with computed relevance scores
614
+ * Get relevant content items scored by the Rust pipeline (preferred) or
615
+ * TypeScript fallback scoring when Rust scores are unavailable.
615
616
  */
616
617
  getRelevantContent(minScore = 0.35, sourceType, limit = 20, sinceHours = 24) {
617
618
  const sinceDate = new Date(Date.now() - sinceHours * 60 * 60 * 1000)
618
619
  .toISOString()
619
620
  .replace("T", " ")
620
621
  .slice(0, 19);
621
- // Get user context for scoring
622
+ const hasRustScores = this.hasColumn("source_items", "relevance_score");
623
+ if (hasRustScores) {
624
+ return this.getRelevantContentFromRust(minScore, sourceType, limit, sinceDate);
625
+ }
626
+ return this.getRelevantContentFallback(minScore, sourceType, limit, sinceDate);
627
+ }
628
+ hasColumn(table, column) {
629
+ try {
630
+ const cols = this.db.pragma(`table_info(${table})`);
631
+ return cols.some((c) => c.name === column);
632
+ }
633
+ catch {
634
+ return false;
635
+ }
636
+ }
637
+ /**
638
+ * Use Rust-computed relevance_score from the desktop app's scoring pipeline.
639
+ * These scores are from the full 5-axis PASIFA engine — much more accurate.
640
+ */
641
+ getRelevantContentFromRust(minScore, sourceType, limit, sinceDate) {
642
+ let query = `
643
+ SELECT id, source_type, source_id, url, title, content, content_hash,
644
+ created_at, last_seen, relevance_score, content_type
645
+ FROM source_items
646
+ WHERE relevance_score >= ?
647
+ AND datetime(created_at) >= datetime(?)
648
+ `;
649
+ const params = [minScore, sinceDate];
650
+ if (sourceType) {
651
+ query += ` AND source_type = ?`;
652
+ params.push(sourceType);
653
+ }
654
+ query += ` ORDER BY relevance_score DESC LIMIT ?`;
655
+ params.push(limit);
656
+ const stmt = this.db.prepare(query);
657
+ const items = stmt.all(...params);
658
+ const now = Date.now();
659
+ return items.map((item) => {
660
+ const createdAt = new Date(item.created_at.replace(" ", "T") + "Z");
661
+ const hoursAgo = Math.round((now - createdAt.getTime()) / (1000 * 60 * 60));
662
+ const discoveredAgo = hoursAgo < 1
663
+ ? "< 1 hour ago"
664
+ : hoursAgo < 24
665
+ ? `${hoursAgo} hours ago`
666
+ : `${Math.round(hoursAgo / 24)} days ago`;
667
+ const necessity = this.getNecessityForItem(item.id);
668
+ return {
669
+ id: item.id,
670
+ source_type: item.source_type,
671
+ source_id: item.source_id,
672
+ url: item.url,
673
+ title: item.title,
674
+ content: item.content.substring(0, 500),
675
+ relevance_score: Math.round(item.relevance_score * 100) / 100,
676
+ created_at: item.created_at,
677
+ discovered_ago: discoveredAgo,
678
+ necessity_score: necessity.score,
679
+ necessity_reason: necessity.reason,
680
+ necessity_category: necessity.category,
681
+ necessity_urgency: necessity.urgency,
682
+ };
683
+ });
684
+ }
685
+ /**
686
+ * Fallback: TypeScript keyword scoring for standalone mode (no Rust pipeline).
687
+ */
688
+ getRelevantContentFallback(minScore, sourceType, limit, sinceDate) {
622
689
  const context = this.getUserContext(true, true);
623
- // Build query - get recent items
624
690
  let query = `
625
691
  SELECT id, source_type, source_id, url, title, content, content_hash, created_at, last_seen
626
692
  FROM source_items
@@ -632,10 +698,9 @@ export class FourDADatabase {
632
698
  params.push(sourceType);
633
699
  }
634
700
  query += ` ORDER BY created_at DESC LIMIT ?`;
635
- params.push(limit * 5); // Get more to filter
701
+ params.push(limit * 5);
636
702
  const stmt = this.db.prepare(query);
637
703
  const items = stmt.all(...params);
638
- // Compute relevance scores and filter
639
704
  const scoredItems = [];
640
705
  const now = Date.now();
641
706
  for (const item of items) {
@@ -648,7 +713,6 @@ export class FourDADatabase {
648
713
  : hoursAgo < 24
649
714
  ? `${hoursAgo} hours ago`
650
715
  : `${Math.round(hoursAgo / 24)} days ago`;
651
- // Look up persisted necessity scores from Rust analysis pipeline
652
716
  const necessity = this.getNecessityForItem(item.id);
653
717
  scoredItems.push({
654
718
  id: item.id,
@@ -656,7 +720,7 @@ export class FourDADatabase {
656
720
  source_id: item.source_id,
657
721
  url: item.url,
658
722
  title: item.title,
659
- content: item.content.substring(0, 500), // Truncate for readability
723
+ content: item.content.substring(0, 500),
660
724
  relevance_score: Math.round(score * 100) / 100,
661
725
  created_at: item.created_at,
662
726
  discovered_ago: discoveredAgo,
@@ -667,7 +731,6 @@ export class FourDADatabase {
667
731
  });
668
732
  }
669
733
  }
670
- // Sort by relevance and limit
671
734
  return scoredItems
672
735
  .sort((a, b) => b.relevance_score - a.relevance_score)
673
736
  .slice(0, limit);
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,23 +12,18 @@
12
12
  * Do NOT expose this server over a network without adding proper auth.
13
13
  */
14
14
  /**
15
- * 4DA MCP Server v4.3.0 — Dependency Intelligence Platform
15
+ * 4DA MCP Server v4.6.0 — Dependency Intelligence for AI Coding Agents
16
16
  *
17
- * 37 tools across 9 categories. Live vulnerability scanning (OSV.dev),
18
- * ecosystem news, persistent project memory, and tech stack awareness for any MCP host.
17
+ * 14 tools across 5 categories. Live vulnerability scanning (OSV.dev),
18
+ * ecosystem news, persistent memory, and tech stack awareness for any MCP host.
19
19
  *
20
20
  * Categories (canonical — matches schema-registry.ts `ToolCategory`):
21
- * Core (4) — content feed, context, relevance, feedback
22
- * Intelligence (11) — briefings, signals, autopsy, trends, topics,
23
- * chains, shifts, attention, trust, preemption
24
- * Diagnostic (3) — source health, config, LLM status
25
- * Knowledge & Health (4) — gaps, project health, mentions, context export
26
- * Decision Intelligence (3) — decision memory, tech radar, alignment checks
27
- * Agent Autonomy (6) — persistent memory, session briefs, delegation,
28
- * agent feedback record + stats, what_should_i_know
29
- * Developer DNA / Identity (1)— tech identity profile
30
- * Intelligence Metabolism (3) — autophagy, decision windows, compound advantage
31
- * Security (1) — live vulnerability scanning via OSV.dev
21
+ * Security (3) — vulnerability scanning, dependency health, upgrade planning
22
+ * Intelligence (7) — briefing, ecosystem pulse, context, content feed,
23
+ * actionable signals, knowledge gaps, feedback
24
+ * Decisions (2) — decision memory, alignment checking
25
+ * Agent (1) — cross-session persistent memory
26
+ * Identity (1) — developer DNA profile
32
27
  */
33
28
  export {};
34
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;;;;GAkBG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;GAaG"}
package/dist/index.js CHANGED
@@ -13,23 +13,18 @@
13
13
  * Do NOT expose this server over a network without adding proper auth.
14
14
  */
15
15
  /**
16
- * 4DA MCP Server v4.3.0 — Dependency Intelligence Platform
16
+ * 4DA MCP Server v4.6.0 — Dependency Intelligence for AI Coding Agents
17
17
  *
18
- * 37 tools across 9 categories. Live vulnerability scanning (OSV.dev),
19
- * ecosystem news, persistent project memory, and tech stack awareness for any MCP host.
18
+ * 14 tools across 5 categories. Live vulnerability scanning (OSV.dev),
19
+ * ecosystem news, persistent memory, and tech stack awareness for any MCP host.
20
20
  *
21
21
  * Categories (canonical — matches schema-registry.ts `ToolCategory`):
22
- * Core (4) — content feed, context, relevance, feedback
23
- * Intelligence (11) — briefings, signals, autopsy, trends, topics,
24
- * chains, shifts, attention, trust, preemption
25
- * Diagnostic (3) — source health, config, LLM status
26
- * Knowledge & Health (4) — gaps, project health, mentions, context export
27
- * Decision Intelligence (3) — decision memory, tech radar, alignment checks
28
- * Agent Autonomy (6) — persistent memory, session briefs, delegation,
29
- * agent feedback record + stats, what_should_i_know
30
- * Developer DNA / Identity (1)— tech identity profile
31
- * Intelligence Metabolism (3) — autophagy, decision windows, compound advantage
32
- * Security (1) — live vulnerability scanning via OSV.dev
22
+ * Security (3) — vulnerability scanning, dependency health, upgrade planning
23
+ * Intelligence (7) — briefing, ecosystem pulse, context, content feed,
24
+ * actionable signals, knowledge gaps, feedback
25
+ * Decisions (2) — decision memory, alignment checking
26
+ * Agent (1) — cross-session persistent memory
27
+ * Identity (1) — developer DNA profile
33
28
  */
34
29
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
35
30
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
@@ -56,7 +51,7 @@ import { createDatabase, FourDADatabase } from "./db.js";
56
51
  // =============================================================================
57
52
  const server = new Server({
58
53
  name: "4da-server",
59
- version: "4.3.0",
54
+ version: "4.6.0",
60
55
  }, {
61
56
  capabilities: {
62
57
  tools: { listChanged: true },
@@ -273,7 +268,7 @@ async function main() {
273
268
  const args = process.argv.slice(2);
274
269
  // Version
275
270
  if (args.includes("--version") || args.includes("-v")) {
276
- console.log("@4da/mcp-server 4.3.0");
271
+ console.log("@4da/mcp-server 4.6.0");
277
272
  return;
278
273
  }
279
274
  // Help
@@ -362,7 +357,7 @@ async function main() {
362
357
  process.exit(0);
363
358
  });
364
359
  const toolCount = getSlimToolList().length;
365
- console.error(`4DA MCP Server v4.3.0 started — ${toolCount} tools, stdio transport`);
360
+ console.error(`4DA MCP Server v4.6.0 started — ${toolCount} tools, stdio transport`);
366
361
  console.error(" Use --http for Streamable HTTP, --setup to configure editors, --doctor to check health");
367
362
  }
368
363
  main().catch((error) => {