Fix Report: MCP Management CLI Errors
Issue: #5 - 'Test Connection' runs an error Date: 2025-12-30 Status: Fixed
Problems Identified
Issue 1: Path Resolution
Config path .claude/.mcp.json resolved relative to process.cwd(), causing wrong lookup when running from scripts/ directory.
Before: ~/.claude/skills/mcp-management/scripts/.claude/.mcp.json
Expected: ~/.claude/.mcp.json
Issue 2: TypeScript Module Resolution
Using ts-node with ES modules caused import resolution failures.
Fixes Applied
1. Path Resolution (mcp-client.ts)
- Added
import { homedir } from 'os' - Changed default config path from relative
.claude/.mcp.jsonto absolute~/.claude/.mcp.json - Config path now resolves to user's home directory by default
async loadConfig(configPath?: string): Promise<MCPConfig> {
const defaultPath = resolve(homedir(), '.claude', '.mcp.json');
const fullPath = configPath ? resolve(process.cwd(), configPath) : defaultPath;
// ...
}
2. TypeScript Configuration (tsconfig.json)
- Changed
modulefromES2022toNodeNext - Changed
moduleResolutionfromnodetoNodeNext
3. Package Configuration (package.json)
- Replaced
ts-nodewithtsxfor better ESM support - Added npm scripts for convenience:
list-tools,list-prompts,list-resources
4. Documentation (README.md)
- Updated all command examples to use
tsxinstead ofts-node - Added note about automatic config path resolution
5. Type Fix (mcp-client.ts)
- Fixed TypeScript error with
timeoutoption incallToolmethod
Files Modified
| File | Change |
|---|---|
scripts/mcp-client.ts |
Path resolution fix, type assertion |
scripts/tsconfig.json |
NodeNext module resolution |
scripts/package.json |
tsx instead of ts-node, npm scripts |
README.md |
Updated documentation |
Verification
- TypeScript compilation passes:
npx tsc --noEmit - CLI resolves to
~/.claude/.mcp.jsonregardless of cwd - Can be run from any directory:
npx tsx cli.ts list-tools