@4da/mcp-server 4.0.0 → 4.1.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.
- package/LICENSE +1 -1
- package/README.md +160 -85
- package/dist/auth.d.ts +36 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +82 -0
- package/dist/auth.js.map +1 -0
- package/dist/db.d.ts +73 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +607 -4
- package/dist/db.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +33 -7
- package/dist/doctor.js.map +1 -1
- package/dist/http-transport.d.ts.map +1 -1
- package/dist/http-transport.js +19 -2
- package/dist/http-transport.js.map +1 -1
- package/dist/index.d.ts +15 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -325
- package/dist/index.js.map +1 -1
- package/dist/live/cache.d.ts +16 -0
- package/dist/live/cache.d.ts.map +1 -0
- package/dist/live/cache.js +61 -0
- package/dist/live/cache.js.map +1 -0
- package/dist/live/hn-fetcher.d.ts +19 -0
- package/dist/live/hn-fetcher.d.ts.map +1 -0
- package/dist/live/hn-fetcher.js +123 -0
- package/dist/live/hn-fetcher.js.map +1 -0
- package/dist/live/index.d.ts +55 -0
- package/dist/live/index.d.ts.map +1 -0
- package/dist/live/index.js +131 -0
- package/dist/live/index.js.map +1 -0
- package/dist/live/osv-scanner.d.ts +19 -0
- package/dist/live/osv-scanner.d.ts.map +1 -0
- package/dist/live/osv-scanner.js +197 -0
- package/dist/live/osv-scanner.js.map +1 -0
- package/dist/live/rate-limiter.d.ts +19 -0
- package/dist/live/rate-limiter.d.ts.map +1 -0
- package/dist/live/rate-limiter.js +52 -0
- package/dist/live/rate-limiter.js.map +1 -0
- package/dist/live/types.d.ts +89 -0
- package/dist/live/types.d.ts.map +1 -0
- package/dist/live/types.js +3 -0
- package/dist/live/types.js.map +1 -0
- package/dist/live/version-resolver.d.ts +11 -0
- package/dist/live/version-resolver.d.ts.map +1 -0
- package/dist/live/version-resolver.js +321 -0
- package/dist/live/version-resolver.js.map +1 -0
- package/dist/live-singleton.d.ts +9 -0
- package/dist/live-singleton.d.ts.map +1 -0
- package/dist/live-singleton.js +14 -0
- package/dist/live-singleton.js.map +1 -0
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +3 -2
- package/dist/llm.js.map +1 -1
- package/dist/output-manager.d.ts.map +1 -1
- package/dist/output-manager.js +1 -0
- package/dist/output-manager.js.map +1 -1
- package/dist/project-scanner.d.ts +27 -0
- package/dist/project-scanner.d.ts.map +1 -0
- package/dist/project-scanner.js +366 -0
- package/dist/project-scanner.js.map +1 -0
- package/dist/schema-registry.d.ts +31 -13
- package/dist/schema-registry.d.ts.map +1 -1
- package/dist/schema-registry.js +164 -32
- package/dist/schema-registry.js.map +1 -1
- package/dist/schemas/agent-feedback-stats.json +14 -0
- package/dist/schemas/preemption-feed.json +18 -0
- package/dist/schemas/record-agent-feedback.json +28 -0
- package/dist/schemas/trust-summary.json +13 -0
- package/dist/schemas/vulnerability-scan.json +26 -0
- package/dist/schemas/what-should-i-know.json +19 -0
- package/dist/setup.d.ts +2 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +38 -4
- package/dist/setup.js.map +1 -1
- package/dist/tool-dispatch.d.ts +33 -0
- package/dist/tool-dispatch.d.ts.map +1 -0
- package/dist/tool-dispatch.js +87 -0
- package/dist/tool-dispatch.js.map +1 -0
- package/dist/tools/agent-feedback-stats.d.ts +30 -0
- package/dist/tools/agent-feedback-stats.d.ts.map +1 -0
- package/dist/tools/agent-feedback-stats.js +41 -0
- package/dist/tools/agent-feedback-stats.js.map +1 -0
- package/dist/tools/agent-memory.d.ts.map +1 -1
- package/dist/tools/agent-memory.js +33 -0
- package/dist/tools/agent-memory.js.map +1 -1
- package/dist/tools/agent-session-brief.d.ts.map +1 -1
- package/dist/tools/agent-session-brief.js +1 -0
- package/dist/tools/agent-session-brief.js.map +1 -1
- package/dist/tools/attention-report.d.ts.map +1 -1
- package/dist/tools/attention-report.js +1 -0
- package/dist/tools/attention-report.js.map +1 -1
- package/dist/tools/autophagy-status.d.ts.map +1 -1
- package/dist/tools/autophagy-status.js.map +1 -1
- package/dist/tools/compound-advantage.d.ts +3 -0
- package/dist/tools/compound-advantage.d.ts.map +1 -1
- package/dist/tools/compound-advantage.js +67 -10
- package/dist/tools/compound-advantage.js.map +1 -1
- package/dist/tools/config-validator.d.ts.map +1 -1
- package/dist/tools/config-validator.js +31 -0
- package/dist/tools/config-validator.js.map +1 -1
- package/dist/tools/context-analysis.d.ts.map +1 -1
- package/dist/tools/context-analysis.js +1 -0
- package/dist/tools/context-analysis.js.map +1 -1
- package/dist/tools/daily-briefing.d.ts.map +1 -1
- package/dist/tools/daily-briefing.js +17 -1
- package/dist/tools/daily-briefing.js.map +1 -1
- package/dist/tools/decision-enforcement.d.ts.map +1 -1
- package/dist/tools/decision-enforcement.js +1 -0
- package/dist/tools/decision-enforcement.js.map +1 -1
- package/dist/tools/decision-memory.d.ts +2 -0
- package/dist/tools/decision-memory.d.ts.map +1 -1
- package/dist/tools/decision-memory.js +80 -0
- package/dist/tools/decision-memory.js.map +1 -1
- package/dist/tools/decision-windows.d.ts.map +1 -1
- package/dist/tools/decision-windows.js.map +1 -1
- package/dist/tools/delegation-score.d.ts.map +1 -1
- package/dist/tools/delegation-score.js +1 -0
- package/dist/tools/delegation-score.js.map +1 -1
- package/dist/tools/developer-dna.d.ts.map +1 -1
- package/dist/tools/developer-dna.js +1 -0
- package/dist/tools/developer-dna.js.map +1 -1
- package/dist/tools/explain-relevance.d.ts.map +1 -1
- package/dist/tools/explain-relevance.js +1 -0
- package/dist/tools/explain-relevance.js.map +1 -1
- package/dist/tools/export-context.d.ts +9 -0
- package/dist/tools/export-context.d.ts.map +1 -1
- package/dist/tools/export-context.js +45 -1
- package/dist/tools/export-context.js.map +1 -1
- package/dist/tools/get-actionable-signals.d.ts.map +1 -1
- package/dist/tools/get-actionable-signals.js +60 -9
- package/dist/tools/get-actionable-signals.js.map +1 -1
- package/dist/tools/get-context.d.ts.map +1 -1
- package/dist/tools/get-context.js +1 -0
- package/dist/tools/get-context.js.map +1 -1
- package/dist/tools/get-relevant-content.d.ts.map +1 -1
- package/dist/tools/get-relevant-content.js +3 -0
- package/dist/tools/get-relevant-content.js.map +1 -1
- package/dist/tools/index.d.ts +16 -16
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +21 -16
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/knowledge-gaps.d.ts.map +1 -1
- package/dist/tools/knowledge-gaps.js +9 -3
- package/dist/tools/knowledge-gaps.js.map +1 -1
- package/dist/tools/llm-status.d.ts.map +1 -1
- package/dist/tools/llm-status.js +1 -0
- package/dist/tools/llm-status.js.map +1 -1
- package/dist/tools/muse-context.d.ts +195 -0
- package/dist/tools/muse-context.d.ts.map +1 -0
- package/dist/tools/muse-context.js +284 -0
- package/dist/tools/muse-context.js.map +1 -0
- package/dist/tools/preemption-feed.d.ts +55 -0
- package/dist/tools/preemption-feed.d.ts.map +1 -0
- package/dist/tools/preemption-feed.js +124 -0
- package/dist/tools/preemption-feed.js.map +1 -0
- package/dist/tools/project-health.d.ts +6 -0
- package/dist/tools/project-health.d.ts.map +1 -1
- package/dist/tools/project-health.js +49 -10
- package/dist/tools/project-health.js.map +1 -1
- package/dist/tools/record-agent-feedback.d.ts +46 -0
- package/dist/tools/record-agent-feedback.d.ts.map +1 -0
- package/dist/tools/record-agent-feedback.js +71 -0
- package/dist/tools/record-agent-feedback.js.map +1 -0
- package/dist/tools/record-feedback.d.ts.map +1 -1
- package/dist/tools/record-feedback.js +1 -0
- package/dist/tools/record-feedback.js.map +1 -1
- package/dist/tools/reverse-mentions.d.ts.map +1 -1
- package/dist/tools/reverse-mentions.js +1 -0
- package/dist/tools/reverse-mentions.js.map +1 -1
- package/dist/tools/score-autopsy.d.ts.map +1 -1
- package/dist/tools/score-autopsy.js +1 -0
- package/dist/tools/score-autopsy.js.map +1 -1
- package/dist/tools/semantic-shifts.d.ts.map +1 -1
- package/dist/tools/semantic-shifts.js +1 -0
- package/dist/tools/semantic-shifts.js.map +1 -1
- package/dist/tools/signal-chains.d.ts.map +1 -1
- package/dist/tools/signal-chains.js +5 -2
- package/dist/tools/signal-chains.js.map +1 -1
- package/dist/tools/source-health.d.ts.map +1 -1
- package/dist/tools/source-health.js +1 -0
- package/dist/tools/source-health.js.map +1 -1
- package/dist/tools/tech-radar.d.ts.map +1 -1
- package/dist/tools/tech-radar.js +1 -0
- package/dist/tools/tech-radar.js.map +1 -1
- package/dist/tools/topic-connections.d.ts.map +1 -1
- package/dist/tools/topic-connections.js +1 -0
- package/dist/tools/topic-connections.js.map +1 -1
- package/dist/tools/trend-analysis.d.ts.map +1 -1
- package/dist/tools/trend-analysis.js +1 -0
- package/dist/tools/trend-analysis.js.map +1 -1
- package/dist/tools/trust-summary.d.ts +38 -0
- package/dist/tools/trust-summary.d.ts.map +1 -0
- package/dist/tools/trust-summary.js +89 -0
- package/dist/tools/trust-summary.js.map +1 -0
- package/dist/tools/vulnerability-scan.d.ts +89 -0
- package/dist/tools/vulnerability-scan.d.ts.map +1 -0
- package/dist/tools/vulnerability-scan.js +127 -0
- package/dist/tools/vulnerability-scan.js.map +1 -0
- package/dist/tools/what-should-i-know.d.ts +79 -0
- package/dist/tools/what-should-i-know.d.ts.map +1 -0
- package/dist/tools/what-should-i-know.js +376 -0
- package/dist/tools/what-should-i-know.js.map +1 -0
- package/dist/types.d.ts +112 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +35 -18
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// SPDX-License-Identifier: FSL-1.1-Apache-2.0
|
|
2
3
|
/**
|
|
3
4
|
* 4DA MCP Server - Internal Use Only
|
|
4
5
|
*
|
|
@@ -12,26 +13,23 @@
|
|
|
12
13
|
* Do NOT expose this server over a network without adding proper auth.
|
|
13
14
|
*/
|
|
14
15
|
/**
|
|
15
|
-
* 4DA MCP Server v4.
|
|
16
|
+
* 4DA MCP Server v4.1.0 — Intelligence Platform
|
|
16
17
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
18
|
+
* 36 tools across 9 categories. Live vulnerability scanning (OSV.dev),
|
|
19
|
+
* persistent project memory, and tech stack awareness for any MCP host.
|
|
19
20
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* - topic_connections: Build knowledge graphs from content (AI-powered)
|
|
33
|
-
* - config_validator: Validate configuration and detect issues
|
|
34
|
-
* - llm_status: Check LLM configuration and Ollama availability
|
|
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
|
|
35
33
|
*/
|
|
36
34
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
37
35
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -43,36 +41,93 @@ import { homedir } from "node:os";
|
|
|
43
41
|
import { startHttpServer } from "./http-transport.js";
|
|
44
42
|
import { runSetup } from "./setup.js";
|
|
45
43
|
import { runDoctor } from "./doctor.js";
|
|
46
|
-
|
|
47
|
-
import {
|
|
44
|
+
import { scanCurrentProject } from "./project-scanner.js";
|
|
45
|
+
import { LiveIntelligence } from "./live/index.js";
|
|
46
|
+
import { setLiveIntelligence } from "./live-singleton.js";
|
|
47
|
+
// Schema registry for slim tool listing + category metadata
|
|
48
|
+
import { getSlimToolList, getSchemaResources, hasToolSchema, getSchemaFilename, getCategoryManifest } from "./schema-registry.js";
|
|
49
|
+
// Map-based tool dispatch (replaces per-tool imports + switch statement)
|
|
50
|
+
import { dispatchTool } from "./tool-dispatch.js";
|
|
48
51
|
const __filename = fileURLToPath(import.meta.url);
|
|
49
52
|
const __dirname = dirname(__filename);
|
|
50
53
|
import { createDatabase, FourDADatabase } from "./db.js";
|
|
51
|
-
// Core Tools
|
|
52
|
-
import { executeGetRelevantContent, executeGetContext, executeExplainRelevance, executeRecordFeedback, } from "./tools/index.js";
|
|
53
|
-
// Superpower Tools
|
|
54
|
-
import { executeScoreAutopsy, executeTrendAnalysis, executeDailyBriefing, executeContextAnalysis, executeSourceHealth, executeTopicConnections, executeConfigValidator, executeLLMStatus, executeGetActionableSignals, executeExportContextPacket, executeKnowledgeGaps, executeSignalChains, executeSemanticShifts, executeReverseMentions, executeAttentionReport, executeProjectHealth, executeDecisionMemory, executeTechRadar, executeCheckDecisionAlignment, executeAgentMemory, executeAgentSessionBrief, executeDelegationScore, executeDeveloperDna, executeAutophagyStatus, executeDecisionWindows, executeCompoundAdvantage, } from "./tools/index.js";
|
|
55
54
|
// =============================================================================
|
|
56
55
|
// Server Setup
|
|
57
56
|
// =============================================================================
|
|
58
57
|
const server = new Server({
|
|
59
58
|
name: "4da-server",
|
|
60
|
-
version: "4.
|
|
59
|
+
version: "4.1.0",
|
|
61
60
|
}, {
|
|
62
61
|
capabilities: {
|
|
63
|
-
tools: {},
|
|
64
|
-
resources: {},
|
|
62
|
+
tools: { listChanged: true },
|
|
63
|
+
resources: {},
|
|
65
64
|
},
|
|
66
65
|
});
|
|
67
66
|
// Database instance (lazy initialized)
|
|
68
67
|
let db = null;
|
|
68
|
+
let liveIntel = null;
|
|
69
69
|
/**
|
|
70
|
-
* Get or create database connection
|
|
70
|
+
* Get or create database connection.
|
|
71
|
+
* In standalone mode (no existing 4DA database), creates a minimal database
|
|
72
|
+
* and populates it from the current working directory's project files.
|
|
71
73
|
*/
|
|
72
74
|
function getDatabase() {
|
|
73
75
|
if (!db) {
|
|
74
76
|
const dbPath = process.env.FOURDA_DB_PATH;
|
|
75
77
|
db = createDatabase(dbPath);
|
|
78
|
+
// Initialize live intelligence layer
|
|
79
|
+
liveIntel = new LiveIntelligence(db.getRawDb());
|
|
80
|
+
setLiveIntelligence(liveIntel);
|
|
81
|
+
// Standalone mode: auto-populate from project scan
|
|
82
|
+
if (db.isStandalone) {
|
|
83
|
+
const cwd = process.cwd();
|
|
84
|
+
const scan = scanCurrentProject(cwd);
|
|
85
|
+
db.populateFromScan(scan);
|
|
86
|
+
const detected = [
|
|
87
|
+
...scan.languages,
|
|
88
|
+
...scan.frameworks,
|
|
89
|
+
].filter(Boolean);
|
|
90
|
+
console.error(`[4DA] Standalone mode: scanned ${scan.projectPath}`);
|
|
91
|
+
if (detected.length > 0) {
|
|
92
|
+
console.error(`[4DA] Detected: ${detected.join(", ")} | ${scan.dependencies.length} deps, ${scan.devDependencies.length} dev deps`);
|
|
93
|
+
// Initialize live intelligence with resolved versions
|
|
94
|
+
const primaryLang = scan.languages.includes("typescript") || scan.languages.includes("javascript")
|
|
95
|
+
? "npm"
|
|
96
|
+
: scan.languages.includes("rust")
|
|
97
|
+
? "rust"
|
|
98
|
+
: scan.languages.includes("python")
|
|
99
|
+
? "python"
|
|
100
|
+
: scan.languages.includes("go")
|
|
101
|
+
? "go"
|
|
102
|
+
: "npm";
|
|
103
|
+
liveIntel.initFromProject(cwd, scan.dependencies, scan.devDependencies, primaryLang);
|
|
104
|
+
if (liveIntel.isEnabled()) {
|
|
105
|
+
console.error(`[4DA] Live intelligence: enabled (OSV.dev + HN)`);
|
|
106
|
+
// Background prefetch — non-blocking, warms cache for first tool call
|
|
107
|
+
const techStack = [...scan.languages, ...scan.frameworks];
|
|
108
|
+
liveIntel.scanVulnerabilities(cwd).catch(() => { });
|
|
109
|
+
liveIntel.fetchHeadlines(techStack).catch(() => { });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.error(`[4DA] No project manifests found in ${cwd} — tools will return empty results`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// Full 4DA database mode — still initialize live intel from project_dependencies
|
|
118
|
+
try {
|
|
119
|
+
const rawDb = db.getRawDb();
|
|
120
|
+
const deps = rawDb.prepare("SELECT DISTINCT package_name, language FROM project_dependencies WHERE is_dev = 0 LIMIT 200").all();
|
|
121
|
+
const devDeps = rawDb.prepare("SELECT DISTINCT package_name FROM project_dependencies WHERE is_dev = 1 LIMIT 100").all();
|
|
122
|
+
if (deps.length > 0) {
|
|
123
|
+
const primaryLang = deps[0].language || "npm";
|
|
124
|
+
liveIntel.initFromProject(process.cwd(), deps.map((d) => d.package_name), devDeps.map((d) => d.package_name), primaryLang);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Non-fatal — live intel just won't have version data
|
|
129
|
+
}
|
|
130
|
+
}
|
|
76
131
|
}
|
|
77
132
|
return db;
|
|
78
133
|
}
|
|
@@ -106,6 +161,13 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
|
106
161
|
description: "Registry of 4DA skills for Claude Code agent dispatch",
|
|
107
162
|
mimeType: "application/json",
|
|
108
163
|
},
|
|
164
|
+
// Category manifest for tool discovery
|
|
165
|
+
{
|
|
166
|
+
uri: "4da://categories",
|
|
167
|
+
name: "Tool categories",
|
|
168
|
+
description: "Tool groupings by category with tag metadata",
|
|
169
|
+
mimeType: "application/json",
|
|
170
|
+
},
|
|
109
171
|
];
|
|
110
172
|
return { resources };
|
|
111
173
|
});
|
|
@@ -114,6 +176,18 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
|
114
176
|
*/
|
|
115
177
|
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
116
178
|
const uri = request.params.uri;
|
|
179
|
+
// Handle category manifest
|
|
180
|
+
if (uri === "4da://categories") {
|
|
181
|
+
return {
|
|
182
|
+
contents: [
|
|
183
|
+
{
|
|
184
|
+
uri,
|
|
185
|
+
mimeType: "application/json",
|
|
186
|
+
text: JSON.stringify(getCategoryManifest(), null, 2),
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
};
|
|
190
|
+
}
|
|
117
191
|
// Handle skill manifest
|
|
118
192
|
if (uri === "4da://skills") {
|
|
119
193
|
const skillsPath = join(homedir(), ".local", "share", "4da", "skills", "registry.json");
|
|
@@ -164,300 +238,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
164
238
|
const { name, arguments: args } = request.params;
|
|
165
239
|
try {
|
|
166
240
|
const database = getDatabase();
|
|
167
|
-
|
|
168
|
-
case "get_relevant_content": {
|
|
169
|
-
const params = (args || {});
|
|
170
|
-
const result = executeGetRelevantContent(database, params);
|
|
171
|
-
return {
|
|
172
|
-
content: [
|
|
173
|
-
{
|
|
174
|
-
type: "text",
|
|
175
|
-
text: JSON.stringify(result, null, 2),
|
|
176
|
-
},
|
|
177
|
-
],
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
case "get_context": {
|
|
181
|
-
const params = (args || {});
|
|
182
|
-
const result = executeGetContext(database, params);
|
|
183
|
-
return {
|
|
184
|
-
content: [
|
|
185
|
-
{
|
|
186
|
-
type: "text",
|
|
187
|
-
text: JSON.stringify(result, null, 2),
|
|
188
|
-
},
|
|
189
|
-
],
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
case "explain_relevance": {
|
|
193
|
-
const params = (args || {});
|
|
194
|
-
const result = executeExplainRelevance(database, params);
|
|
195
|
-
return {
|
|
196
|
-
content: [
|
|
197
|
-
{
|
|
198
|
-
type: "text",
|
|
199
|
-
text: JSON.stringify(result, null, 2),
|
|
200
|
-
},
|
|
201
|
-
],
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
case "record_feedback": {
|
|
205
|
-
const params = (args || {});
|
|
206
|
-
const result = executeRecordFeedback(database, params);
|
|
207
|
-
return {
|
|
208
|
-
content: [
|
|
209
|
-
{
|
|
210
|
-
type: "text",
|
|
211
|
-
text: JSON.stringify(result, null, 2),
|
|
212
|
-
},
|
|
213
|
-
],
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
// =========================================================================
|
|
217
|
-
// Superpower Tools (async with LLM synthesis)
|
|
218
|
-
// =========================================================================
|
|
219
|
-
case "score_autopsy": {
|
|
220
|
-
const params = (args || {});
|
|
221
|
-
const result = await executeScoreAutopsy(database, params);
|
|
222
|
-
return {
|
|
223
|
-
content: [
|
|
224
|
-
{
|
|
225
|
-
type: "text",
|
|
226
|
-
text: JSON.stringify(result, null, 2),
|
|
227
|
-
},
|
|
228
|
-
],
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
case "trend_analysis": {
|
|
232
|
-
const params = (args || {});
|
|
233
|
-
const result = await executeTrendAnalysis(database, params);
|
|
234
|
-
return {
|
|
235
|
-
content: [
|
|
236
|
-
{
|
|
237
|
-
type: "text",
|
|
238
|
-
text: JSON.stringify(result, null, 2),
|
|
239
|
-
},
|
|
240
|
-
],
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
case "daily_briefing": {
|
|
244
|
-
const params = (args || {});
|
|
245
|
-
const result = await executeDailyBriefing(database, params);
|
|
246
|
-
return {
|
|
247
|
-
content: [
|
|
248
|
-
{
|
|
249
|
-
type: "text",
|
|
250
|
-
text: JSON.stringify(result, null, 2),
|
|
251
|
-
},
|
|
252
|
-
],
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
case "context_analysis": {
|
|
256
|
-
const params = (args || {});
|
|
257
|
-
const result = await executeContextAnalysis(database, params);
|
|
258
|
-
return {
|
|
259
|
-
content: [
|
|
260
|
-
{
|
|
261
|
-
type: "text",
|
|
262
|
-
text: JSON.stringify(result, null, 2),
|
|
263
|
-
},
|
|
264
|
-
],
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
case "source_health": {
|
|
268
|
-
const params = (args || {});
|
|
269
|
-
const result = executeSourceHealth(database, params);
|
|
270
|
-
return {
|
|
271
|
-
content: [
|
|
272
|
-
{
|
|
273
|
-
type: "text",
|
|
274
|
-
text: JSON.stringify(result, null, 2),
|
|
275
|
-
},
|
|
276
|
-
],
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
case "topic_connections": {
|
|
280
|
-
const params = (args || {});
|
|
281
|
-
const result = await executeTopicConnections(database, params);
|
|
282
|
-
return {
|
|
283
|
-
content: [
|
|
284
|
-
{
|
|
285
|
-
type: "text",
|
|
286
|
-
text: JSON.stringify(result, null, 2),
|
|
287
|
-
},
|
|
288
|
-
],
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
case "config_validator": {
|
|
292
|
-
const params = (args || {});
|
|
293
|
-
const result = executeConfigValidator(database, params);
|
|
294
|
-
return {
|
|
295
|
-
content: [
|
|
296
|
-
{
|
|
297
|
-
type: "text",
|
|
298
|
-
text: JSON.stringify(result, null, 2),
|
|
299
|
-
},
|
|
300
|
-
],
|
|
301
|
-
};
|
|
302
|
-
}
|
|
303
|
-
case "llm_status": {
|
|
304
|
-
const params = (args || {});
|
|
305
|
-
const result = await executeLLMStatus(database, params);
|
|
306
|
-
return {
|
|
307
|
-
content: [
|
|
308
|
-
{
|
|
309
|
-
type: "text",
|
|
310
|
-
text: JSON.stringify(result, null, 2),
|
|
311
|
-
},
|
|
312
|
-
],
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
case "get_actionable_signals": {
|
|
316
|
-
const params = (args || {});
|
|
317
|
-
const result = executeGetActionableSignals(database, params);
|
|
318
|
-
return {
|
|
319
|
-
content: [
|
|
320
|
-
{
|
|
321
|
-
type: "text",
|
|
322
|
-
text: JSON.stringify(result, null, 2),
|
|
323
|
-
},
|
|
324
|
-
],
|
|
325
|
-
};
|
|
326
|
-
}
|
|
327
|
-
// =========================================================================
|
|
328
|
-
// Innovation Feature Tools
|
|
329
|
-
// =========================================================================
|
|
330
|
-
case "export_context_packet": {
|
|
331
|
-
const params = (args || {});
|
|
332
|
-
const result = executeExportContextPacket(database, params);
|
|
333
|
-
return {
|
|
334
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
case "knowledge_gaps": {
|
|
338
|
-
const params = (args || {});
|
|
339
|
-
const result = executeKnowledgeGaps(database, params);
|
|
340
|
-
return {
|
|
341
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
case "signal_chains": {
|
|
345
|
-
const params = (args || {});
|
|
346
|
-
const result = executeSignalChains(database, params);
|
|
347
|
-
return {
|
|
348
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
case "semantic_shifts": {
|
|
352
|
-
const params = (args || {});
|
|
353
|
-
const result = executeSemanticShifts(database, params);
|
|
354
|
-
return {
|
|
355
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
356
|
-
};
|
|
357
|
-
}
|
|
358
|
-
case "reverse_mentions": {
|
|
359
|
-
const params = (args || {});
|
|
360
|
-
const result = executeReverseMentions(database, params);
|
|
361
|
-
return {
|
|
362
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
363
|
-
};
|
|
364
|
-
}
|
|
365
|
-
case "attention_report": {
|
|
366
|
-
const params = (args || {});
|
|
367
|
-
const result = executeAttentionReport(database, params);
|
|
368
|
-
return {
|
|
369
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
case "project_health": {
|
|
373
|
-
const params = (args || {});
|
|
374
|
-
const result = executeProjectHealth(database, params);
|
|
375
|
-
return {
|
|
376
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
// =========================================================================
|
|
380
|
-
// Decision Intelligence Tools
|
|
381
|
-
// =========================================================================
|
|
382
|
-
case "decision_memory": {
|
|
383
|
-
const params = (args || {});
|
|
384
|
-
const result = executeDecisionMemory(database, params);
|
|
385
|
-
return {
|
|
386
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
case "tech_radar": {
|
|
390
|
-
const params = (args || {});
|
|
391
|
-
const result = executeTechRadar(database, params);
|
|
392
|
-
return {
|
|
393
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
394
|
-
};
|
|
395
|
-
}
|
|
396
|
-
case "check_decision_alignment": {
|
|
397
|
-
const params = (args || {});
|
|
398
|
-
const result = executeCheckDecisionAlignment(database, params);
|
|
399
|
-
return {
|
|
400
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
401
|
-
};
|
|
402
|
-
}
|
|
403
|
-
// =========================================================================
|
|
404
|
-
// Agent Autonomy Tools
|
|
405
|
-
// =========================================================================
|
|
406
|
-
case "agent_memory": {
|
|
407
|
-
const params = (args || {});
|
|
408
|
-
const result = executeAgentMemory(database, params);
|
|
409
|
-
return {
|
|
410
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
411
|
-
};
|
|
412
|
-
}
|
|
413
|
-
case "agent_session_brief": {
|
|
414
|
-
const params = (args || {});
|
|
415
|
-
const result = executeAgentSessionBrief(database, params);
|
|
416
|
-
return {
|
|
417
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
418
|
-
};
|
|
419
|
-
}
|
|
420
|
-
case "delegation_score": {
|
|
421
|
-
const params = (args || {});
|
|
422
|
-
const result = executeDelegationScore(database, params);
|
|
423
|
-
return {
|
|
424
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
425
|
-
};
|
|
426
|
-
}
|
|
427
|
-
case "developer_dna": {
|
|
428
|
-
const params = (args || {});
|
|
429
|
-
const result = executeDeveloperDna(database, params);
|
|
430
|
-
return {
|
|
431
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
432
|
-
};
|
|
433
|
-
}
|
|
434
|
-
// =========================================================================
|
|
435
|
-
// Intelligence Metabolism Tools
|
|
436
|
-
// =========================================================================
|
|
437
|
-
case "autophagy_status": {
|
|
438
|
-
const params = (args || {});
|
|
439
|
-
const result = executeAutophagyStatus(database, params);
|
|
440
|
-
return {
|
|
441
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
442
|
-
};
|
|
443
|
-
}
|
|
444
|
-
case "decision_windows": {
|
|
445
|
-
const params = (args || {});
|
|
446
|
-
const result = executeDecisionWindows(database, params);
|
|
447
|
-
return {
|
|
448
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
449
|
-
};
|
|
450
|
-
}
|
|
451
|
-
case "compound_advantage": {
|
|
452
|
-
const params = (args || {});
|
|
453
|
-
const result = executeCompoundAdvantage(database, params);
|
|
454
|
-
return {
|
|
455
|
-
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
456
|
-
};
|
|
457
|
-
}
|
|
458
|
-
default:
|
|
459
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
460
|
-
}
|
|
241
|
+
return await dispatchTool(name, database, args);
|
|
461
242
|
}
|
|
462
243
|
catch (error) {
|
|
463
244
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -485,6 +266,41 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
485
266
|
*/
|
|
486
267
|
async function main() {
|
|
487
268
|
const args = process.argv.slice(2);
|
|
269
|
+
// Version
|
|
270
|
+
if (args.includes("--version") || args.includes("-v")) {
|
|
271
|
+
console.log("@4da/mcp-server 4.1.0");
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
// Help
|
|
275
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
276
|
+
console.log(`
|
|
277
|
+
@4da/mcp-server — 36 tools for codebase-aware developer intelligence
|
|
278
|
+
|
|
279
|
+
Usage:
|
|
280
|
+
npx @4da/mcp-server Start MCP server (stdio transport)
|
|
281
|
+
npx @4da/mcp-server --http Start Streamable HTTP transport
|
|
282
|
+
npx @4da/mcp-server --setup Auto-configure your editor
|
|
283
|
+
npx @4da/mcp-server --doctor Check installation health
|
|
284
|
+
npx @4da/mcp-server --version Print version
|
|
285
|
+
|
|
286
|
+
Options:
|
|
287
|
+
--http Use Streamable HTTP instead of stdio
|
|
288
|
+
--port <number> HTTP port (default: 4840)
|
|
289
|
+
--host <address> HTTP bind address (default: 127.0.0.1)
|
|
290
|
+
--setup Detect editors and write MCP config
|
|
291
|
+
--doctor Validate database, bindings, and LLM providers
|
|
292
|
+
|
|
293
|
+
Environment:
|
|
294
|
+
FOURDA_DB_PATH Path to 4DA's SQLite database (auto-detected if omitted)
|
|
295
|
+
FOURDA_OFFLINE Set to "true" to disable all network calls (OSV.dev, HN)
|
|
296
|
+
|
|
297
|
+
Works standalone (scans your project on startup) or with the full
|
|
298
|
+
4DA desktop app for content scoring, source monitoring, and more.
|
|
299
|
+
Desktop app: https://github.com/runyourempire/4DA/releases/latest
|
|
300
|
+
Docs: https://4da.ai
|
|
301
|
+
`);
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
488
304
|
// Setup command: configure editors
|
|
489
305
|
if (args.includes("--setup") || args.includes("setup")) {
|
|
490
306
|
runSetup();
|
|
@@ -511,9 +327,18 @@ async function main() {
|
|
|
511
327
|
if (validation.valid) {
|
|
512
328
|
console.error(`[4DA] Database validated — ${validation.tables?.length ?? 0} tables found`);
|
|
513
329
|
}
|
|
330
|
+
else if (validation.standalone) {
|
|
331
|
+
// No existing DB — standalone mode will create one on first tool call
|
|
332
|
+
console.error(`[4DA] No existing database found — standalone mode enabled.`);
|
|
333
|
+
console.error(` Will scan your project and create a local database on first tool call.`);
|
|
334
|
+
console.error(` For full features, install the 4DA desktop app: https://4da.ai`);
|
|
335
|
+
console.error(``);
|
|
336
|
+
}
|
|
514
337
|
else {
|
|
515
|
-
//
|
|
516
|
-
console.error(`[4DA] Database
|
|
338
|
+
// Database exists but is corrupt or unreadable
|
|
339
|
+
console.error(`[4DA] Database issue: ${validation.error}`);
|
|
340
|
+
console.error(` Or run: npx @4da/mcp-server --doctor for diagnostics`);
|
|
341
|
+
console.error(``);
|
|
517
342
|
}
|
|
518
343
|
// Default: stdio transport (existing behavior)
|
|
519
344
|
const transport = new StdioServerTransport();
|
|
@@ -532,7 +357,7 @@ async function main() {
|
|
|
532
357
|
process.exit(0);
|
|
533
358
|
});
|
|
534
359
|
const toolCount = getSlimToolList().length;
|
|
535
|
-
console.error(`4DA MCP Server v4.
|
|
360
|
+
console.error(`4DA MCP Server v4.1.0 started — ${toolCount} tools, stdio transport`);
|
|
536
361
|
console.error(" Use --http for Streamable HTTP, --setup to configure editors, --doctor to check health");
|
|
537
362
|
}
|
|
538
363
|
main().catch((error) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type Database from "better-sqlite3";
|
|
2
|
+
export declare class LiveCache {
|
|
3
|
+
private db;
|
|
4
|
+
constructor(db: Database.Database);
|
|
5
|
+
private ensureTable;
|
|
6
|
+
get<T>(key: string): T | null;
|
|
7
|
+
getStale<T>(key: string): {
|
|
8
|
+
data: T;
|
|
9
|
+
fetchedAt: string;
|
|
10
|
+
} | null;
|
|
11
|
+
set(key: string, data: unknown, source: string, ttlSeconds: number): void;
|
|
12
|
+
purgeExpired(): number;
|
|
13
|
+
invalidateSource(source: string): void;
|
|
14
|
+
invalidateAll(): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/live/cache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAU3C,qBAAa,SAAS;IACpB,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAMjC,OAAO,CAAC,WAAW;IAcnB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAa7B,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAa/D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAOzE,YAAY,IAAI,MAAM;IAOtB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,aAAa,IAAI,IAAI;CAGtB"}
|