mindgraph-mcp 0.14.5 → 0.14.7
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/dist/cli.js +16 -2
- package/dist/index.js +16 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -2891,6 +2891,7 @@ async function handleRetrieve(client2, args) {
|
|
|
2891
2891
|
limit,
|
|
2892
2892
|
offset,
|
|
2893
2893
|
include_chunks,
|
|
2894
|
+
include_documents,
|
|
2894
2895
|
include_graph,
|
|
2895
2896
|
graph_expansion_limit,
|
|
2896
2897
|
graph_max_depth,
|
|
@@ -2908,6 +2909,10 @@ async function handleRetrieve(client2, args) {
|
|
|
2908
2909
|
node_types,
|
|
2909
2910
|
layer,
|
|
2910
2911
|
chunk_limit: include_chunks ? limit ?? 5 : 0,
|
|
2912
|
+
// Scoped by default, never walled: the coding profile drops the
|
|
2913
|
+
// document/article leg (the "Bob Work" class of noise) unless the
|
|
2914
|
+
// model opts in for a genuinely document-shaped question.
|
|
2915
|
+
...process.env.MINDGRAPH_PROFILE === "coding" && !include_documents ? { article_limit: 0 } : {},
|
|
2911
2916
|
include_graph,
|
|
2912
2917
|
graph_expansion_limit: graph_expansion_limit ?? 3,
|
|
2913
2918
|
graph_max_depth: graph_max_depth ?? 2
|
|
@@ -3855,7 +3860,7 @@ var init_tools = __esm({
|
|
|
3855
3860
|
},
|
|
3856
3861
|
{
|
|
3857
3862
|
name: "mindgraph_retrieve",
|
|
3858
|
-
description: "Search and explore the knowledge graph. Use 'context' (default) for BM25 keyword retrieval plus bounded cheapest-first graph expansion \u2014 returns graph nodes only by default (labels, summaries, types, confidence); set include_chunks=true to also get full source text. Pass 1-3 discriminating keywords, not sentences. GOOD: 'Kissinger NATO'. BAD: 'What is Kissinger\\'s view on NATO?'. Use 'document_index' to list all ingested documents (titles, dates, UIDs) for orientation. Use 'semantic' when keywords return nothing \u2014 conceptual/fuzzy queries. Use 'hybrid' for keyword + semantic. Use 'text' for fast keyword-only. Use 'neighborhood'/'chain'/'path'/'subgraph' for graph traversal \u2014 traversal steps carry the cheapest witness path_cost (lower = stronger connection; sum of -ln(edge weight)), path_confidence, and witness depth. Use 'preferences' for advice or recommendation requests ('suggest a hotel', 'what should I read?') \u2014 it returns the user's stated/learned preferences relevant to the query (pass the topic as 'query'), so your answer reflects what they actually like instead of being generic. Other structured actions ('active_goals', 'open_questions', etc.) only when the user explicitly asks.",
|
|
3863
|
+
description: "Search and explore the knowledge graph. NOT for work state: for 'what was I working on' or resuming work, use mindgraph_plan action resume_work (structural, deterministic) \u2014 this tool is semantic/keyword recall over ALL knowledge. Use 'context' (default) for BM25 keyword retrieval plus bounded cheapest-first graph expansion \u2014 returns graph nodes only by default (labels, summaries, types, confidence); set include_chunks=true to also get full source text. Pass 1-3 discriminating keywords, not sentences. GOOD: 'Kissinger NATO'. BAD: 'What is Kissinger\\'s view on NATO?'. Use 'document_index' to list all ingested documents (titles, dates, UIDs) for orientation. Use 'semantic' when keywords return nothing \u2014 conceptual/fuzzy queries. Use 'hybrid' for keyword + semantic. Use 'text' for fast keyword-only. Use 'neighborhood'/'chain'/'path'/'subgraph' for graph traversal \u2014 traversal steps carry the cheapest witness path_cost (lower = stronger connection; sum of -ln(edge weight)), path_confidence, and witness depth. Use 'preferences' for advice or recommendation requests ('suggest a hotel', 'what should I read?') \u2014 it returns the user's stated/learned preferences relevant to the query (pass the topic as 'query'), so your answer reflects what they actually like instead of being generic. Other structured actions ('active_goals', 'open_questions', etc.) only when the user explicitly asks.",
|
|
3859
3864
|
inputSchema: {
|
|
3860
3865
|
type: "object",
|
|
3861
3866
|
properties: {
|
|
@@ -3940,6 +3945,10 @@ var init_tools = __esm({
|
|
|
3940
3945
|
type: "number",
|
|
3941
3946
|
description: "Pagination offset (for stale_derivations)"
|
|
3942
3947
|
},
|
|
3948
|
+
include_documents: {
|
|
3949
|
+
type: "boolean",
|
|
3950
|
+
description: "Include ingested documents and wiki articles in context results. The coding profile defaults these OFF so engineering questions aren't answered from unrelated ingested content; pass true when the question is about a document, spec, or article."
|
|
3951
|
+
},
|
|
3943
3952
|
include_chunks: {
|
|
3944
3953
|
type: "boolean",
|
|
3945
3954
|
description: "Include source document chunks in context results (default: false \u2014 set true to fetch full chunk text for citations or deep reading)"
|
|
@@ -4891,6 +4900,11 @@ Capture knowledge when the user shares something worth remembering:
|
|
|
4891
4900
|
|
|
4892
4901
|
## Coding profile
|
|
4893
4902
|
|
|
4903
|
+
**Recall order (overrides the #1 rule above for work and code questions):**
|
|
4904
|
+
- "What was I working on?" / current work state / resuming anything: call \`mindgraph_plan\` action \`resume_work\` FIRST. Work state is structural; never answer it from keyword search ("recent work" famously retrieves people named Work).
|
|
4905
|
+
- Knowledge about specific code (a function, file, or route): \`mindgraph_code\` action \`recall\` \u2014 anchor-based, not keyword-based.
|
|
4906
|
+
- Broad knowledge searches: \`mindgraph_retrieve\` as usual, but when searching for work artifacts pass node_types filters (Task, Lesson, RiskAssessment, Claim) to keep personal-graph content out of engineering answers.
|
|
4907
|
+
|
|
4894
4908
|
- Use mindgraph_sync for explicit, one-way project memory-file imports. It discovers and hashes files, but you deliberately map durable assertions with record; it never writes graph state back to files.
|
|
4895
4909
|
- Capture corrections, decisions with rationale, fixes that survived meaningful failed attempts, durable invariants/preferences, and blockers with evidence.
|
|
4896
4910
|
- Do not capture routine mechanics, transient command output, facts cheaply derivable from code, unsupported speculation as high-confidence lessons, or completion without evidence.
|
|
@@ -4903,7 +4917,7 @@ Capture knowledge when the user shares something worth remembering:
|
|
|
4903
4917
|
server = new import_server.Server(
|
|
4904
4918
|
{
|
|
4905
4919
|
name: "mindgraph",
|
|
4906
|
-
version: "0.14.
|
|
4920
|
+
version: "0.14.7"
|
|
4907
4921
|
},
|
|
4908
4922
|
{
|
|
4909
4923
|
capabilities: {
|
package/dist/index.js
CHANGED
|
@@ -1975,7 +1975,7 @@ var TOOLS = [
|
|
|
1975
1975
|
},
|
|
1976
1976
|
{
|
|
1977
1977
|
name: "mindgraph_retrieve",
|
|
1978
|
-
description: "Search and explore the knowledge graph. Use 'context' (default) for BM25 keyword retrieval plus bounded cheapest-first graph expansion \u2014 returns graph nodes only by default (labels, summaries, types, confidence); set include_chunks=true to also get full source text. Pass 1-3 discriminating keywords, not sentences. GOOD: 'Kissinger NATO'. BAD: 'What is Kissinger\\'s view on NATO?'. Use 'document_index' to list all ingested documents (titles, dates, UIDs) for orientation. Use 'semantic' when keywords return nothing \u2014 conceptual/fuzzy queries. Use 'hybrid' for keyword + semantic. Use 'text' for fast keyword-only. Use 'neighborhood'/'chain'/'path'/'subgraph' for graph traversal \u2014 traversal steps carry the cheapest witness path_cost (lower = stronger connection; sum of -ln(edge weight)), path_confidence, and witness depth. Use 'preferences' for advice or recommendation requests ('suggest a hotel', 'what should I read?') \u2014 it returns the user's stated/learned preferences relevant to the query (pass the topic as 'query'), so your answer reflects what they actually like instead of being generic. Other structured actions ('active_goals', 'open_questions', etc.) only when the user explicitly asks.",
|
|
1978
|
+
description: "Search and explore the knowledge graph. NOT for work state: for 'what was I working on' or resuming work, use mindgraph_plan action resume_work (structural, deterministic) \u2014 this tool is semantic/keyword recall over ALL knowledge. Use 'context' (default) for BM25 keyword retrieval plus bounded cheapest-first graph expansion \u2014 returns graph nodes only by default (labels, summaries, types, confidence); set include_chunks=true to also get full source text. Pass 1-3 discriminating keywords, not sentences. GOOD: 'Kissinger NATO'. BAD: 'What is Kissinger\\'s view on NATO?'. Use 'document_index' to list all ingested documents (titles, dates, UIDs) for orientation. Use 'semantic' when keywords return nothing \u2014 conceptual/fuzzy queries. Use 'hybrid' for keyword + semantic. Use 'text' for fast keyword-only. Use 'neighborhood'/'chain'/'path'/'subgraph' for graph traversal \u2014 traversal steps carry the cheapest witness path_cost (lower = stronger connection; sum of -ln(edge weight)), path_confidence, and witness depth. Use 'preferences' for advice or recommendation requests ('suggest a hotel', 'what should I read?') \u2014 it returns the user's stated/learned preferences relevant to the query (pass the topic as 'query'), so your answer reflects what they actually like instead of being generic. Other structured actions ('active_goals', 'open_questions', etc.) only when the user explicitly asks.",
|
|
1979
1979
|
inputSchema: {
|
|
1980
1980
|
type: "object",
|
|
1981
1981
|
properties: {
|
|
@@ -2060,6 +2060,10 @@ var TOOLS = [
|
|
|
2060
2060
|
type: "number",
|
|
2061
2061
|
description: "Pagination offset (for stale_derivations)"
|
|
2062
2062
|
},
|
|
2063
|
+
include_documents: {
|
|
2064
|
+
type: "boolean",
|
|
2065
|
+
description: "Include ingested documents and wiki articles in context results. The coding profile defaults these OFF so engineering questions aren't answered from unrelated ingested content; pass true when the question is about a document, spec, or article."
|
|
2066
|
+
},
|
|
2063
2067
|
include_chunks: {
|
|
2064
2068
|
type: "boolean",
|
|
2065
2069
|
description: "Include source document chunks in context results (default: false \u2014 set true to fetch full chunk text for citations or deep reading)"
|
|
@@ -2923,6 +2927,7 @@ async function handleRetrieve(client2, args) {
|
|
|
2923
2927
|
limit,
|
|
2924
2928
|
offset,
|
|
2925
2929
|
include_chunks,
|
|
2930
|
+
include_documents,
|
|
2926
2931
|
include_graph,
|
|
2927
2932
|
graph_expansion_limit,
|
|
2928
2933
|
graph_max_depth,
|
|
@@ -2940,6 +2945,10 @@ async function handleRetrieve(client2, args) {
|
|
|
2940
2945
|
node_types,
|
|
2941
2946
|
layer,
|
|
2942
2947
|
chunk_limit: include_chunks ? limit ?? 5 : 0,
|
|
2948
|
+
// Scoped by default, never walled: the coding profile drops the
|
|
2949
|
+
// document/article leg (the "Bob Work" class of noise) unless the
|
|
2950
|
+
// model opts in for a genuinely document-shaped question.
|
|
2951
|
+
...process.env.MINDGRAPH_PROFILE === "coding" && !include_documents ? { article_limit: 0 } : {},
|
|
2943
2952
|
include_graph,
|
|
2944
2953
|
graph_expansion_limit: graph_expansion_limit ?? 3,
|
|
2945
2954
|
graph_max_depth: graph_max_depth ?? 2
|
|
@@ -3929,6 +3938,11 @@ if (PROFILE === "coding") {
|
|
|
3929
3938
|
|
|
3930
3939
|
## Coding profile
|
|
3931
3940
|
|
|
3941
|
+
**Recall order (overrides the #1 rule above for work and code questions):**
|
|
3942
|
+
- "What was I working on?" / current work state / resuming anything: call \`mindgraph_plan\` action \`resume_work\` FIRST. Work state is structural; never answer it from keyword search ("recent work" famously retrieves people named Work).
|
|
3943
|
+
- Knowledge about specific code (a function, file, or route): \`mindgraph_code\` action \`recall\` \u2014 anchor-based, not keyword-based.
|
|
3944
|
+
- Broad knowledge searches: \`mindgraph_retrieve\` as usual, but when searching for work artifacts pass node_types filters (Task, Lesson, RiskAssessment, Claim) to keep personal-graph content out of engineering answers.
|
|
3945
|
+
|
|
3932
3946
|
- Use mindgraph_sync for explicit, one-way project memory-file imports. It discovers and hashes files, but you deliberately map durable assertions with record; it never writes graph state back to files.
|
|
3933
3947
|
- Capture corrections, decisions with rationale, fixes that survived meaningful failed attempts, durable invariants/preferences, and blockers with evidence.
|
|
3934
3948
|
- Do not capture routine mechanics, transient command output, facts cheaply derivable from code, unsupported speculation as high-confidence lessons, or completion without evidence.
|
|
@@ -3941,7 +3955,7 @@ if (PROFILE === "coding") {
|
|
|
3941
3955
|
var server = new import_server.Server(
|
|
3942
3956
|
{
|
|
3943
3957
|
name: "mindgraph",
|
|
3944
|
-
version: "0.14.
|
|
3958
|
+
version: "0.14.7"
|
|
3945
3959
|
},
|
|
3946
3960
|
{
|
|
3947
3961
|
capabilities: {
|