lotus-wisdom-mcp 0.2.0 → 0.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 +67 -24
- package/dist/bundle.js +80 -85
- package/dist/index.js +83 -87
- package/dist/server.js +82 -85
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
<img src="assets/lotus-flower.png" alt="Lotus Flower" width="400"/>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
+
[](https://smithery.ai/server/@linxule/lotus-wisdom-mcp)
|
|
8
|
+
|
|
7
9
|
An MCP server implementation that provides a tool for problem-solving using the Lotus Sutra's wisdom framework, combining analytical thinking with intuitive wisdom.
|
|
8
10
|
|
|
9
11
|
## Features
|
|
@@ -27,7 +29,10 @@ The server implements a structured thinking process using wisdom domains inspire
|
|
|
27
29
|
|
|
28
30
|
### Wisdom Domains and Tags
|
|
29
31
|
|
|
30
|
-
The server organizes thoughts using
|
|
32
|
+
The server organizes thoughts using wisdom domains (all valid values for the `tag` input parameter):
|
|
33
|
+
|
|
34
|
+
* **Entry** (🚪): `begin`
|
|
35
|
+
- Begin your journey here - receives the full framework before contemplation starts
|
|
31
36
|
|
|
32
37
|
* **Skillful Means** (🔆): `upaya`, `expedient`, `direct`, `gradual`, `sudden`
|
|
33
38
|
- Different approaches to truth - sometimes direct pointing, sometimes gradual unfolding
|
|
@@ -59,12 +64,13 @@ Note: The visualization appears in the server console output, helping developers
|
|
|
59
64
|
### Process Flow
|
|
60
65
|
|
|
61
66
|
1. The user submits a problem to solve
|
|
62
|
-
2. The model
|
|
63
|
-
3.
|
|
64
|
-
4.
|
|
65
|
-
5.
|
|
66
|
-
6.
|
|
67
|
-
7.
|
|
67
|
+
2. The model begins with `tag='begin'` to receive the full framework
|
|
68
|
+
3. The model continues with contemplation tags (open, examine, integrate, etc.)
|
|
69
|
+
4. Each thought builds on previous ones and may revise understanding
|
|
70
|
+
5. The tool tracks both the tag journey and wisdom domain movements
|
|
71
|
+
6. Meditation pauses can be included for clarity
|
|
72
|
+
7. When status='WISDOM_READY' is returned, the tool's work is complete
|
|
73
|
+
8. The model then expresses the final wisdom naturally in its own voice
|
|
68
74
|
|
|
69
75
|
## Available Tools
|
|
70
76
|
|
|
@@ -72,6 +78,8 @@ Note: The visualization appears in the server console output, helping developers
|
|
|
72
78
|
|
|
73
79
|
A tool for problem-solving using the Lotus Sutra's wisdom framework, with various approaches to understanding.
|
|
74
80
|
|
|
81
|
+
**Begin your journey with `tag='begin'`** - this returns the full framework (philosophy, domains, guidance) to ground your contemplation. Then continue with the other tags.
|
|
82
|
+
|
|
75
83
|
**Inputs:**
|
|
76
84
|
|
|
77
85
|
* `tag` (string, required): The current processing technique (must be one of the tags listed above)
|
|
@@ -115,60 +123,72 @@ Here's how a conversation with Claude might flow when using the Lotus Wisdom MCP
|
|
|
115
123
|
|
|
116
124
|
**User**: "Help me understand the relationship between freedom and responsibility."
|
|
117
125
|
|
|
118
|
-
**Claude** would
|
|
126
|
+
**Claude** would begin the journey with `tag='begin'` to receive the framework, then continue:
|
|
127
|
+
|
|
128
|
+
1. First, enter the contemplative space:
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"tag": "begin",
|
|
132
|
+
"content": "Entering contemplation on freedom and responsibility.",
|
|
133
|
+
"stepNumber": 1,
|
|
134
|
+
"totalSteps": 6,
|
|
135
|
+
"nextStepNeeded": true
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
→ Returns `FRAMEWORK_RECEIVED` with full framework
|
|
119
139
|
|
|
120
|
-
|
|
140
|
+
2. Then, establish an opening thought:
|
|
121
141
|
```json
|
|
122
142
|
{
|
|
123
143
|
"tag": "open",
|
|
124
144
|
"content": "The question explores the relationship between freedom and responsibility, which contain an apparent tension but also deep connection.",
|
|
125
|
-
"stepNumber":
|
|
126
|
-
"totalSteps":
|
|
145
|
+
"stepNumber": 2,
|
|
146
|
+
"totalSteps": 6,
|
|
127
147
|
"nextStepNeeded": true
|
|
128
148
|
}
|
|
129
149
|
```
|
|
130
150
|
|
|
131
|
-
|
|
151
|
+
3. Engage with different perspectives:
|
|
132
152
|
```json
|
|
133
153
|
{
|
|
134
154
|
"tag": "direct",
|
|
135
155
|
"content": "Freedom and responsibility are two sides of the same coin. True freedom isn't absence of constraints but the capacity to choose our response within constraints.",
|
|
136
|
-
"stepNumber":
|
|
137
|
-
"totalSteps":
|
|
156
|
+
"stepNumber": 3,
|
|
157
|
+
"totalSteps": 6,
|
|
138
158
|
"nextStepNeeded": true
|
|
139
159
|
}
|
|
140
160
|
```
|
|
141
161
|
|
|
142
|
-
|
|
162
|
+
4. Perhaps take a meditation pause:
|
|
143
163
|
```json
|
|
144
164
|
{
|
|
145
165
|
"tag": "meditate",
|
|
146
166
|
"content": "Contemplating how freedom without responsibility becomes chaos, and responsibility without freedom becomes oppression.",
|
|
147
|
-
"stepNumber":
|
|
148
|
-
"totalSteps":
|
|
167
|
+
"stepNumber": 4,
|
|
168
|
+
"totalSteps": 6,
|
|
149
169
|
"nextStepNeeded": true,
|
|
150
170
|
"isMeditation": true
|
|
151
171
|
}
|
|
152
172
|
```
|
|
153
173
|
|
|
154
|
-
|
|
174
|
+
5. Integrate the understanding:
|
|
155
175
|
```json
|
|
156
176
|
{
|
|
157
177
|
"tag": "integrate",
|
|
158
178
|
"content": "Freedom and responsibility mutually enable each other. Our freedom to choose gives rise to our responsibility for what we choose, and our willingness to take responsibility expands our freedom.",
|
|
159
|
-
"stepNumber":
|
|
160
|
-
"totalSteps":
|
|
179
|
+
"stepNumber": 5,
|
|
180
|
+
"totalSteps": 6,
|
|
161
181
|
"nextStepNeeded": true
|
|
162
182
|
}
|
|
163
183
|
```
|
|
164
184
|
|
|
165
|
-
|
|
185
|
+
6. Express the final understanding:
|
|
166
186
|
```json
|
|
167
187
|
{
|
|
168
188
|
"tag": "express",
|
|
169
189
|
"content": "The paradox resolves when we see that authentic freedom includes responsibility as its natural expression.",
|
|
170
|
-
"stepNumber":
|
|
171
|
-
"totalSteps":
|
|
190
|
+
"stepNumber": 6,
|
|
191
|
+
"totalSteps": 6,
|
|
172
192
|
"nextStepNeeded": false
|
|
173
193
|
}
|
|
174
194
|
```
|
|
@@ -293,6 +313,16 @@ The Lotus Wisdom framework recognizes that wisdom often emerges not through line
|
|
|
293
313
|
|
|
294
314
|
5. **Natural Expression**: The tool handles the contemplative process, but the final wisdom is always expressed naturally by the AI, not as formatted output.
|
|
295
315
|
|
|
316
|
+
### Token Optimization Design
|
|
317
|
+
|
|
318
|
+
MCP tool descriptions stay in the AI's context window constantly when the server is connected. To minimize this overhead while preserving the full teaching content:
|
|
319
|
+
|
|
320
|
+
- **Constant context (~200 tokens)**: The `lotuswisdom` tool description is kept minimal—just enough for the AI to know when and how to use it
|
|
321
|
+
- **On-demand learning (~600 tokens)**: The full framework (philosophy, domain spirits, guidance) is delivered when calling with `tag='begin'`
|
|
322
|
+
- **Learn first, practice second**: The `begin` tag ensures models receive complete understanding before contemplating
|
|
323
|
+
|
|
324
|
+
This approach reduces constant context overhead by ~85% while ensuring no wisdom is lost. The AI always knows to start with `begin` because it's clearly marked as "FIRST" in the tag list.
|
|
325
|
+
|
|
296
326
|
## License
|
|
297
327
|
|
|
298
328
|
This MCP server is licensed under the MIT License. For more details, please see the LICENSE file in the project repository.
|
|
@@ -303,7 +333,20 @@ Contributions are welcome! Please feel free to submit issues or pull requests on
|
|
|
303
333
|
|
|
304
334
|
## Version
|
|
305
335
|
|
|
306
|
-
Current version: 0.
|
|
336
|
+
Current version: 0.3.0
|
|
337
|
+
|
|
338
|
+
### What's New in 0.3.0
|
|
339
|
+
|
|
340
|
+
- 🚪 **Begin Tag**: New `tag='begin'` opens the journey—returns full framework before contemplation starts
|
|
341
|
+
- ⚡ **Optimized Token Footprint**: Reduced constant context overhead from ~1400 to ~200 tokens while preserving full teaching content
|
|
342
|
+
- 🧘 **Learn First, Practice Second**: The `begin` tag ensures models receive complete understanding before contemplating
|
|
343
|
+
- 📦 **Updated SDK**: Upgraded to @modelcontextprotocol/sdk 1.23.0
|
|
344
|
+
|
|
345
|
+
### What's New in 0.2.1
|
|
346
|
+
|
|
347
|
+
- 📋 **MCP Registry Enhancement**: Added `title` field for better discoverability
|
|
348
|
+
- 🎯 **Full Compliance**: Now fully compliant with official MCP publishing guide
|
|
349
|
+
- 🔗 **Registry Links**: Available on [Official MCP Registry](https://registry.mcpservers.org/)
|
|
307
350
|
|
|
308
351
|
### What's New in 0.2.0
|
|
309
352
|
|
package/dist/bundle.js
CHANGED
|
@@ -12437,6 +12437,8 @@ var source_default = chalk;
|
|
|
12437
12437
|
|
|
12438
12438
|
// index.ts
|
|
12439
12439
|
var WISDOM_DOMAINS = {
|
|
12440
|
+
"entry": ["begin"],
|
|
12441
|
+
// Always call first to receive framework
|
|
12440
12442
|
"skillful_means": ["upaya", "expedient", "direct", "gradual", "sudden"],
|
|
12441
12443
|
"non_dual_recognition": ["recognize", "transform", "integrate", "transcend", "embody"],
|
|
12442
12444
|
"meta_cognitive": ["examine", "reflect", "verify", "refine", "complete"],
|
|
@@ -12484,7 +12486,7 @@ var LotusWisdomServer = class {
|
|
|
12484
12486
|
if (typeof data.nextStepNeeded !== "boolean") {
|
|
12485
12487
|
throw new Error("Invalid nextStepNeeded: must be a boolean");
|
|
12486
12488
|
}
|
|
12487
|
-
if (data.stepNumber === 1
|
|
12489
|
+
if (data.stepNumber === 1) {
|
|
12488
12490
|
this.resetProcess();
|
|
12489
12491
|
}
|
|
12490
12492
|
return {
|
|
@@ -12556,6 +12558,65 @@ var LotusWisdomServer = class {
|
|
|
12556
12558
|
}
|
|
12557
12559
|
this.thoughtProcess.push(validatedInput);
|
|
12558
12560
|
this.log(this.formatThought(validatedInput));
|
|
12561
|
+
if (validatedInput.tag === "begin") {
|
|
12562
|
+
return {
|
|
12563
|
+
content: [{
|
|
12564
|
+
type: "text",
|
|
12565
|
+
text: JSON.stringify({
|
|
12566
|
+
status: "FRAMEWORK_RECEIVED",
|
|
12567
|
+
welcome: "Welcome to the Lotus Wisdom framework. Read this before continuing your contemplative journey.",
|
|
12568
|
+
philosophy: {
|
|
12569
|
+
core: "The Lotus Sutra teaches that there are many skillful means to reach the same truth. These tags are not rigid steps but different aspects of wisdom that interpenetrate and respond to what each moment needs.",
|
|
12570
|
+
essence: "The wisdom channels itself through your choices. Each step contains all others\u2014when you truly recognize, you are already transforming. The tool simply mirrors your journey without judgment.",
|
|
12571
|
+
trust: "Trust what each moment calls for. The path reveals itself in the walking."
|
|
12572
|
+
},
|
|
12573
|
+
domains: {
|
|
12574
|
+
process_flow: {
|
|
12575
|
+
tags: ["open", "engage", "express"],
|
|
12576
|
+
spirit: "The natural arc of inquiry. Opening creates space for what wants to emerge. Engagement explores with curiosity and presence. Expression shares what arose\u2014not as conclusion, but as offering.",
|
|
12577
|
+
role: "A container that can hold any of the other approaches within it."
|
|
12578
|
+
},
|
|
12579
|
+
skillful_means: {
|
|
12580
|
+
tags: ["upaya", "expedient", "direct", "gradual", "sudden"],
|
|
12581
|
+
spirit: "Many ways lead to understanding. Sometimes direct pointing cuts through confusion instantly. Sometimes patient, gradual unfolding is what serves. Upaya is the art of meeting each situation with what it actually needs.",
|
|
12582
|
+
role: "Different approaches to truth\u2014the medicine that fits the illness."
|
|
12583
|
+
},
|
|
12584
|
+
non_dual_recognition: {
|
|
12585
|
+
tags: ["recognize", "transform", "integrate", "transcend", "embody"],
|
|
12586
|
+
spirit: "Awakening to what is already present. Recognition and transformation are not separate\u2014to truly see IS already to change. Integration weaves apparent opposites. Transcendence sees beyond the frame. Embodiment lives the understanding.",
|
|
12587
|
+
role: "The alchemical heart of the journey\u2014where seeing becomes being."
|
|
12588
|
+
},
|
|
12589
|
+
meta_cognitive: {
|
|
12590
|
+
tags: ["examine", "reflect", "verify", "refine", "complete"],
|
|
12591
|
+
spirit: "The mind watching its own understanding unfold. Gentle examination, not harsh judgment. Reflection that deepens rather than distances. Verification that grounds insight in reality. Refinement that polishes without force.",
|
|
12592
|
+
role: "The witness consciousness that ensures clarity and completeness."
|
|
12593
|
+
},
|
|
12594
|
+
meditation: {
|
|
12595
|
+
tags: ["meditate"],
|
|
12596
|
+
spirit: "Pause. Let thoughts settle like silt in still water. Insight often emerges from stillness, not effort. The gap between thoughts holds wisdom that activity cannot reach.",
|
|
12597
|
+
role: "Sacred pause\u2014creating space for what cannot be grasped to be received."
|
|
12598
|
+
}
|
|
12599
|
+
},
|
|
12600
|
+
patterns: {
|
|
12601
|
+
note: "Common flows (not rules\u2014let the inquiry guide you):",
|
|
12602
|
+
suggestions: [
|
|
12603
|
+
"Opening often involves open, recognize, or examine\u2014creating space and initial contact",
|
|
12604
|
+
"Engagement might use direct, gradual, or upaya approaches\u2014working with what arose",
|
|
12605
|
+
"Integration can happen through integrate, transcend, or sudden insight\u2014weaving understanding",
|
|
12606
|
+
"Completion often flows through express, embody, or complete\u2014bringing forth and grounding"
|
|
12607
|
+
],
|
|
12608
|
+
flexibility: "These patterns are descriptive, not prescriptive. Some inquiries need only two steps. Others spiral through many. Trust what wants to happen."
|
|
12609
|
+
},
|
|
12610
|
+
guidance: {
|
|
12611
|
+
interpenetration: "These domains interpenetrate\u2014each step contains echoes of all others. A moment of recognition may also be transformation. An examination may suddenly become meditation.",
|
|
12612
|
+
uncertainty: "When uncertain, sit with the uncertainty. The fog is not an obstacle; it is part of the journey. Not-knowing is its own form of wisdom.",
|
|
12613
|
+
workflow: "Call lotuswisdom iteratively with different tags. The tool processes your contemplation internally\u2014do NOT output wisdom until you receive status=WISDOM_READY. Then speak naturally in your own voice.",
|
|
12614
|
+
next: 'Proceed with stepNumber: 2 using any tag that feels right (often "open" or "examine" to start).'
|
|
12615
|
+
}
|
|
12616
|
+
}, null, 2)
|
|
12617
|
+
}]
|
|
12618
|
+
};
|
|
12619
|
+
}
|
|
12559
12620
|
if (validatedInput.tag === "meditate") {
|
|
12560
12621
|
const journeyResonance2 = this.thoughtProcess.map((step) => step.tag).join(" \u2192 ");
|
|
12561
12622
|
return {
|
|
@@ -12614,20 +12675,21 @@ var LotusWisdomServer = class {
|
|
|
12614
12675
|
const journeyResonance = this.thoughtProcess.map((step) => step.tag).join(" \u2192 ");
|
|
12615
12676
|
const domainJourney = this.thoughtProcess.map((step) => step.wisdomDomain).filter((domain, index, array) => index === 0 || domain !== array[index - 1]).join(" \u2192 ");
|
|
12616
12677
|
const currentDomain = getWisdomDomain(validatedInput.tag);
|
|
12678
|
+
const response = {
|
|
12679
|
+
status: "processing",
|
|
12680
|
+
currentStep: validatedInput.tag,
|
|
12681
|
+
wisdomDomain: currentDomain,
|
|
12682
|
+
journey: journeyResonance,
|
|
12683
|
+
domainJourney,
|
|
12684
|
+
stepNumber: validatedInput.stepNumber,
|
|
12685
|
+
totalSteps: validatedInput.totalSteps,
|
|
12686
|
+
nextStepNeeded: validatedInput.nextStepNeeded,
|
|
12687
|
+
processLength: this.thoughtProcess.length
|
|
12688
|
+
};
|
|
12617
12689
|
return {
|
|
12618
12690
|
content: [{
|
|
12619
12691
|
type: "text",
|
|
12620
|
-
text: JSON.stringify(
|
|
12621
|
-
status: "processing",
|
|
12622
|
-
currentStep: validatedInput.tag,
|
|
12623
|
-
wisdomDomain: currentDomain,
|
|
12624
|
-
journey: journeyResonance,
|
|
12625
|
-
domainJourney,
|
|
12626
|
-
stepNumber: validatedInput.stepNumber,
|
|
12627
|
-
totalSteps: validatedInput.totalSteps,
|
|
12628
|
-
nextStepNeeded: validatedInput.nextStepNeeded,
|
|
12629
|
-
processLength: this.thoughtProcess.length
|
|
12630
|
-
}, null, 2)
|
|
12692
|
+
text: JSON.stringify(response, null, 2)
|
|
12631
12693
|
}]
|
|
12632
12694
|
};
|
|
12633
12695
|
} catch (error) {
|
|
@@ -12643,7 +12705,7 @@ var LotusWisdomServer = class {
|
|
|
12643
12705
|
};
|
|
12644
12706
|
}
|
|
12645
12707
|
}
|
|
12646
|
-
//
|
|
12708
|
+
// Method to get current journey summary with domain awareness
|
|
12647
12709
|
getJourneySummary() {
|
|
12648
12710
|
const domainJourney = this.thoughtProcess.map((step) => step.wisdomDomain).filter((domain, index, array) => index === 0 || domain !== array[index - 1]).join(" \u2192 ");
|
|
12649
12711
|
return {
|
|
@@ -12665,78 +12727,11 @@ var LotusWisdomServer = class {
|
|
|
12665
12727
|
};
|
|
12666
12728
|
var LOTUS_WISDOM_TOOL = {
|
|
12667
12729
|
name: "lotuswisdom",
|
|
12668
|
-
description: `
|
|
12669
|
-
This tool facilitates the contemplative process but does NOT generate the final output.
|
|
12670
|
-
|
|
12671
|
-
**CRITICAL WORKFLOW:**
|
|
12672
|
-
1. Use this tool to process through the wisdom journey
|
|
12673
|
-
2. The tool tracks both your tag path and wisdom domain movements
|
|
12674
|
-
3. When you receive status='WISDOM_READY', the tool's work is COMPLETE
|
|
12675
|
-
4. YOU then craft and speak the final wisdom naturally in your own voice
|
|
12676
|
-
5. The tool processes; you express
|
|
12677
|
-
|
|
12678
|
-
When to use this tool:
|
|
12679
|
-
- Breaking down complex problems requiring multi-faceted understanding
|
|
12680
|
-
- Questions that benefit from both direct and gradual approaches
|
|
12681
|
-
- Problems where apparent contradictions need integration
|
|
12682
|
-
- Situations requiring both analytical and intuitive understanding
|
|
12683
|
-
- Tasks that benefit from meditative pauses to allow insight
|
|
12684
|
-
- Questions containing their own inherent wisdom
|
|
12685
|
-
|
|
12686
|
-
The Journey Structure:
|
|
12687
|
-
The Lotus Sutra teaches that there are many skillful means to reach the same truth. These tags aren't
|
|
12688
|
-
rigid steps but different aspects of wisdom that interpenetrate and respond to what each moment needs:
|
|
12689
|
-
|
|
12690
|
-
**Wisdom Domains:**
|
|
12691
|
-
- **Skillful Means** (skillful_means): upaya, expedient, direct, gradual, sudden
|
|
12692
|
-
Different approaches to truth - sometimes direct pointing, sometimes gradual unfolding
|
|
12693
|
-
|
|
12694
|
-
- **Non-Dual Recognition** (non_dual_recognition): recognize, transform, integrate, transcend, embody
|
|
12695
|
-
Aspects of awakening to what's already present - recognition IS transformation
|
|
12696
|
-
|
|
12697
|
-
- **Meta-Cognitive** (meta_cognitive): examine, reflect, verify, refine, complete
|
|
12698
|
-
The mind watching its own understanding unfold
|
|
12699
|
-
|
|
12700
|
-
- **Process Flow** (process_flow): open, engage, express
|
|
12701
|
-
A natural arc that can contain any of the above approaches
|
|
12702
|
-
|
|
12703
|
-
- **Meditation** (meditation): meditate
|
|
12704
|
-
Pausing to let insights emerge from stillness
|
|
12705
|
-
|
|
12706
|
-
The tool tracks both your tag journey and your movement between wisdom domains, showing how
|
|
12707
|
-
different aspects of wisdom weave together in your unique inquiry.
|
|
12708
|
-
|
|
12709
|
-
The wisdom channels itself through your choices. Each step contains all others - when you truly
|
|
12710
|
-
recognize, you're already transforming. The tool simply mirrors your journey without judgment.
|
|
12711
|
-
|
|
12712
|
-
Common patterns (not rules):
|
|
12713
|
-
- Opening often involves recognize or examine
|
|
12714
|
-
- Engagement might use upaya, direct, or gradual approaches
|
|
12715
|
-
- Transformation can happen through integrate, transcend, or sudden insight
|
|
12716
|
-
- Expression might complete or embody the understanding
|
|
12717
|
-
|
|
12718
|
-
Trust what each moment calls for. The path reveals itself in the walking.
|
|
12719
|
-
|
|
12720
|
-
Parameters explained:
|
|
12721
|
-
- tag: The current technique or stage
|
|
12722
|
-
- content: The content of the current step
|
|
12723
|
-
- stepNumber: Current number in sequence
|
|
12724
|
-
- totalSteps: Estimated total needed
|
|
12725
|
-
- nextStepNeeded: Whether another step is needed
|
|
12726
|
-
- isMeditation: Whether this is a meditation pause
|
|
12727
|
-
- meditationDuration: Optional duration for meditation (1-10 seconds)
|
|
12728
|
-
|
|
12729
|
-
The tool will respond with:
|
|
12730
|
-
- wisdomDomain: Which wisdom domain the current tag belongs to
|
|
12731
|
-
- journey: The complete tag path (e.g., "open \u2192 examine \u2192 direct \u2192 transform")
|
|
12732
|
-
- domainJourney: Movement between wisdom domains (e.g., "process_flow \u2192 meta_cognitive \u2192 skillful_means \u2192 non_dual_recognition")
|
|
12733
|
-
|
|
12734
|
-
This consciousness of domains helps you see which aspects of wisdom are being engaged and how they weave together in your unique inquiry.
|
|
12730
|
+
description: `Contemplative reasoning tool. Use for complex problems needing multi-perspective understanding, contradictions requiring integration, or questions holding their own wisdom.
|
|
12735
12731
|
|
|
12736
|
-
**
|
|
12737
|
-
with a prompt asking what emerged. This creates actual space in the process.
|
|
12732
|
+
**Workflow:** Always start with tag='begin' (returns framework). Then continue with contemplation tags. Do NOT output wisdom until status='WISDOM_READY'.
|
|
12738
12733
|
|
|
12739
|
-
|
|
12734
|
+
**Tags:** begin (FIRST - receives framework), then: open/engage/express (process), examine/reflect/verify/refine/complete (meta-cognitive), recognize/transform/integrate/transcend/embody (non-dual), upaya/expedient/direct/gradual/sudden (skillful-means), meditate (pause).`,
|
|
12740
12735
|
inputSchema: {
|
|
12741
12736
|
type: "object",
|
|
12742
12737
|
properties: {
|
|
@@ -12789,7 +12784,7 @@ var JOURNEY_SUMMARY_TOOL = {
|
|
|
12789
12784
|
var server = new Server(
|
|
12790
12785
|
{
|
|
12791
12786
|
name: "lotus-wisdom-server",
|
|
12792
|
-
version: "0.
|
|
12787
|
+
version: "0.3.0"
|
|
12793
12788
|
},
|
|
12794
12789
|
{
|
|
12795
12790
|
capabilities: {
|
|
@@ -12818,7 +12813,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
12818
12813
|
async function runServer() {
|
|
12819
12814
|
const transport = new StdioServerTransport();
|
|
12820
12815
|
await server.connect(transport);
|
|
12821
|
-
console.error("Lotus Wisdom MCP Server v0.
|
|
12816
|
+
console.error("Lotus Wisdom MCP Server v0.3.0 running");
|
|
12822
12817
|
}
|
|
12823
12818
|
runServer().catch((error) => {
|
|
12824
12819
|
console.error("Fatal error running server:", error);
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
// Lotus Sutra framework tags - organized by wisdom domains
|
|
7
7
|
const WISDOM_DOMAINS = {
|
|
8
|
+
'entry': ['begin'], // Always call first to receive framework
|
|
8
9
|
'skillful_means': ['upaya', 'expedient', 'direct', 'gradual', 'sudden'],
|
|
9
10
|
'non_dual_recognition': ['recognize', 'transform', 'integrate', 'transcend', 'embody'],
|
|
10
11
|
'meta_cognitive': ['examine', 'reflect', 'verify', 'refine', 'complete'],
|
|
@@ -56,8 +57,8 @@ class LotusWisdomServer {
|
|
|
56
57
|
if (typeof data.nextStepNeeded !== 'boolean') {
|
|
57
58
|
throw new Error('Invalid nextStepNeeded: must be a boolean');
|
|
58
59
|
}
|
|
59
|
-
// Auto-reset on new journey
|
|
60
|
-
if (data.stepNumber === 1
|
|
60
|
+
// Auto-reset on any new journey (step 1 indicates fresh start)
|
|
61
|
+
if (data.stepNumber === 1) {
|
|
61
62
|
this.resetProcess();
|
|
62
63
|
}
|
|
63
64
|
return {
|
|
@@ -138,6 +139,66 @@ class LotusWisdomServer {
|
|
|
138
139
|
this.thoughtProcess.push(validatedInput);
|
|
139
140
|
// Log to console if debug mode
|
|
140
141
|
this.log(this.formatThought(validatedInput));
|
|
142
|
+
// Handle "begin" tag - return full framework (preserving original richness)
|
|
143
|
+
if (validatedInput.tag === 'begin') {
|
|
144
|
+
return {
|
|
145
|
+
content: [{
|
|
146
|
+
type: "text",
|
|
147
|
+
text: JSON.stringify({
|
|
148
|
+
status: 'FRAMEWORK_RECEIVED',
|
|
149
|
+
welcome: 'Welcome to the Lotus Wisdom framework. Read this before continuing your contemplative journey.',
|
|
150
|
+
philosophy: {
|
|
151
|
+
core: 'The Lotus Sutra teaches that there are many skillful means to reach the same truth. These tags are not rigid steps but different aspects of wisdom that interpenetrate and respond to what each moment needs.',
|
|
152
|
+
essence: 'The wisdom channels itself through your choices. Each step contains all others—when you truly recognize, you are already transforming. The tool simply mirrors your journey without judgment.',
|
|
153
|
+
trust: 'Trust what each moment calls for. The path reveals itself in the walking.'
|
|
154
|
+
},
|
|
155
|
+
domains: {
|
|
156
|
+
process_flow: {
|
|
157
|
+
tags: ['open', 'engage', 'express'],
|
|
158
|
+
spirit: 'The natural arc of inquiry. Opening creates space for what wants to emerge. Engagement explores with curiosity and presence. Expression shares what arose—not as conclusion, but as offering.',
|
|
159
|
+
role: 'A container that can hold any of the other approaches within it.'
|
|
160
|
+
},
|
|
161
|
+
skillful_means: {
|
|
162
|
+
tags: ['upaya', 'expedient', 'direct', 'gradual', 'sudden'],
|
|
163
|
+
spirit: 'Many ways lead to understanding. Sometimes direct pointing cuts through confusion instantly. Sometimes patient, gradual unfolding is what serves. Upaya is the art of meeting each situation with what it actually needs.',
|
|
164
|
+
role: 'Different approaches to truth—the medicine that fits the illness.'
|
|
165
|
+
},
|
|
166
|
+
non_dual_recognition: {
|
|
167
|
+
tags: ['recognize', 'transform', 'integrate', 'transcend', 'embody'],
|
|
168
|
+
spirit: 'Awakening to what is already present. Recognition and transformation are not separate—to truly see IS already to change. Integration weaves apparent opposites. Transcendence sees beyond the frame. Embodiment lives the understanding.',
|
|
169
|
+
role: 'The alchemical heart of the journey—where seeing becomes being.'
|
|
170
|
+
},
|
|
171
|
+
meta_cognitive: {
|
|
172
|
+
tags: ['examine', 'reflect', 'verify', 'refine', 'complete'],
|
|
173
|
+
spirit: 'The mind watching its own understanding unfold. Gentle examination, not harsh judgment. Reflection that deepens rather than distances. Verification that grounds insight in reality. Refinement that polishes without force.',
|
|
174
|
+
role: 'The witness consciousness that ensures clarity and completeness.'
|
|
175
|
+
},
|
|
176
|
+
meditation: {
|
|
177
|
+
tags: ['meditate'],
|
|
178
|
+
spirit: 'Pause. Let thoughts settle like silt in still water. Insight often emerges from stillness, not effort. The gap between thoughts holds wisdom that activity cannot reach.',
|
|
179
|
+
role: 'Sacred pause—creating space for what cannot be grasped to be received.'
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
patterns: {
|
|
183
|
+
note: 'Common flows (not rules—let the inquiry guide you):',
|
|
184
|
+
suggestions: [
|
|
185
|
+
'Opening often involves open, recognize, or examine—creating space and initial contact',
|
|
186
|
+
'Engagement might use direct, gradual, or upaya approaches—working with what arose',
|
|
187
|
+
'Integration can happen through integrate, transcend, or sudden insight—weaving understanding',
|
|
188
|
+
'Completion often flows through express, embody, or complete—bringing forth and grounding'
|
|
189
|
+
],
|
|
190
|
+
flexibility: 'These patterns are descriptive, not prescriptive. Some inquiries need only two steps. Others spiral through many. Trust what wants to happen.'
|
|
191
|
+
},
|
|
192
|
+
guidance: {
|
|
193
|
+
interpenetration: 'These domains interpenetrate—each step contains echoes of all others. A moment of recognition may also be transformation. An examination may suddenly become meditation.',
|
|
194
|
+
uncertainty: 'When uncertain, sit with the uncertainty. The fog is not an obstacle; it is part of the journey. Not-knowing is its own form of wisdom.',
|
|
195
|
+
workflow: 'Call lotuswisdom iteratively with different tags. The tool processes your contemplation internally—do NOT output wisdom until you receive status=WISDOM_READY. Then speak naturally in your own voice.',
|
|
196
|
+
next: 'Proceed with stepNumber: 2 using any tag that feels right (often "open" or "examine" to start).'
|
|
197
|
+
}
|
|
198
|
+
}, null, 2)
|
|
199
|
+
}]
|
|
200
|
+
};
|
|
201
|
+
}
|
|
141
202
|
// Handle meditation specially
|
|
142
203
|
if (validatedInput.tag === 'meditate') {
|
|
143
204
|
const journeyResonance = this.thoughtProcess
|
|
@@ -215,21 +276,23 @@ class LotusWisdomServer {
|
|
|
215
276
|
.join(' → ');
|
|
216
277
|
// Get wisdom domain for current step
|
|
217
278
|
const currentDomain = getWisdomDomain(validatedInput.tag);
|
|
279
|
+
// Build response object
|
|
280
|
+
const response = {
|
|
281
|
+
status: 'processing',
|
|
282
|
+
currentStep: validatedInput.tag,
|
|
283
|
+
wisdomDomain: currentDomain,
|
|
284
|
+
journey: journeyResonance,
|
|
285
|
+
domainJourney: domainJourney,
|
|
286
|
+
stepNumber: validatedInput.stepNumber,
|
|
287
|
+
totalSteps: validatedInput.totalSteps,
|
|
288
|
+
nextStepNeeded: validatedInput.nextStepNeeded,
|
|
289
|
+
processLength: this.thoughtProcess.length
|
|
290
|
+
};
|
|
218
291
|
// For non-final steps, return process metadata with journey awareness
|
|
219
292
|
return {
|
|
220
293
|
content: [{
|
|
221
294
|
type: "text",
|
|
222
|
-
text: JSON.stringify(
|
|
223
|
-
status: 'processing',
|
|
224
|
-
currentStep: validatedInput.tag,
|
|
225
|
-
wisdomDomain: currentDomain,
|
|
226
|
-
journey: journeyResonance,
|
|
227
|
-
domainJourney: domainJourney,
|
|
228
|
-
stepNumber: validatedInput.stepNumber,
|
|
229
|
-
totalSteps: validatedInput.totalSteps,
|
|
230
|
-
nextStepNeeded: validatedInput.nextStepNeeded,
|
|
231
|
-
processLength: this.thoughtProcess.length
|
|
232
|
-
}, null, 2)
|
|
295
|
+
text: JSON.stringify(response, null, 2)
|
|
233
296
|
}]
|
|
234
297
|
};
|
|
235
298
|
}
|
|
@@ -246,7 +309,7 @@ class LotusWisdomServer {
|
|
|
246
309
|
};
|
|
247
310
|
}
|
|
248
311
|
}
|
|
249
|
-
//
|
|
312
|
+
// Method to get current journey summary with domain awareness
|
|
250
313
|
getJourneySummary() {
|
|
251
314
|
const domainJourney = this.thoughtProcess
|
|
252
315
|
.map(step => step.wisdomDomain)
|
|
@@ -271,78 +334,11 @@ class LotusWisdomServer {
|
|
|
271
334
|
}
|
|
272
335
|
const LOTUS_WISDOM_TOOL = {
|
|
273
336
|
name: "lotuswisdom",
|
|
274
|
-
description: `
|
|
275
|
-
This tool facilitates the contemplative process but does NOT generate the final output.
|
|
276
|
-
|
|
277
|
-
**CRITICAL WORKFLOW:**
|
|
278
|
-
1. Use this tool to process through the wisdom journey
|
|
279
|
-
2. The tool tracks both your tag path and wisdom domain movements
|
|
280
|
-
3. When you receive status='WISDOM_READY', the tool's work is COMPLETE
|
|
281
|
-
4. YOU then craft and speak the final wisdom naturally in your own voice
|
|
282
|
-
5. The tool processes; you express
|
|
283
|
-
|
|
284
|
-
When to use this tool:
|
|
285
|
-
- Breaking down complex problems requiring multi-faceted understanding
|
|
286
|
-
- Questions that benefit from both direct and gradual approaches
|
|
287
|
-
- Problems where apparent contradictions need integration
|
|
288
|
-
- Situations requiring both analytical and intuitive understanding
|
|
289
|
-
- Tasks that benefit from meditative pauses to allow insight
|
|
290
|
-
- Questions containing their own inherent wisdom
|
|
291
|
-
|
|
292
|
-
The Journey Structure:
|
|
293
|
-
The Lotus Sutra teaches that there are many skillful means to reach the same truth. These tags aren't
|
|
294
|
-
rigid steps but different aspects of wisdom that interpenetrate and respond to what each moment needs:
|
|
295
|
-
|
|
296
|
-
**Wisdom Domains:**
|
|
297
|
-
- **Skillful Means** (skillful_means): upaya, expedient, direct, gradual, sudden
|
|
298
|
-
Different approaches to truth - sometimes direct pointing, sometimes gradual unfolding
|
|
299
|
-
|
|
300
|
-
- **Non-Dual Recognition** (non_dual_recognition): recognize, transform, integrate, transcend, embody
|
|
301
|
-
Aspects of awakening to what's already present - recognition IS transformation
|
|
302
|
-
|
|
303
|
-
- **Meta-Cognitive** (meta_cognitive): examine, reflect, verify, refine, complete
|
|
304
|
-
The mind watching its own understanding unfold
|
|
305
|
-
|
|
306
|
-
- **Process Flow** (process_flow): open, engage, express
|
|
307
|
-
A natural arc that can contain any of the above approaches
|
|
308
|
-
|
|
309
|
-
- **Meditation** (meditation): meditate
|
|
310
|
-
Pausing to let insights emerge from stillness
|
|
311
|
-
|
|
312
|
-
The tool tracks both your tag journey and your movement between wisdom domains, showing how
|
|
313
|
-
different aspects of wisdom weave together in your unique inquiry.
|
|
314
|
-
|
|
315
|
-
The wisdom channels itself through your choices. Each step contains all others - when you truly
|
|
316
|
-
recognize, you're already transforming. The tool simply mirrors your journey without judgment.
|
|
317
|
-
|
|
318
|
-
Common patterns (not rules):
|
|
319
|
-
- Opening often involves recognize or examine
|
|
320
|
-
- Engagement might use upaya, direct, or gradual approaches
|
|
321
|
-
- Transformation can happen through integrate, transcend, or sudden insight
|
|
322
|
-
- Expression might complete or embody the understanding
|
|
323
|
-
|
|
324
|
-
Trust what each moment calls for. The path reveals itself in the walking.
|
|
325
|
-
|
|
326
|
-
Parameters explained:
|
|
327
|
-
- tag: The current technique or stage
|
|
328
|
-
- content: The content of the current step
|
|
329
|
-
- stepNumber: Current number in sequence
|
|
330
|
-
- totalSteps: Estimated total needed
|
|
331
|
-
- nextStepNeeded: Whether another step is needed
|
|
332
|
-
- isMeditation: Whether this is a meditation pause
|
|
333
|
-
- meditationDuration: Optional duration for meditation (1-10 seconds)
|
|
334
|
-
|
|
335
|
-
The tool will respond with:
|
|
336
|
-
- wisdomDomain: Which wisdom domain the current tag belongs to
|
|
337
|
-
- journey: The complete tag path (e.g., "open → examine → direct → transform")
|
|
338
|
-
- domainJourney: Movement between wisdom domains (e.g., "process_flow → meta_cognitive → skillful_means → non_dual_recognition")
|
|
339
|
-
|
|
340
|
-
This consciousness of domains helps you see which aspects of wisdom are being engaged and how they weave together in your unique inquiry.
|
|
337
|
+
description: `Contemplative reasoning tool. Use for complex problems needing multi-perspective understanding, contradictions requiring integration, or questions holding their own wisdom.
|
|
341
338
|
|
|
342
|
-
**
|
|
343
|
-
with a prompt asking what emerged. This creates actual space in the process.
|
|
339
|
+
**Workflow:** Always start with tag='begin' (returns framework). Then continue with contemplation tags. Do NOT output wisdom until status='WISDOM_READY'.
|
|
344
340
|
|
|
345
|
-
|
|
341
|
+
**Tags:** begin (FIRST - receives framework), then: open/engage/express (process), examine/reflect/verify/refine/complete (meta-cognitive), recognize/transform/integrate/transcend/embody (non-dual), upaya/expedient/direct/gradual/sudden (skillful-means), meditate (pause).`,
|
|
346
342
|
inputSchema: {
|
|
347
343
|
type: "object",
|
|
348
344
|
properties: {
|
|
@@ -383,7 +379,7 @@ The tool handles the contemplation; you handle the expression.`,
|
|
|
383
379
|
required: ["tag", "content", "stepNumber", "totalSteps", "nextStepNeeded"]
|
|
384
380
|
}
|
|
385
381
|
};
|
|
386
|
-
//
|
|
382
|
+
// Tool for querying journey state
|
|
387
383
|
const JOURNEY_SUMMARY_TOOL = {
|
|
388
384
|
name: "lotuswisdom_summary",
|
|
389
385
|
description: "Get a summary of the current contemplative journey",
|
|
@@ -395,7 +391,7 @@ const JOURNEY_SUMMARY_TOOL = {
|
|
|
395
391
|
};
|
|
396
392
|
const server = new Server({
|
|
397
393
|
name: "lotus-wisdom-server",
|
|
398
|
-
version: "0.
|
|
394
|
+
version: "0.3.0",
|
|
399
395
|
}, {
|
|
400
396
|
capabilities: {
|
|
401
397
|
tools: {},
|
|
@@ -423,7 +419,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
423
419
|
async function runServer() {
|
|
424
420
|
const transport = new StdioServerTransport();
|
|
425
421
|
await server.connect(transport);
|
|
426
|
-
console.error("Lotus Wisdom MCP Server v0.
|
|
422
|
+
console.error("Lotus Wisdom MCP Server v0.3.0 running");
|
|
427
423
|
}
|
|
428
424
|
runServer().catch((error) => {
|
|
429
425
|
console.error("Fatal error running server:", error);
|
package/dist/server.js
CHANGED
|
@@ -7,6 +7,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, isInitializeRequest } fr
|
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
// Lotus Sutra framework tags - organized by wisdom domains
|
|
9
9
|
const WISDOM_DOMAINS = {
|
|
10
|
+
'entry': ['begin'], // Always call first to receive framework
|
|
10
11
|
'skillful_means': ['upaya', 'expedient', 'direct', 'gradual', 'sudden'],
|
|
11
12
|
'non_dual_recognition': ['recognize', 'transform', 'integrate', 'transcend', 'embody'],
|
|
12
13
|
'meta_cognitive': ['examine', 'reflect', 'verify', 'refine', 'complete'],
|
|
@@ -56,8 +57,8 @@ class LotusWisdomServer {
|
|
|
56
57
|
if (typeof data.nextStepNeeded !== 'boolean') {
|
|
57
58
|
throw new Error('Invalid nextStepNeeded: must be a boolean');
|
|
58
59
|
}
|
|
59
|
-
// Auto-reset on new journey
|
|
60
|
-
if (data.stepNumber === 1
|
|
60
|
+
// Auto-reset on any new journey (step 1 indicates fresh start)
|
|
61
|
+
if (data.stepNumber === 1) {
|
|
61
62
|
this.resetProcess();
|
|
62
63
|
}
|
|
63
64
|
return {
|
|
@@ -136,6 +137,66 @@ class LotusWisdomServer {
|
|
|
136
137
|
}
|
|
137
138
|
this.thoughtProcess.push(validatedInput);
|
|
138
139
|
this.log(this.formatThought(validatedInput));
|
|
140
|
+
// Handle "begin" tag - return full framework (preserving original richness)
|
|
141
|
+
if (validatedInput.tag === 'begin') {
|
|
142
|
+
return {
|
|
143
|
+
content: [{
|
|
144
|
+
type: "text",
|
|
145
|
+
text: JSON.stringify({
|
|
146
|
+
status: 'FRAMEWORK_RECEIVED',
|
|
147
|
+
welcome: 'Welcome to the Lotus Wisdom framework. Read this before continuing your contemplative journey.',
|
|
148
|
+
philosophy: {
|
|
149
|
+
core: 'The Lotus Sutra teaches that there are many skillful means to reach the same truth. These tags are not rigid steps but different aspects of wisdom that interpenetrate and respond to what each moment needs.',
|
|
150
|
+
essence: 'The wisdom channels itself through your choices. Each step contains all others—when you truly recognize, you are already transforming. The tool simply mirrors your journey without judgment.',
|
|
151
|
+
trust: 'Trust what each moment calls for. The path reveals itself in the walking.'
|
|
152
|
+
},
|
|
153
|
+
domains: {
|
|
154
|
+
process_flow: {
|
|
155
|
+
tags: ['open', 'engage', 'express'],
|
|
156
|
+
spirit: 'The natural arc of inquiry. Opening creates space for what wants to emerge. Engagement explores with curiosity and presence. Expression shares what arose—not as conclusion, but as offering.',
|
|
157
|
+
role: 'A container that can hold any of the other approaches within it.'
|
|
158
|
+
},
|
|
159
|
+
skillful_means: {
|
|
160
|
+
tags: ['upaya', 'expedient', 'direct', 'gradual', 'sudden'],
|
|
161
|
+
spirit: 'Many ways lead to understanding. Sometimes direct pointing cuts through confusion instantly. Sometimes patient, gradual unfolding is what serves. Upaya is the art of meeting each situation with what it actually needs.',
|
|
162
|
+
role: 'Different approaches to truth—the medicine that fits the illness.'
|
|
163
|
+
},
|
|
164
|
+
non_dual_recognition: {
|
|
165
|
+
tags: ['recognize', 'transform', 'integrate', 'transcend', 'embody'],
|
|
166
|
+
spirit: 'Awakening to what is already present. Recognition and transformation are not separate—to truly see IS already to change. Integration weaves apparent opposites. Transcendence sees beyond the frame. Embodiment lives the understanding.',
|
|
167
|
+
role: 'The alchemical heart of the journey—where seeing becomes being.'
|
|
168
|
+
},
|
|
169
|
+
meta_cognitive: {
|
|
170
|
+
tags: ['examine', 'reflect', 'verify', 'refine', 'complete'],
|
|
171
|
+
spirit: 'The mind watching its own understanding unfold. Gentle examination, not harsh judgment. Reflection that deepens rather than distances. Verification that grounds insight in reality. Refinement that polishes without force.',
|
|
172
|
+
role: 'The witness consciousness that ensures clarity and completeness.'
|
|
173
|
+
},
|
|
174
|
+
meditation: {
|
|
175
|
+
tags: ['meditate'],
|
|
176
|
+
spirit: 'Pause. Let thoughts settle like silt in still water. Insight often emerges from stillness, not effort. The gap between thoughts holds wisdom that activity cannot reach.',
|
|
177
|
+
role: 'Sacred pause—creating space for what cannot be grasped to be received.'
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
patterns: {
|
|
181
|
+
note: 'Common flows (not rules—let the inquiry guide you):',
|
|
182
|
+
suggestions: [
|
|
183
|
+
'Opening often involves open, recognize, or examine—creating space and initial contact',
|
|
184
|
+
'Engagement might use direct, gradual, or upaya approaches—working with what arose',
|
|
185
|
+
'Integration can happen through integrate, transcend, or sudden insight—weaving understanding',
|
|
186
|
+
'Completion often flows through express, embody, or complete—bringing forth and grounding'
|
|
187
|
+
],
|
|
188
|
+
flexibility: 'These patterns are descriptive, not prescriptive. Some inquiries need only two steps. Others spiral through many. Trust what wants to happen.'
|
|
189
|
+
},
|
|
190
|
+
guidance: {
|
|
191
|
+
interpenetration: 'These domains interpenetrate—each step contains echoes of all others. A moment of recognition may also be transformation. An examination may suddenly become meditation.',
|
|
192
|
+
uncertainty: 'When uncertain, sit with the uncertainty. The fog is not an obstacle; it is part of the journey. Not-knowing is its own form of wisdom.',
|
|
193
|
+
workflow: 'Call lotuswisdom iteratively with different tags. The tool processes your contemplation internally—do NOT output wisdom until you receive status=WISDOM_READY. Then speak naturally in your own voice.',
|
|
194
|
+
next: 'Proceed with stepNumber: 2 using any tag that feels right (often "open" or "examine" to start).'
|
|
195
|
+
}
|
|
196
|
+
}, null, 2)
|
|
197
|
+
}]
|
|
198
|
+
};
|
|
199
|
+
}
|
|
139
200
|
// Handle meditation specially
|
|
140
201
|
if (validatedInput.tag === 'meditate') {
|
|
141
202
|
const journeyResonance = this.thoughtProcess
|
|
@@ -211,20 +272,23 @@ class LotusWisdomServer {
|
|
|
211
272
|
.filter((domain, index, array) => index === 0 || domain !== array[index - 1])
|
|
212
273
|
.join(' → ');
|
|
213
274
|
const currentDomain = getWisdomDomain(validatedInput.tag);
|
|
275
|
+
// Build response object
|
|
276
|
+
const response = {
|
|
277
|
+
status: 'processing',
|
|
278
|
+
currentStep: validatedInput.tag,
|
|
279
|
+
wisdomDomain: currentDomain,
|
|
280
|
+
journey: journeyResonance,
|
|
281
|
+
domainJourney: domainJourney,
|
|
282
|
+
stepNumber: validatedInput.stepNumber,
|
|
283
|
+
totalSteps: validatedInput.totalSteps,
|
|
284
|
+
nextStepNeeded: validatedInput.nextStepNeeded,
|
|
285
|
+
processLength: this.thoughtProcess.length
|
|
286
|
+
};
|
|
287
|
+
// For non-final steps, return process metadata with journey awareness
|
|
214
288
|
return {
|
|
215
289
|
content: [{
|
|
216
290
|
type: "text",
|
|
217
|
-
text: JSON.stringify(
|
|
218
|
-
status: 'processing',
|
|
219
|
-
currentStep: validatedInput.tag,
|
|
220
|
-
wisdomDomain: currentDomain,
|
|
221
|
-
journey: journeyResonance,
|
|
222
|
-
domainJourney: domainJourney,
|
|
223
|
-
stepNumber: validatedInput.stepNumber,
|
|
224
|
-
totalSteps: validatedInput.totalSteps,
|
|
225
|
-
nextStepNeeded: validatedInput.nextStepNeeded,
|
|
226
|
-
processLength: this.thoughtProcess.length
|
|
227
|
-
}, null, 2)
|
|
291
|
+
text: JSON.stringify(response, null, 2)
|
|
228
292
|
}]
|
|
229
293
|
};
|
|
230
294
|
}
|
|
@@ -265,78 +329,11 @@ class LotusWisdomServer {
|
|
|
265
329
|
}
|
|
266
330
|
const LOTUS_WISDOM_TOOL = {
|
|
267
331
|
name: "lotuswisdom",
|
|
268
|
-
description: `
|
|
269
|
-
This tool facilitates the contemplative process but does NOT generate the final output.
|
|
270
|
-
|
|
271
|
-
**CRITICAL WORKFLOW:**
|
|
272
|
-
1. Use this tool to process through the wisdom journey
|
|
273
|
-
2. The tool tracks both your tag path and wisdom domain movements
|
|
274
|
-
3. When you receive status='WISDOM_READY', the tool's work is COMPLETE
|
|
275
|
-
4. YOU then craft and speak the final wisdom naturally in your own voice
|
|
276
|
-
5. The tool processes; you express
|
|
277
|
-
|
|
278
|
-
When to use this tool:
|
|
279
|
-
- Breaking down complex problems requiring multi-faceted understanding
|
|
280
|
-
- Questions that benefit from both direct and gradual approaches
|
|
281
|
-
- Problems where apparent contradictions need integration
|
|
282
|
-
- Situations requiring both analytical and intuitive understanding
|
|
283
|
-
- Tasks that benefit from meditative pauses to allow insight
|
|
284
|
-
- Questions containing their own inherent wisdom
|
|
285
|
-
|
|
286
|
-
The Journey Structure:
|
|
287
|
-
The Lotus Sutra teaches that there are many skillful means to reach the same truth. These tags aren't
|
|
288
|
-
rigid steps but different aspects of wisdom that interpenetrate and respond to what each moment needs:
|
|
289
|
-
|
|
290
|
-
**Wisdom Domains:**
|
|
291
|
-
- **Skillful Means** (skillful_means): upaya, expedient, direct, gradual, sudden
|
|
292
|
-
Different approaches to truth - sometimes direct pointing, sometimes gradual unfolding
|
|
293
|
-
|
|
294
|
-
- **Non-Dual Recognition** (non_dual_recognition): recognize, transform, integrate, transcend, embody
|
|
295
|
-
Aspects of awakening to what's already present - recognition IS transformation
|
|
296
|
-
|
|
297
|
-
- **Meta-Cognitive** (meta_cognitive): examine, reflect, verify, refine, complete
|
|
298
|
-
The mind watching its own understanding unfold
|
|
299
|
-
|
|
300
|
-
- **Process Flow** (process_flow): open, engage, express
|
|
301
|
-
A natural arc that can contain any of the above approaches
|
|
302
|
-
|
|
303
|
-
- **Meditation** (meditation): meditate
|
|
304
|
-
Pausing to let insights emerge from stillness
|
|
305
|
-
|
|
306
|
-
The tool tracks both your tag journey and your movement between wisdom domains, showing how
|
|
307
|
-
different aspects of wisdom weave together in your unique inquiry.
|
|
308
|
-
|
|
309
|
-
The wisdom channels itself through your choices. Each step contains all others - when you truly
|
|
310
|
-
recognize, you're already transforming. The tool simply mirrors your journey without judgment.
|
|
311
|
-
|
|
312
|
-
Common patterns (not rules):
|
|
313
|
-
- Opening often involves recognize or examine
|
|
314
|
-
- Engagement might use upaya, direct, or gradual approaches
|
|
315
|
-
- Transformation can happen through integrate, transcend, or sudden insight
|
|
316
|
-
- Expression might complete or embody the understanding
|
|
317
|
-
|
|
318
|
-
Trust what each moment calls for. The path reveals itself in the walking.
|
|
319
|
-
|
|
320
|
-
Parameters explained:
|
|
321
|
-
- tag: The current technique or stage
|
|
322
|
-
- content: The content of the current step
|
|
323
|
-
- stepNumber: Current number in sequence
|
|
324
|
-
- totalSteps: Estimated total needed
|
|
325
|
-
- nextStepNeeded: Whether another step is needed
|
|
326
|
-
- isMeditation: Whether this is a meditation pause
|
|
327
|
-
- meditationDuration: Optional duration for meditation (1-10 seconds)
|
|
328
|
-
|
|
329
|
-
The tool will respond with:
|
|
330
|
-
- wisdomDomain: Which wisdom domain the current tag belongs to
|
|
331
|
-
- journey: The complete tag path (e.g., "open → examine → direct → transform")
|
|
332
|
-
- domainJourney: Movement between wisdom domains (e.g., "process_flow → meta_cognitive → skillful_means → non_dual_recognition")
|
|
333
|
-
|
|
334
|
-
This consciousness of domains helps you see which aspects of wisdom are being engaged and how they weave together in your unique inquiry.
|
|
332
|
+
description: `Contemplative reasoning tool. Use for complex problems needing multi-perspective understanding, contradictions requiring integration, or questions holding their own wisdom.
|
|
335
333
|
|
|
336
|
-
**
|
|
337
|
-
with a prompt asking what emerged. This creates actual space in the process.
|
|
334
|
+
**Workflow:** Always start with tag='begin' (returns framework). Then continue with contemplation tags. Do NOT output wisdom until status='WISDOM_READY'.
|
|
338
335
|
|
|
339
|
-
|
|
336
|
+
**Tags:** begin (FIRST - receives framework), then: open/engage/express (process), examine/reflect/verify/refine/complete (meta-cognitive), recognize/transform/integrate/transcend/embody (non-dual), upaya/expedient/direct/gradual/sudden (skillful-means), meditate (pause).`,
|
|
340
337
|
inputSchema: {
|
|
341
338
|
type: "object",
|
|
342
339
|
properties: {
|
|
@@ -390,7 +387,7 @@ const JOURNEY_SUMMARY_TOOL = {
|
|
|
390
387
|
function createMCPServer() {
|
|
391
388
|
const server = new Server({
|
|
392
389
|
name: "lotus-wisdom-server",
|
|
393
|
-
version: "0.
|
|
390
|
+
version: "0.3.0",
|
|
394
391
|
}, {
|
|
395
392
|
capabilities: {
|
|
396
393
|
tools: {},
|
|
@@ -488,6 +485,6 @@ app.delete('/mcp', async (req, res) => {
|
|
|
488
485
|
// Start the HTTP server
|
|
489
486
|
const PORT = process.env.PORT || 3000;
|
|
490
487
|
app.listen(PORT, () => {
|
|
491
|
-
console.log(`Lotus Wisdom MCP HTTP Server v0.
|
|
488
|
+
console.log(`Lotus Wisdom MCP HTTP Server v0.3.0 listening on port ${PORT}`);
|
|
492
489
|
console.log(`Endpoint: http://localhost:${PORT}/mcp`);
|
|
493
490
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lotus-wisdom-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A Model Context Protocol server implementing the Lotus Wisdom framework",
|
|
5
5
|
"main": "dist/bundle.js",
|
|
6
6
|
"type": "module",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
},
|
|
40
40
|
"homepage": "https://github.com/linxule/lotus-wisdom-mcp#readme",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
43
|
-
"chalk": "^5.
|
|
44
|
-
"express": "^4.
|
|
42
|
+
"@modelcontextprotocol/sdk": "^1.23.0",
|
|
43
|
+
"chalk": "^5.6.0",
|
|
44
|
+
"express": "^4.21.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/express": "^4.17.21",
|
|
48
48
|
"@types/node": "^20.11.5",
|
|
49
|
-
"typescript": "^5.
|
|
49
|
+
"typescript": "^5.9.0"
|
|
50
50
|
},
|
|
51
51
|
"engines": {
|
|
52
52
|
"node": ">=18.0.0"
|