@openeryc/pi-coding-agent 0.75.32 → 0.75.34

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.
@@ -657,6 +657,31 @@ export class AgentSession {
657
657
  const appendSystemPrompt = loaderAppendSystemPrompt.length > 0 ? loaderAppendSystemPrompt.join("\n\n") : undefined;
658
658
  const loadedSkills = this._resourceLoader.getSkills().skills;
659
659
  const loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;
660
+ // Collect MCP tools grouped by server name
661
+ const mcpTools = [];
662
+ const mcpServerMap = new Map();
663
+ for (const name of validToolNames) {
664
+ if (!name.startsWith("mcp_"))
665
+ continue;
666
+ const def = this._toolDefinitions.get(name);
667
+ if (!def)
668
+ continue;
669
+ // Parse mcp_<server>_<tool>
670
+ const rest = name.slice(4);
671
+ const underscoreIdx = rest.indexOf("_");
672
+ const serverName = underscoreIdx === -1 ? rest : rest.slice(0, underscoreIdx);
673
+ const desc = def.definition.description || `Tool from MCP server "${serverName}"`;
674
+ const existing = mcpServerMap.get(serverName);
675
+ if (existing) {
676
+ existing.push({ name, description: desc });
677
+ }
678
+ else {
679
+ mcpServerMap.set(serverName, [{ name, description: desc }]);
680
+ }
681
+ }
682
+ for (const [serverName, tools] of mcpServerMap) {
683
+ mcpTools.push({ serverName, tools });
684
+ }
660
685
  this._baseSystemPromptOptions = {
661
686
  cwd: this._cwd,
662
687
  skills: loadedSkills,
@@ -666,6 +691,7 @@ export class AgentSession {
666
691
  selectedTools: validToolNames,
667
692
  toolSnippets,
668
693
  promptGuidelines,
694
+ mcpTools: mcpTools.length > 0 ? mcpTools : undefined,
669
695
  memory: this._resourceLoader.getMemory(),
670
696
  };
671
697
  return buildSystemPrompt(this._baseSystemPromptOptions);