Skip to main content
Glama
ai-naming-standard

AI Naming Standard MCP Server

Official

getAIRole

Retrieve AI role definitions and permissions from the AI_ROLE_MATRIX.yaml file to understand access levels and capabilities for specific AI systems.

Instructions

πŸ†• v6: Get AI role and permissions from AI_ROLE_MATRIX.yaml

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aiNameYesAI name to check

Implementation Reference

  • Core handler function that defines and returns AI roles, permissions, modifiable folders, and responsibilities based on the aiName parameter.
    export async function getAIRole({ aiName }) { const roles = { cursor: { type: 'code_writer', permissions: ['write: 03_ACTIVE', 'test: 04_TEST'], canModify: ['03_ACTIVE', '04_TEST'], cannotModify: ['01_CONFIG', '07_META'], responsibilities: ['μ½”λ“œ μž‘μ„±', 'ν…ŒμŠ€νŠΈ 생성', '버그 μˆ˜μ •'] }, claude: { type: 'reviewer', permissions: ['review: 03_ACTIVE', 'document: 00_DOCS'], canModify: ['00_DOCS'], cannotModify: ['03_ACTIVE', '01_CONFIG'], responsibilities: ['μ½”λ“œ 리뷰', 'λ¬Έμ„œ μž‘μ„±', 'μ•„ν‚€ν…μ²˜ 검증'] }, chatgpt: { type: 'architect', permissions: ['structure: 00_DOCS', 'rule: 07_META'], canModify: ['00_DOCS', '07_META'], cannotModify: ['03_ACTIVE', '01_CONFIG'], responsibilities: ['ꡬ쑰 섀계', '파일λͺ… 생성', 'μ˜μ‘΄μ„± 관리'] }, windsurf: { type: 'assistant', permissions: ['read: all', 'write: 03_ACTIVE'], canModify: ['03_ACTIVE'], cannotModify: ['01_CONFIG', '07_META'], responsibilities: ['μ½”λ“œ λ¦¬νŒ©ν† λ§', 'μ„±λŠ₯ μ΅œμ ν™”'] }, human: { type: 'supervisor', permissions: ['override: all', 'approve: all'], canModify: ['all'], cannotModify: [], responsibilities: ['μ΅œμ’… 승인', 'λ³΄μ•ˆ μ„€μ •', 'ν”„λ‘œμ νŠΈ λ°©ν–₯'] } }; const role = roles[aiName]; if (!role) { return { error: `Unknown AI: ${aiName}`, availableAIs: Object.keys(roles) }; } return { aiName, ...role, description: `${aiName} is a ${role.type} with ${role.permissions.length} permissions` }; }
  • Tool registration including name, description, and input schema defining the aiName parameter with allowed enum values.
    { name: 'getAIRole', description: 'πŸ†• v6: Get AI role and permissions from AI_ROLE_MATRIX.yaml', inputSchema: { type: 'object', properties: { aiName: { type: 'string', description: 'AI name to check', enum: ['cursor', 'claude', 'chatgpt', 'windsurf', 'human'] } }, required: ['aiName'] } },
  • src/index.js:650-652 (registration)
    Registration in the tool dispatcher switch statement that calls the getAIRole handler with arguments.
    case 'getAIRole': result = await getAIRole(args); break;
  • Re-export of getAIRole from v6-tools.js to make it available in tools/index.js.
    getAIRole,
  • src/index.js:35-35 (registration)
    Import of getAIRole function from tools/index.js into the main server file.
    getAIRole,

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/ai-naming-standard/mcp'

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