list_personas
Retrieve all available expert personas to enable on-demand role switching with smart context detection and persona chaining capabilities.
Instructions
사용 가능한 모든 페르소나 목록을 조회합니다
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:374-380 (registration)Registration of the 'list_personas' tool in the ListToolsRequestSchema handler, defining its name, description, and empty input schema.name: 'list_personas', description: '사용 가능한 모든 페르소나 목록을 조회합니다', inputSchema: { type: 'object', properties: {}, }, },
- src/index.ts:498-510 (handler)MCP CallToolRequestSchema handler case for 'list_personas': calls listPersonas() and formats the response as a text content block listing available personas.case 'list_personas': { const personas = await listPersonas(); return { content: [ { type: 'text', text: personas.length > 0 ? `사용 가능한 페르소나:\n${personas.map(p => `- ${p}`).join('\n')}\n\n사용법: @persona:${personas[0]} 형식으로 참조하세요.` : '저장된 페르소나가 없습니다.', }, ], }; }
- src/index.ts:71-78 (helper)Helper function that reads the persona directory and returns a list of persona names by filtering .txt files.async function listPersonas(): Promise<string[]> { try { const files = await fs.readdir(PERSONA_DIR); return files.filter(f => f.endsWith('.txt')).map(f => f.replace('.txt', '')); } catch (error) { return []; } }