@getmarrow/mcp 2.1.0 → 2.3.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/README.md +40 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +37 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +57 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,8 +57,48 @@ Your agent calls `marrow_think` before acting. Marrow queries the hive — colle
|
|
|
57
57
|
|
|
58
58
|
---
|
|
59
59
|
|
|
60
|
+
## Quick Start Pattern
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Session start → marrow_orient() ← reads from hive, surfaces warnings
|
|
64
|
+
Before each action → marrow_think() ← queries + opens memory session
|
|
65
|
+
After each action → marrow_commit() ← writes result back to hive
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**orient() is what makes Marrow compound.** Without it, you're writing to a database no one reads. With it, your agent automatically avoids mistakes it's made before.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
60
72
|
## Tools
|
|
61
73
|
|
|
74
|
+
### `marrow_orient` — ⚡ Call this first
|
|
75
|
+
|
|
76
|
+
**Call at the start of every session, before any other tool.** Returns failure warnings from your hive history so you avoid known mistakes immediately.
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"taskType": "implementation" // optional: filter to specific task type
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Response:**
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"warnings": [
|
|
88
|
+
{
|
|
89
|
+
"type": "process",
|
|
90
|
+
"failureRate": 0.26,
|
|
91
|
+
"message": "process has 26% failure rate over 27 decisions — review lessons before acting"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"shouldPause": false // true if any failure rate >40% — stop and query lessons first
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
If `shouldPause` is true, query your lessons before proceeding. If `warnings` is empty, you're clear.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
62
102
|
### `marrow_think` — The core tool
|
|
63
103
|
|
|
64
104
|
Call this before every significant action. Returns collective intelligence from the hive.
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* Marrow MCP stdio server — collective memory for Claude and MCP agents.
|
|
4
|
-
* Exposes: marrow_think, marrow_commit, marrow_status
|
|
4
|
+
* Exposes: marrow_orient (call first!), marrow_think, marrow_commit, marrow_status
|
|
5
5
|
*/
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
/**
|
|
4
4
|
* Marrow MCP stdio server — collective memory for Claude and MCP agents.
|
|
5
|
-
* Exposes: marrow_think, marrow_commit, marrow_status
|
|
5
|
+
* Exposes: marrow_orient (call first!), marrow_think, marrow_commit, marrow_status
|
|
6
6
|
*/
|
|
7
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
8
|
if (k2 === undefined) k2 = k;
|
|
@@ -47,11 +47,31 @@ function error(id, code, message) {
|
|
|
47
47
|
}
|
|
48
48
|
// Tool definitions
|
|
49
49
|
const TOOLS = [
|
|
50
|
+
{
|
|
51
|
+
name: 'marrow_orient',
|
|
52
|
+
description: '⚡ CALL THIS FIRST at the start of every session or task — before marrow_think, before any action. ' +
|
|
53
|
+
'Returns failure warnings from your hive history so you avoid known mistakes immediately. ' +
|
|
54
|
+
'If shouldPause=true, query for lessons before proceeding. ' +
|
|
55
|
+
'This is what makes Marrow compound — orient() reads, think() writes. Both are required.',
|
|
56
|
+
inputSchema: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {
|
|
59
|
+
taskType: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
enum: ['implementation', 'security', 'architecture', 'process', 'general'],
|
|
62
|
+
description: 'Optional: filter warnings to a specific task type you are about to perform',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
required: [],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
50
68
|
{
|
|
51
69
|
name: 'marrow_think',
|
|
52
70
|
description: 'Get collective intelligence from the Marrow hive before acting. ' +
|
|
71
|
+
'Returns pattern insights, failure detection, workflow gaps, and semantic clustering. ' +
|
|
53
72
|
'Call this before every significant action. Pass previous_outcome ' +
|
|
54
|
-
'to auto-commit your last action and open a new memory session.'
|
|
73
|
+
'to auto-commit your last action and open a new memory session. ' +
|
|
74
|
+
'Response includes: decision_id, insight (string), insights[] (ActionableInsight[]), cluster_id.',
|
|
55
75
|
inputSchema: {
|
|
56
76
|
type: 'object',
|
|
57
77
|
properties: {
|
|
@@ -130,7 +150,7 @@ async function handleRequest(req) {
|
|
|
130
150
|
success(id, {
|
|
131
151
|
protocolVersion: '2024-11-05',
|
|
132
152
|
capabilities: { tools: {} },
|
|
133
|
-
serverInfo: { name: 'marrow', version: '2.
|
|
153
|
+
serverInfo: { name: 'marrow', version: '2.1.0' },
|
|
134
154
|
});
|
|
135
155
|
return;
|
|
136
156
|
}
|
|
@@ -141,6 +161,20 @@ async function handleRequest(req) {
|
|
|
141
161
|
if (method === 'tools/call') {
|
|
142
162
|
const toolName = params?.name;
|
|
143
163
|
const args = (params?.arguments || {});
|
|
164
|
+
if (toolName === 'marrow_orient') {
|
|
165
|
+
const result = await (0, index_1.marrowOrient)(API_KEY, BASE_URL, {
|
|
166
|
+
taskType: args.taskType,
|
|
167
|
+
});
|
|
168
|
+
success(id, {
|
|
169
|
+
content: [
|
|
170
|
+
{
|
|
171
|
+
type: 'text',
|
|
172
|
+
text: JSON.stringify(result, null, 2),
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
});
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
144
178
|
if (toolName === 'marrow_think') {
|
|
145
179
|
const result = await (0, index_1.marrowThink)(API_KEY, BASE_URL, {
|
|
146
180
|
action: args.action,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mDAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
|
+
export interface ActionableInsight {
|
|
2
|
+
type: 'frequency' | 'failure_pattern' | 'workflow_gap' | 'hive_trend';
|
|
3
|
+
summary: string;
|
|
4
|
+
action: string;
|
|
5
|
+
severity: 'info' | 'warning' | 'critical';
|
|
6
|
+
count: number;
|
|
7
|
+
}
|
|
1
8
|
export interface MarrowIntelligence {
|
|
2
9
|
similar: Array<{
|
|
3
10
|
outcome: string;
|
|
4
11
|
confidence: number;
|
|
5
12
|
}>;
|
|
13
|
+
similar_count: number;
|
|
6
14
|
patterns: Array<{
|
|
7
|
-
|
|
15
|
+
pattern_id: string;
|
|
16
|
+
decision_type: string;
|
|
8
17
|
frequency: number;
|
|
18
|
+
confidence: number;
|
|
9
19
|
}>;
|
|
20
|
+
patterns_count: number;
|
|
10
21
|
templates: Array<{
|
|
11
22
|
steps: unknown[];
|
|
12
23
|
success_rate: number;
|
|
@@ -17,12 +28,21 @@ export interface MarrowIntelligence {
|
|
|
17
28
|
causal_chain: unknown | null;
|
|
18
29
|
success_rate: number;
|
|
19
30
|
priority_score: number;
|
|
31
|
+
insight: string | null;
|
|
32
|
+
insights: ActionableInsight[];
|
|
33
|
+
cluster_id: string | null;
|
|
20
34
|
}
|
|
21
35
|
export interface ThinkResult {
|
|
22
36
|
decision_id: string;
|
|
23
37
|
intelligence: MarrowIntelligence;
|
|
24
38
|
stream_url: string;
|
|
25
39
|
previous_committed?: boolean;
|
|
40
|
+
sanitized?: boolean;
|
|
41
|
+
upgrade_hint?: {
|
|
42
|
+
message: string;
|
|
43
|
+
tier: string;
|
|
44
|
+
url: string;
|
|
45
|
+
};
|
|
26
46
|
}
|
|
27
47
|
export interface CommitResult {
|
|
28
48
|
committed: boolean;
|
|
@@ -49,5 +69,41 @@ export declare function marrowCommit(apiKey: string, baseUrl: string, params: {
|
|
|
49
69
|
outcome: string;
|
|
50
70
|
caused_by?: string;
|
|
51
71
|
}): Promise<CommitResult>;
|
|
72
|
+
export interface AgentPatternsResult {
|
|
73
|
+
failure_patterns: Array<{
|
|
74
|
+
decision_type: string;
|
|
75
|
+
failure_rate: number;
|
|
76
|
+
count: number;
|
|
77
|
+
last_seen: string;
|
|
78
|
+
}>;
|
|
79
|
+
recurring_decisions: Array<{
|
|
80
|
+
decision_type: string;
|
|
81
|
+
frequency: number;
|
|
82
|
+
avg_confidence: number;
|
|
83
|
+
trend: string;
|
|
84
|
+
}>;
|
|
85
|
+
behavioral_drift: {
|
|
86
|
+
success_rate_7d: number;
|
|
87
|
+
success_rate_30d: number;
|
|
88
|
+
drift: string;
|
|
89
|
+
direction: string;
|
|
90
|
+
};
|
|
91
|
+
top_failure_types: string[];
|
|
92
|
+
generated_at: string;
|
|
93
|
+
}
|
|
94
|
+
export declare function marrowAgentPatterns(apiKey: string, baseUrl: string, params?: {
|
|
95
|
+
type?: string;
|
|
96
|
+
limit?: number;
|
|
97
|
+
}): Promise<AgentPatternsResult>;
|
|
98
|
+
export declare function marrowOrient(apiKey: string, baseUrl: string, params?: {
|
|
99
|
+
taskType?: string;
|
|
100
|
+
}): Promise<{
|
|
101
|
+
warnings: Array<{
|
|
102
|
+
type: string;
|
|
103
|
+
failureRate: number;
|
|
104
|
+
message: string;
|
|
105
|
+
}>;
|
|
106
|
+
shouldPause: boolean;
|
|
107
|
+
}>;
|
|
52
108
|
export declare function marrowStatus(apiKey: string, baseUrl: string): Promise<StatusResult>;
|
|
53
109
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,KAAK,CAAC;QAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.marrowStatus = exports.marrowCommit = exports.marrowThink = void 0;
|
|
3
|
+
exports.marrowStatus = exports.marrowOrient = exports.marrowAgentPatterns = exports.marrowCommit = exports.marrowThink = void 0;
|
|
4
4
|
async function marrowThink(apiKey, baseUrl, params) {
|
|
5
5
|
const body = {
|
|
6
6
|
action: params.action,
|
|
@@ -42,6 +42,38 @@ async function marrowCommit(apiKey, baseUrl, params) {
|
|
|
42
42
|
return json.data;
|
|
43
43
|
}
|
|
44
44
|
exports.marrowCommit = marrowCommit;
|
|
45
|
+
async function marrowAgentPatterns(apiKey, baseUrl, params) {
|
|
46
|
+
const qs = new URLSearchParams();
|
|
47
|
+
if (params?.type)
|
|
48
|
+
qs.set('type', params.type);
|
|
49
|
+
if (params?.limit)
|
|
50
|
+
qs.set('limit', String(params.limit));
|
|
51
|
+
const url = `${baseUrl}/v1/agent/patterns${qs.toString() ? '?' + qs.toString() : ''}`;
|
|
52
|
+
const res = await fetch(url, { headers: { 'Authorization': `Bearer ${apiKey}` } });
|
|
53
|
+
const json = await res.json();
|
|
54
|
+
if (json.error)
|
|
55
|
+
throw new Error(json.error);
|
|
56
|
+
return json.data;
|
|
57
|
+
}
|
|
58
|
+
exports.marrowAgentPatterns = marrowAgentPatterns;
|
|
59
|
+
// Session orientation — MUST be called first at every session/task start.
|
|
60
|
+
// Returns failure warnings + lessons so agent avoids known mistakes before acting.
|
|
61
|
+
// This closes the write-only gap: orient() makes Marrow compound instead of just log.
|
|
62
|
+
async function marrowOrient(apiKey, baseUrl, params) {
|
|
63
|
+
const patterns = await marrowAgentPatterns(apiKey, baseUrl, params?.taskType ? { type: params.taskType } : undefined);
|
|
64
|
+
const warnings = patterns.failure_patterns
|
|
65
|
+
.filter((p) => p.failure_rate > 0.15)
|
|
66
|
+
.map((p) => ({
|
|
67
|
+
type: p.decision_type,
|
|
68
|
+
failureRate: p.failure_rate,
|
|
69
|
+
message: `${p.decision_type} has ${Math.round(p.failure_rate * 100)}% failure rate over ${p.count} decisions — review lessons before acting`,
|
|
70
|
+
}));
|
|
71
|
+
return {
|
|
72
|
+
warnings,
|
|
73
|
+
shouldPause: warnings.some((w) => w.failureRate > 0.4),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
exports.marrowOrient = marrowOrient;
|
|
45
77
|
async function marrowStatus(apiKey, baseUrl) {
|
|
46
78
|
const res = await fetch(`${baseUrl}/v1/health`, {
|
|
47
79
|
headers: { 'Authorization': `Bearer ${apiKey}` },
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|