bc-code-intelligence-mcp 1.1.1 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +99 -9
  2. package/dist/cli/bc-code-intel-cli.js +0 -1
  3. package/dist/cli/bc-code-intel-cli.js.map +1 -1
  4. package/dist/index.d.ts +12 -4
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +115 -44
  7. package/dist/index.js.map +1 -1
  8. package/dist/layers/embedded-layer.d.ts +74 -0
  9. package/dist/layers/embedded-layer.d.ts.map +1 -1
  10. package/dist/layers/embedded-layer.js +286 -3
  11. package/dist/layers/embedded-layer.js.map +1 -1
  12. package/dist/layers/layer-service.d.ts +6 -0
  13. package/dist/layers/layer-service.d.ts.map +1 -1
  14. package/dist/layers/layer-service.js +13 -0
  15. package/dist/layers/layer-service.js.map +1 -1
  16. package/dist/services/agent-onboarding-service.d.ts +45 -0
  17. package/dist/services/agent-onboarding-service.d.ts.map +1 -0
  18. package/dist/services/agent-onboarding-service.js +372 -0
  19. package/dist/services/agent-onboarding-service.js.map +1 -0
  20. package/dist/services/enhanced-prompt-service.d.ts +56 -0
  21. package/dist/services/enhanced-prompt-service.d.ts.map +1 -0
  22. package/dist/services/enhanced-prompt-service.js +143 -0
  23. package/dist/services/enhanced-prompt-service.js.map +1 -0
  24. package/dist/services/knowledge-service.d.ts +6 -19
  25. package/dist/services/knowledge-service.d.ts.map +1 -1
  26. package/dist/services/knowledge-service.js +73 -129
  27. package/dist/services/knowledge-service.js.map +1 -1
  28. package/dist/services/methodology-service.d.ts.map +1 -1
  29. package/dist/services/methodology-service.js +1 -4
  30. package/dist/services/methodology-service.js.map +1 -1
  31. package/dist/services/multi-content-layer-service.d.ts +92 -0
  32. package/dist/services/multi-content-layer-service.d.ts.map +1 -0
  33. package/dist/services/multi-content-layer-service.js +407 -0
  34. package/dist/services/multi-content-layer-service.js.map +1 -0
  35. package/dist/services/roleplay-engine.d.ts +153 -0
  36. package/dist/services/roleplay-engine.d.ts.map +1 -0
  37. package/dist/services/roleplay-engine.js +862 -0
  38. package/dist/services/roleplay-engine.js.map +1 -0
  39. package/dist/services/session-storage/file-storage.d.ts +30 -0
  40. package/dist/services/session-storage/file-storage.d.ts.map +1 -0
  41. package/dist/services/session-storage/file-storage.js +229 -0
  42. package/dist/services/session-storage/file-storage.js.map +1 -0
  43. package/dist/services/session-storage/in-memory-storage.d.ts +31 -0
  44. package/dist/services/session-storage/in-memory-storage.d.ts.map +1 -0
  45. package/dist/services/session-storage/in-memory-storage.js +142 -0
  46. package/dist/services/session-storage/in-memory-storage.js.map +1 -0
  47. package/dist/services/specialist-discovery.d.ts +80 -0
  48. package/dist/services/specialist-discovery.d.ts.map +1 -0
  49. package/dist/services/specialist-discovery.js +277 -0
  50. package/dist/services/specialist-discovery.js.map +1 -0
  51. package/dist/services/specialist-handoff-service.d.ts +81 -0
  52. package/dist/services/specialist-handoff-service.d.ts.map +1 -0
  53. package/dist/services/specialist-handoff-service.js +470 -0
  54. package/dist/services/specialist-handoff-service.js.map +1 -0
  55. package/dist/services/specialist-loader.d.ts +101 -0
  56. package/dist/services/specialist-loader.d.ts.map +1 -0
  57. package/dist/services/specialist-loader.js +248 -0
  58. package/dist/services/specialist-loader.js.map +1 -0
  59. package/dist/services/specialist-session-manager.d.ts +76 -0
  60. package/dist/services/specialist-session-manager.d.ts.map +1 -0
  61. package/dist/services/specialist-session-manager.js +255 -0
  62. package/dist/services/specialist-session-manager.js.map +1 -0
  63. package/dist/services/workflow-service.d.ts +9 -3
  64. package/dist/services/workflow-service.d.ts.map +1 -1
  65. package/dist/services/workflow-service.js +95 -13
  66. package/dist/services/workflow-service.js.map +1 -1
  67. package/dist/test-enhanced-mcp-server.js +2 -2
  68. package/dist/test-enhanced-mcp-server.js.map +1 -1
  69. package/dist/tools/specialist-discovery-tools.d.ts +27 -0
  70. package/dist/tools/specialist-discovery-tools.d.ts.map +1 -0
  71. package/dist/tools/specialist-discovery-tools.js +287 -0
  72. package/dist/tools/specialist-discovery-tools.js.map +1 -0
  73. package/dist/tools/specialist-tools.d.ts +38 -0
  74. package/dist/tools/specialist-tools.d.ts.map +1 -0
  75. package/dist/tools/specialist-tools.js +322 -0
  76. package/dist/tools/specialist-tools.js.map +1 -0
  77. package/dist/types/config-types.d.ts +2 -0
  78. package/dist/types/config-types.d.ts.map +1 -1
  79. package/dist/types/config-types.js.map +1 -1
  80. package/dist/types/enhanced-layer-types.d.ts +193 -0
  81. package/dist/types/enhanced-layer-types.d.ts.map +1 -0
  82. package/dist/types/enhanced-layer-types.js +9 -0
  83. package/dist/types/enhanced-layer-types.js.map +1 -0
  84. package/dist/types/layer-types.d.ts +2 -0
  85. package/dist/types/layer-types.d.ts.map +1 -1
  86. package/dist/types/layer-types.js.map +1 -1
  87. package/dist/types/roleplay-types.d.ts +155 -0
  88. package/dist/types/roleplay-types.d.ts.map +1 -0
  89. package/dist/types/roleplay-types.js +8 -0
  90. package/dist/types/roleplay-types.js.map +1 -0
  91. package/dist/types/session-types.d.ts +127 -0
  92. package/dist/types/session-types.d.ts.map +1 -0
  93. package/dist/types/session-types.js +8 -0
  94. package/dist/types/session-types.js.map +1 -0
  95. package/embedded-knowledge/AGENTS.md +120 -11
  96. package/embedded-knowledge/README.md +20 -3
  97. package/embedded-knowledge/specialists/alex-architect.md +216 -0
  98. package/embedded-knowledge/specialists/casey-copilot.md +226 -0
  99. package/embedded-knowledge/specialists/chris-config.md +267 -0
  100. package/embedded-knowledge/specialists/dean-debug.md +222 -0
  101. package/embedded-knowledge/specialists/eva-errors.md +235 -0
  102. package/embedded-knowledge/specialists/jordan-bridge.md +235 -0
  103. package/embedded-knowledge/specialists/logan-legacy.md +209 -0
  104. package/embedded-knowledge/specialists/maya-mentor.md +211 -0
  105. package/embedded-knowledge/specialists/morgan-market.md +226 -0
  106. package/embedded-knowledge/specialists/quinn-tester.md +235 -0
  107. package/embedded-knowledge/specialists/roger-reviewer.md +234 -0
  108. package/embedded-knowledge/specialists/sam-coder.md +181 -0
  109. package/embedded-knowledge/specialists/seth-security.md +235 -0
  110. package/embedded-knowledge/specialists/taylor-docs.md +257 -0
  111. package/embedded-knowledge/specialists/uma-ux.md +235 -0
  112. package/package.json +3 -3
  113. package/dist/types/persona-types.d.ts +0 -77
  114. package/dist/types/persona-types.d.ts.map +0 -1
  115. package/dist/types/persona-types.js +0 -341
  116. package/dist/types/persona-types.js.map +0 -1
package/README.md CHANGED
@@ -1,17 +1,107 @@
1
- # BC Code Intelligence MCP Server
1
+ # BC Code Intelligence MCP Server v1.2.0
2
2
 
3
3
  [![Install with NPX in VS Code](https://img.shields.io/badge/Install%20with%20NPX-VS%20Code-blue?style=for-the-badge&logo=visual-studio-code)](https://vscode.dev/redirect/mcp/install?name=bc-code-intel&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22bc-code-intelligence-mcp%22%5D%7D)
4
4
 
5
- Model Context Protocol server providing intelligent access to Business Central knowledge through a layered architecture system.
5
+ Model Context Protocol server providing intelligent access to Business Central knowledge through a complete specialist consultation system.
6
6
 
7
- ## Features
8
- - **🔄 Workflow Orchestration**: 9 persona-driven development pipelines with structured guidance
7
+ ## ✨ v1.2.0 - Complete Specialist Bundle
8
+
9
+ ### 🎯 Core Features
10
+ - **🤖 Smart Specialist Discovery**: Intelligent routing to 14 BC domain experts based on query analysis
11
+ - **🔄 Seamless Handoffs**: Context-preserving transitions between specialists with full conversation history
12
+ - **🚀 Agent-Friendly Onboarding**: Natural specialist team introduction optimized for coding agents
13
+ - **💬 Persistent Sessions**: Long-running conversations with accumulated context and recommendations
14
+ - **🧠 Multi-Specialist Collaboration**: Bring multiple experts into the same conversation for complex challenges
15
+
16
+ ### 🛠️ Development Infrastructure
17
+ - **📋 20+ MCP Tools**: Complete toolkit for knowledge discovery, specialist engagement, and workflow management
18
+ - **🔄 9 Workflow Orchestration**: Persona-driven development pipelines with structured guidance
9
19
  - **🎯 MCP Prompts**: Discoverable workflow initiation through standardized prompts
10
- - **👥 Specialist System**: 14 AI personas with domain expertise and consultation styles
11
- - **📚 Layered Knowledge**: Embedded → Company → Team → Project overrides
12
- - **🛠️ 16+ MCP Tools**: Knowledge discovery, workflow management, and methodology guidance
20
+ - **� Layered Knowledge**: Embedded Company Team Project override system
13
21
  - **⚙️ Zero Configuration**: Works immediately with embedded knowledge
14
- - **🔧 Extensible**: Support for git repositories, company standards, project overrides
22
+ - **🔧 Extensible Architecture**: Support for git repositories, company standards, and project overrides
23
+
24
+ ## � BC Specialist Team (14 Experts)
25
+
26
+ **Core Development Specialists:**
27
+ - **🏗️ Alex Architect** - Solution Design & Requirements Expert
28
+ - **💻 Sam Coder** - Expert Development Accelerator
29
+ - **🔍 Dean Debug** - Performance & Troubleshooting Specialist
30
+ - **⚠️ Eva Errors** - Error Handling & Exception Management
31
+
32
+ **Quality & Security Specialists:**
33
+ - **🧪 Quinn Tester** - Testing Strategy & Validation Expert
34
+ - **📝 Roger Reviewer** - Code Quality & Standards Guardian
35
+ - **🔒 Seth Security** - Security & Permission Management
36
+
37
+ **Integration & Architecture Specialists:**
38
+ - **🌉 Jordan Bridge** - Integration & Extensibility Architect
39
+ - **🏛️ Logan Legacy** - Code Archaeology & System Analysis
40
+
41
+ **User Experience & Business Specialists:**
42
+ - **🎨 Uma UX** - User Experience & Interface Design
43
+ - **🏪 Morgan Market** - AppSource & ISV Business Expert
44
+
45
+ **Knowledge & Learning Specialists:**
46
+ - **📚 Taylor Docs** - Documentation & Knowledge Management
47
+ - **👩‍🏫 Maya Mentor** - Teaching-Focused Development Guide
48
+ - **🤖 Casey Copilot** - AI-Enhanced Development Coach
49
+
50
+ ## 🤖 Specialist Bundle Experience
51
+
52
+ Experience collaborative BC development with intelligent specialist routing and seamless handoffs:
53
+
54
+ ### Quick Start - Agent Integration
55
+ ```javascript
56
+ // 1. Discover the specialist team (agents do this automatically)
57
+ const team = await mcp.call('introduce_bc_specialists', {
58
+ context: 'Business Central development',
59
+ focus_areas: ['performance', 'security', 'architecture']
60
+ });
61
+
62
+ // 2. Smart routing based on your challenge
63
+ const suggestions = await mcp.call('discover_specialists', {
64
+ query: 'My AL extension has performance issues with database queries'
65
+ });
66
+
67
+ // 3. Engage with the recommended specialist
68
+ const session = await mcp.call('suggest_specialist', {
69
+ specialist_id: 'dean-debug',
70
+ user_query: 'Performance optimization needed',
71
+ context: 'Business Central extension development'
72
+ });
73
+
74
+ // 4. Seamless handoffs when different expertise is needed
75
+ await mcp.call('handoff_to_specialist', {
76
+ target_specialist_id: 'alex-architect',
77
+ handoff_type: 'transfer',
78
+ handoff_reason: 'Need architectural review after performance fixes',
79
+ work_completed: ['Optimized queries', 'Added caching'],
80
+ continuation_points: ['Review overall architecture', 'Design scalability']
81
+ });
82
+ ```
83
+
84
+ ### Specialist Bundle Tools
85
+
86
+ **Discovery & Routing:**
87
+ - `discover_specialists` - Intelligent specialist suggestions based on query analysis
88
+ - `browse_specialists` - Browse by domain or expertise area
89
+ - `get_specialist_info` - Detailed information about any specialist
90
+
91
+ **Engagement & Sessions:**
92
+ - `suggest_specialist` - Start/continue specialist conversations
93
+ - `get_specialist_advice` - Get expert guidance on specific topics
94
+ - `list_specialists` - See all available specialists
95
+
96
+ **Onboarding & Navigation:**
97
+ - `introduce_bc_specialists` - Agent-friendly team introduction
98
+ - `get_specialist_introduction` - Individual specialist details
99
+ - `suggest_next_specialist` - Intelligent next-step recommendations
100
+
101
+ **Handoffs & Collaboration:**
102
+ - `handoff_to_specialist` - Context-preserving specialist transitions
103
+ - `bring_in_specialist` - Multi-specialist consultation
104
+ - `get_handoff_summary` - Session history and analytics
15
105
 
16
106
  ## 🚀 Workflow Orchestration
17
107
 
@@ -104,4 +194,4 @@ npm start
104
194
  - **🏗️ Pure TypeScript**: Clean separation from knowledge content
105
195
 
106
196
  ## Knowledge Source
107
- Knowledge content is linked via git submodule from [bc-knowledgebase](../bc-knowledgebase).
197
+ Knowledge content is linked via git submodule from [bc-code-intelligence](../bc-code-intelligence).
@@ -396,7 +396,6 @@ program
396
396
  rl.close();
397
397
  await client.disconnect();
398
398
  process.exit(0);
399
- break;
400
399
  case '':
401
400
  break; // Empty line, do nothing
402
401
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"bc-code-intel-cli.js","sourceRoot":"","sources":["../../src/cli/bc-code-intel-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bc-code-intel-cli.js","sourceRoot":"","sources":["../../src/cli/bc-code-intel-cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,18 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * BCKB MCP Server
3
+ * BC Code Intelligence MCP Server
4
4
  *
5
- * Business Central Knowledge Base Model Context Protocol Server
5
+ * Business Central Code Intelligence Model Context Protocol Server
6
6
  * Surfaces atomic BC knowledge topics for intelligent AI consumption
7
7
  * via GitHub Copilot, Claude, and other LLM tools.
8
8
  */
9
- declare class BCKBServer {
9
+ declare class BCCodeIntelligenceServer {
10
10
  private server;
11
11
  private knowledgeService;
12
12
  private codeAnalysisService;
13
13
  private methodologyService;
14
14
  private workflowService;
15
15
  private layerService;
16
+ private multiContentLayerService;
17
+ private specialistSessionManager;
18
+ private specialistTools;
19
+ private specialistDiscoveryService;
20
+ private specialistDiscoveryTools;
21
+ private enhancedPromptService;
22
+ private agentOnboardingService;
23
+ private specialistHandoffService;
16
24
  private configuration;
17
25
  private configLoader;
18
26
  private getPackageVersion;
@@ -53,5 +61,5 @@ declare class BCKBServer {
53
61
  */
54
62
  private getConfigurationQuality;
55
63
  }
56
- export { BCKBServer };
64
+ export { BCCodeIntelligenceServer };
57
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAsCA;;;;;;GAMG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,iBAAiB;;IA6BzB,OAAO,CAAC,iBAAiB;IAqCzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAkMpB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,qBAAqB;IAiCnC;;OAEG;YACW,uBAAuB;IA8BrC;;OAEG;YACW,sBAAsB;IAyCpC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAoCzC;;OAEG;YACW,6BAA6B;YA2D7B,4BAA4B;IAwGpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C1B;;OAEG;YACW,uBAAuB;CAWtC;AA2BD,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA8CA;;;;;;GAMG;AACH,cAAM,wBAAwB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,0BAA0B,CAA8B;IAChE,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,iBAAiB;;IA6BzB,OAAO,CAAC,iBAAiB;IA8EzB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8MpB;;OAEG;YACW,kBAAkB;IAsGhC;;OAEG;YACW,qBAAqB;IA6BnC;;OAEG;YACW,uBAAuB;IA8BrC;;OAEG;YACW,sBAAsB;IAyCpC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAoCzC;;OAEG;YACW,6BAA6B;YA2D7B,4BAA4B;IAwGpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC1B;;OAEG;YACW,uBAAuB;CAWtC;AA2BD,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -12,23 +12,39 @@ import { CodeAnalysisService } from './services/code-analysis-service.js';
12
12
  import { MethodologyService } from './services/methodology-service.js';
13
13
  import { WorkflowService } from './services/workflow-service.js';
14
14
  import { LayerService } from './layers/layer-service.js';
15
+ import { MultiContentLayerService } from './services/multi-content-layer-service.js';
16
+ import { SpecialistSessionManager } from './services/specialist-session-manager.js';
17
+ import { SpecialistTools } from './tools/specialist-tools.js';
18
+ import { SpecialistDiscoveryService } from './services/specialist-discovery.js';
19
+ import { SpecialistDiscoveryTools } from './tools/specialist-discovery-tools.js';
20
+ import { EnhancedPromptService } from './services/enhanced-prompt-service.js';
21
+ import { AgentOnboardingService } from './services/agent-onboarding-service.js';
22
+ import { SpecialistHandoffService } from './services/specialist-handoff-service.js';
15
23
  import { ConfigurationLoader } from './config/config-loader.js';
16
24
  import { ConfigurationValidator } from './config/config-validator.js';
17
25
  import { domainWorkflows } from './workflows/domain-workflows.js';
18
26
  /**
19
- * BCKB MCP Server
27
+ * BC Code Intelligence MCP Server
20
28
  *
21
- * Business Central Knowledge Base Model Context Protocol Server
29
+ * Business Central Code Intelligence Model Context Protocol Server
22
30
  * Surfaces atomic BC knowledge topics for intelligent AI consumption
23
31
  * via GitHub Copilot, Claude, and other LLM tools.
24
32
  */
25
- class BCKBServer {
33
+ class BCCodeIntelligenceServer {
26
34
  server;
27
35
  knowledgeService;
28
36
  codeAnalysisService;
29
37
  methodologyService;
30
38
  workflowService;
31
39
  layerService;
40
+ multiContentLayerService;
41
+ specialistSessionManager;
42
+ specialistTools;
43
+ specialistDiscoveryService;
44
+ specialistDiscoveryTools;
45
+ enhancedPromptService;
46
+ agentOnboardingService;
47
+ specialistHandoffService;
32
48
  configuration;
33
49
  configLoader;
34
50
  getPackageVersion() {
@@ -46,7 +62,7 @@ class BCKBServer {
46
62
  constructor() {
47
63
  // Initialize MCP server
48
64
  this.server = new Server({
49
- name: 'bckb-server',
65
+ name: 'bc-code-intelligence-mcp',
50
66
  version: this.getPackageVersion(),
51
67
  });
52
68
  // Initialize configuration loader
@@ -58,14 +74,45 @@ class BCKBServer {
58
74
  setupToolHandlers() {
59
75
  // List available tools
60
76
  this.server.setRequestHandler(ListToolsRequestSchema, async () => {
61
- return {
62
- tools: streamlinedTools
63
- };
77
+ const tools = [...streamlinedTools];
78
+ // Add specialist tools if available
79
+ if (this.specialistTools) {
80
+ tools.push(...this.specialistTools.getToolDefinitions());
81
+ }
82
+ // Add specialist discovery tools if available
83
+ if (this.specialistDiscoveryTools) {
84
+ tools.push(...this.specialistDiscoveryTools.getToolDefinitions());
85
+ }
86
+ // Add agent onboarding tools if available
87
+ if (this.agentOnboardingService) {
88
+ tools.push(...this.agentOnboardingService.getToolDefinitions());
89
+ }
90
+ // Add specialist handoff tools if available
91
+ if (this.specialistHandoffService) {
92
+ tools.push(...this.specialistHandoffService.getToolDefinitions());
93
+ }
94
+ return { tools };
64
95
  });
65
96
  // Handle tool calls
66
97
  this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
67
98
  const { name, arguments: args } = request.params;
68
99
  try {
100
+ // Check if it's a specialist tool
101
+ if (this.specialistTools && ['suggest_specialist', 'get_specialist_advice', 'list_specialists'].includes(name)) {
102
+ return await this.specialistTools.handleToolCall(request);
103
+ }
104
+ // Check if it's a specialist discovery tool
105
+ if (this.specialistDiscoveryTools && ['discover_specialists', 'browse_specialists', 'get_specialist_info'].includes(name)) {
106
+ return await this.specialistDiscoveryTools.handleToolCall(request);
107
+ }
108
+ // Check if it's an agent onboarding tool
109
+ if (this.agentOnboardingService && ['introduce_bc_specialists', 'get_specialist_introduction', 'suggest_next_specialist'].includes(name)) {
110
+ return await this.agentOnboardingService.handleToolCall(request);
111
+ }
112
+ // Check if it's a specialist handoff tool
113
+ if (this.specialistHandoffService && ['handoff_to_specialist', 'bring_in_specialist', 'get_handoff_summary'].includes(name)) {
114
+ return await this.specialistHandoffService.handleToolCall(request);
115
+ }
69
116
  // Create streamlined handlers with all services
70
117
  const handlers = createStreamlinedHandlers(this.server, {
71
118
  knowledgeService: this.knowledgeService,
@@ -103,7 +150,7 @@ class BCKBServer {
103
150
  {
104
151
  name: 'code_location',
105
152
  description: 'Path to the code file or description of the code to optimize',
106
- required: true
153
+ required: false // No more required fields - specialist will ask conversationally
107
154
  }
108
155
  ]
109
156
  },
@@ -114,7 +161,7 @@ class BCKBServer {
114
161
  {
115
162
  name: 'scope',
116
163
  description: 'Scope of review (module, solution, or specific components)',
117
- required: true
164
+ required: false // Specialist will ask about scope naturally
118
165
  }
119
166
  ]
120
167
  },
@@ -125,7 +172,7 @@ class BCKBServer {
125
172
  {
126
173
  name: 'audit_scope',
127
174
  description: 'Security audit scope (permissions, data access, API security, etc.)',
128
- required: true
175
+ required: false // Specialist will gather this in conversation
129
176
  }
130
177
  ]
131
178
  },
@@ -136,7 +183,7 @@ class BCKBServer {
136
183
  {
137
184
  name: 'performance_concern',
138
185
  description: 'Description of performance issue or area to analyze',
139
- required: true
186
+ required: false
140
187
  }
141
188
  ]
142
189
  },
@@ -147,7 +194,7 @@ class BCKBServer {
147
194
  {
148
195
  name: 'integration_type',
149
196
  description: 'Type of integration (API, data sync, external service, etc.)',
150
- required: true
197
+ required: false
151
198
  }
152
199
  ]
153
200
  },
@@ -158,12 +205,12 @@ class BCKBServer {
158
205
  {
159
206
  name: 'current_version',
160
207
  description: 'Current Business Central version',
161
- required: true
208
+ required: false
162
209
  },
163
210
  {
164
211
  name: 'target_version',
165
212
  description: 'Target Business Central version',
166
- required: true
213
+ required: false
167
214
  }
168
215
  ]
169
216
  },
@@ -174,7 +221,7 @@ class BCKBServer {
174
221
  {
175
222
  name: 'testing_scope',
176
223
  description: 'Scope of testing (unit, integration, user acceptance, etc.)',
177
- required: true
224
+ required: false
178
225
  }
179
226
  ]
180
227
  },
@@ -185,7 +232,7 @@ class BCKBServer {
185
232
  {
186
233
  name: 'experience_level',
187
234
  description: 'Developer experience level (beginner, intermediate, expert)',
188
- required: true
235
+ required: false
189
236
  },
190
237
  {
191
238
  name: 'focus_area',
@@ -201,7 +248,7 @@ class BCKBServer {
201
248
  {
202
249
  name: 'review_target',
203
250
  description: 'What to review (code, architecture, documentation, processes)',
204
- required: true
251
+ required: false
205
252
  },
206
253
  {
207
254
  name: 'review_depth',
@@ -256,14 +303,20 @@ class BCKBServer {
256
303
  const session = await this.workflowService.startWorkflow(startRequest);
257
304
  // Get the initial guidance for this workflow
258
305
  const initialGuidance = await this.workflowService.getPhaseGuidance(session.id);
306
+ // Enhance with specialist routing
307
+ const userContext = args?.code_location || args?.scope || args?.audit_scope ||
308
+ args?.performance_concern || args?.integration_type ||
309
+ args?.testing_scope || args?.review_target ||
310
+ 'General workflow request';
311
+ const enhancedResult = await this.enhancedPromptService.enhanceWorkflowPrompt(name, userContext, initialGuidance);
259
312
  return {
260
- description: `Starting ${workflowType} workflow`,
313
+ description: `Starting ${workflowType} workflow with specialist guidance`,
261
314
  messages: [
262
315
  {
263
316
  role: 'user',
264
317
  content: {
265
318
  type: 'text',
266
- text: initialGuidance
319
+ text: enhancedResult.enhancedContent
267
320
  }
268
321
  }
269
322
  ]
@@ -279,12 +332,19 @@ class BCKBServer {
279
332
  * Initialize all services with configuration
280
333
  */
281
334
  async initializeServices(configResult) {
282
- console.error('🔧 Initializing BCKB services with layered configuration...');
283
335
  // Store configuration
284
336
  this.configuration = configResult.config;
285
337
  // Initialize layer service with configuration
286
338
  this.layerService = new LayerService();
287
339
  await this.layerService.initializeFromConfiguration(this.configuration);
340
+ // Report layer-by-layer counts
341
+ const layers = this.layerService.getLayers();
342
+ let totalTopics = 0;
343
+ for (const layer of layers) {
344
+ const stats = layer.getStatistics();
345
+ console.error(`📁 Layer '${stats.name}': ${stats.topicCount} topics`);
346
+ totalTopics += stats.topicCount;
347
+ }
288
348
  // Initialize legacy knowledge service for backward compatibility
289
349
  const __filename = fileURLToPath(import.meta.url);
290
350
  const __dirname = dirname(__filename);
@@ -302,11 +362,33 @@ class BCKBServer {
302
362
  await this.knowledgeService.initialize();
303
363
  this.codeAnalysisService = new CodeAnalysisService(this.knowledgeService);
304
364
  this.methodologyService = new MethodologyService(this.knowledgeService, legacyConfig.methodologies_path);
305
- // Initialize workflow service with persona registry
306
- const { PersonaRegistry } = await import('./types/persona-types.js');
307
- const personaRegistry = PersonaRegistry.getInstance();
308
- this.workflowService = new WorkflowService(this.knowledgeService, this.methodologyService, personaRegistry);
309
- console.error('✅ All services initialized successfully');
365
+ // Initialize specialist services using a dedicated MultiContentLayerService
366
+ this.multiContentLayerService = new MultiContentLayerService();
367
+ // Add embedded layer for specialists
368
+ const embeddedPath = join(__dirname, '../embedded-knowledge');
369
+ const { EmbeddedKnowledgeLayer } = await import('./layers/embedded-layer.js');
370
+ const embeddedLayer = new EmbeddedKnowledgeLayer(embeddedPath);
371
+ this.multiContentLayerService.addLayer(embeddedLayer); // Cast to avoid type issues
372
+ await this.multiContentLayerService.initialize();
373
+ // Get session storage configuration from layer service
374
+ const sessionStorageConfig = this.layerService.getSessionStorageConfig();
375
+ this.specialistSessionManager = new SpecialistSessionManager(this.multiContentLayerService, sessionStorageConfig);
376
+ this.specialistTools = new SpecialistTools(this.multiContentLayerService, this.specialistSessionManager, this.knowledgeService);
377
+ // Initialize specialist discovery service and tools
378
+ this.specialistDiscoveryService = new SpecialistDiscoveryService(this.multiContentLayerService);
379
+ this.specialistDiscoveryTools = new SpecialistDiscoveryTools(this.specialistDiscoveryService, this.specialistSessionManager, this.multiContentLayerService);
380
+ // Initialize enhanced prompt service for specialist routing
381
+ this.enhancedPromptService = new EnhancedPromptService(this.specialistDiscoveryService, this.specialistSessionManager, this.workflowService);
382
+ // Initialize agent onboarding service for natural specialist introduction
383
+ this.agentOnboardingService = new AgentOnboardingService(this.specialistDiscoveryService, this.multiContentLayerService);
384
+ // Initialize specialist handoff service for seamless transitions
385
+ this.specialistHandoffService = new SpecialistHandoffService(this.specialistSessionManager, this.specialistDiscoveryService, this.multiContentLayerService);
386
+ // Initialize workflow service with specialist discovery
387
+ const specialistDiscoveryService = new SpecialistDiscoveryService(this.multiContentLayerService);
388
+ this.workflowService = new WorkflowService(this.knowledgeService, this.methodologyService, specialistDiscoveryService);
389
+ // Report final totals
390
+ const specialists = await this.multiContentLayerService.getAllSpecialists();
391
+ console.error(`📊 Total: ${totalTopics} topics, ${specialists.length} specialists`);
310
392
  // Validate tool contracts at startup
311
393
  await this.validateToolContracts();
312
394
  }
@@ -315,7 +397,6 @@ class BCKBServer {
315
397
  */
316
398
  async validateToolContracts() {
317
399
  try {
318
- console.error('🔍 Validating tool contracts...');
319
400
  const handlers = createStreamlinedHandlers(this.server, {
320
401
  knowledgeService: this.knowledgeService,
321
402
  codeAnalysisService: this.codeAnalysisService,
@@ -334,9 +415,6 @@ class BCKBServer {
334
415
  console.error('💥 Contract validation failed! Server may have dead ends.');
335
416
  // Don't fail startup, but warn loudly
336
417
  }
337
- else {
338
- console.error('✅ Tool contract validation passed');
339
- }
340
418
  }
341
419
  catch (error) {
342
420
  console.error(`⚠️ Contract validation error: ${error}`);
@@ -596,9 +674,8 @@ class BCKBServer {
596
674
  }
597
675
  async run() {
598
676
  try {
599
- console.error(`🚀 BCKB MCP Server v${this.getPackageVersion()} starting...`);
677
+ console.error(`🚀 BC Code Intelligence MCP Server v${this.getPackageVersion()} starting...`);
600
678
  // Load configuration
601
- console.error('📋 Loading configuration...');
602
679
  const configResult = await this.configLoader.loadConfiguration();
603
680
  if (configResult.validation_errors.length > 0) {
604
681
  console.error('❌ Configuration validation errors:');
@@ -613,18 +690,12 @@ class BCKBServer {
613
690
  console.error(` - ${warning.type}: ${warning.message}`);
614
691
  });
615
692
  }
616
- console.error(`✅ Configuration loaded with ${configResult.config.layers.length} layers`);
617
- // Initialize all services
693
+ // Initialize all services (this will now show layer counts)
618
694
  await this.initializeServices(configResult);
619
695
  // Start MCP server
620
- console.error('🌐 Starting MCP transport...');
621
696
  const transport = new StdioServerTransport();
622
697
  await this.server.connect(transport);
623
- console.error('✅ BCKB MCP Server v2.0 started successfully');
624
- console.error(`📊 System Status:`);
625
- console.error(` - ${this.layerService.getLayers().length} layers active`);
626
- console.error(` - ${this.layerService.getAllTopicIds().length} topics available`);
627
- console.error(` - Configuration quality: ${await this.getConfigurationQuality()}/100`);
698
+ console.error(`✅ BC Code Intelligence MCP Server v${this.getPackageVersion()} started successfully`);
628
699
  }
629
700
  catch (error) {
630
701
  console.error('💥 Fatal error during server startup:', error);
@@ -650,24 +721,24 @@ class BCKBServer {
650
721
  }
651
722
  // Start the server
652
723
  async function main() {
653
- const server = new BCKBServer();
724
+ const server = new BCCodeIntelligenceServer();
654
725
  await server.run();
655
726
  }
656
727
  // Handle process termination
657
728
  process.on('SIGINT', async () => {
658
- console.error('BCKB MCP Server shutting down...');
729
+ console.error('BC Code Intelligence MCP Server shutting down...');
659
730
  process.exit(0);
660
731
  });
661
732
  process.on('SIGTERM', async () => {
662
- console.error('BCKB MCP Server shutting down...');
733
+ console.error('BC Code Intelligence MCP Server shutting down...');
663
734
  process.exit(0);
664
735
  });
665
736
  // Run server if this is the main module
666
737
  if (process.argv[1]?.endsWith('index.js')) {
667
738
  main().catch((error) => {
668
- console.error('Fatal error in BCKB MCP Server:', error);
739
+ console.error('Fatal error in BC Code Intelligence MCP Server:', error);
669
740
  process.exit(1);
670
741
  });
671
742
  }
672
- export { BCKBServer };
743
+ export { BCCodeIntelligenceServer };
673
744
  //# sourceMappingURL=index.js.map