Skip to main content
Glama

install_community_persona

Add community personas to your local collection for the Persona MCP server, enabling AI to switch between expert personas with context detection and token-saving features.

Instructions

커뮤니티 페르소나를 로컬 컬렉션에 설치합니다

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes설치할 커뮤니티 페르소나 이름

Implementation Reference

  • Core handler function that installs a community persona by validating the name, reading from community directory, and writing to local persona directory.
    async function installCommunityPersona(name: string): Promise<string> {
      const validatedName = validatePersonaName(name);
      const communityPath = path.join(COMMUNITY_DIR, `${validatedName}.txt`);
      const localPath = path.join(PERSONA_DIR, `${validatedName}.txt`);
    
      try {
        const content = await fs.readFile(communityPath, 'utf-8');
        await fs.writeFile(localPath, content, 'utf-8');
        return localPath;
      } catch (error) {
        throw new Error(`Failed to install community persona "${validatedName}": ${(error as Error).message}`);
      }
    }
  • Zod schema for validating the tool input, requiring a 'name' field validated by personaNameSchema.
    export const installCommunityPersonaSchema = z.object({
      name: personaNameSchema,
    });
  • src/index.ts:436-448 (registration)
    Tool registration in the MCP server's listTools response, defining name, description, and input schema.
      name: 'install_community_persona',
      description: '커뮤니티 페르소나를 로컬 컬렉션에 설치합니다',
      inputSchema: {
        type: 'object',
        properties: {
          name: {
            type: 'string',
            description: '설치할 커뮤니티 페르소나 이름',
          },
        },
        required: ['name'],
      },
    },
  • MCP CallToolRequest handler case that parses arguments with schema, calls the install function, reads preview, and returns success message with usage instructions.
    case 'install_community_persona': {
      const validated = installCommunityPersonaSchema.parse(args);
      const installedPath = await installCommunityPersona(validated.name);
    
      // 간단한 프리뷰 제공
      const content = await readCommunityPersona(validated.name);
      const preview = content.split('\n').slice(0, 10).join('\n');
    
      return {
        content: [
          {
            type: 'text',
            text: `✅ Persona "${validated.name}" installed successfully!\n\n📁 Location: ${installedPath}\n\n📄 Preview:\n${preview}\n...\n\n💡 **How to use:**\n@persona:${validated.name} your question or task\n\nExample:\n@persona:${validated.name} help me with this code\n\n🎯 The persona will only activate when you use the @persona:${validated.name} trigger (Submarine Mode = 0 tokens otherwise)`,
          },
        ],
      };
    }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seanshin0214/persona-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server