diff --git a/src/tools/skill-mcp/tools.ts b/src/tools/skill-mcp/tools.ts index b678c9960..c06fa322b 100644 --- a/src/tools/skill-mcp/tools.ts +++ b/src/tools/skill-mcp/tools.ts @@ -69,8 +69,11 @@ function formatAvailableMcps(skills: LoadedSkill[]): string { return mcps.length > 0 ? mcps.join("\n") : " (none found)" } -function parseArguments(argsJson: string | undefined): Record { +function parseArguments(argsJson: string | Record | undefined): Record { if (!argsJson) return {} + if (typeof argsJson === "object" && argsJson !== null) { + return argsJson + } try { const parsed = JSON.parse(argsJson) if (typeof parsed !== "object" || parsed === null) { diff --git a/src/tools/skill-mcp/types.ts b/src/tools/skill-mcp/types.ts index 740281736..9fe44baa6 100644 --- a/src/tools/skill-mcp/types.ts +++ b/src/tools/skill-mcp/types.ts @@ -3,6 +3,6 @@ export interface SkillMcpArgs { tool_name?: string resource_name?: string prompt_name?: string - arguments?: string + arguments?: string | Record grep?: string }