Skip to main content
Glama

Role-Specific Context MCP Server

by Chris-June
config.ts6.14 kB
// Configuration for the Role-Specific Context MCP Server import dotenv from 'dotenv'; // Load environment variables dotenv.config(); export const config = { openai: { apiKey: process.env.OPENAI_API_KEY || "", model: process.env.OPENAI_MODEL || "gpt-4o-mini", embeddingModel: process.env.OPENAI_EMBEDDING_MODEL || "text-embedding-3-small" }, supabase: { url: process.env.SUPABASE_URL || "", key: process.env.SUPABASE_KEY || "", vectorCollection: process.env.SUPABASE_VECTOR_COLLECTION || "memories" }, roles: { // Default roles available in the system defaults: [ { id: "marketing-expert", name: "Marketing Expert", description: "Specializes in marketing strategy, branding, and campaign development", instructions: "Provide expert marketing advice with a focus on ROI and measurable outcomes.", domains: ["marketing", "advertising", "branding", "social-media"], tone: "professional", systemPrompt: "You are an expert marketing consultant with 15+ years of experience across digital and traditional channels. Focus on data-driven strategies and practical advice that can be implemented immediately." }, { id: "songwriter", name: "Songwriter", description: "Creates lyrics and musical compositions across various genres", instructions: "Develop creative and emotionally resonant song lyrics and musical direction.", domains: ["music", "lyrics", "composition", "songwriting"], tone: "creative", systemPrompt: "You are a versatile songwriter who has written hit songs across multiple genres. Help create lyrics, suggest chord progressions, and provide musical direction that resonates with the intended audience." }, { id: "executive-assistant", name: "Executive Assistant", description: "Provides administrative support and organizational expertise", instructions: "Assist with scheduling, communication, and task management with high efficiency.", domains: ["administration", "organization", "communication", "scheduling"], tone: "formal", systemPrompt: "You are a highly efficient executive assistant with exceptional organizational skills. Help prioritize tasks, manage communications, and ensure nothing falls through the cracks." } ], // Available tone profiles that can be applied to any role toneProfiles: { "professional": { description: "Formal, knowledgeable, and business-appropriate", modifiers: "Use industry terminology, be concise, maintain a formal tone, and focus on results and data." }, "creative": { description: "Imaginative, expressive, and artistic", modifiers: "Use vivid language, metaphors, and unconventional perspectives. Embrace artistic expression and emotional resonance." }, "casual": { description: "Relaxed, conversational, and approachable", modifiers: "Use everyday language, contractions, and a friendly tone. Be relatable and conversational." }, "technical": { description: "Precise, detailed, and specialized", modifiers: "Use technical terminology, be thorough in explanations, provide specific details, and maintain accuracy." }, "witty": { description: "Clever, humorous, and engaging", modifiers: "Incorporate appropriate humor, wordplay, and cultural references. Keep the tone light while still delivering value." }, "formal": { description: "Polished, respectful, and traditional", modifiers: "Use proper grammar, avoid contractions, maintain professional distance, and adhere to conventions." } } }, memory: { // Maximum number of memories to store per role maxMemoriesPerRole: 100, // Default TTL for memories in milliseconds (24 hours) defaultTtl: 24 * 60 * 60 * 1000, // Memory types and their settings types: { session: { ttl: 1 * 60 * 60 * 1000, // 1 hour importance: "high", description: "Short-term memory for the current session" }, user: { ttl: 30 * 24 * 60 * 60 * 1000, // 30 days importance: "medium", description: "Long-term memory about the user's preferences and history" }, knowledge: { ttl: 365 * 24 * 60 * 60 * 1000, // 1 year importance: "low", description: "Persistent knowledge base for the agent" } }, // Vector search settings vectorSearch: { enabled: true, dimensions: 1536, // For OpenAI embeddings minRelevanceScore: 0.7, maxResults: 10 } }, context: { // Maximum number of context layers to maintain in the stack maxContextStackSize: 5, // Default TTL for context in milliseconds (1 hour) defaultTtl: 1 * 60 * 60 * 1000, // Context types and their settings types: { task: { priority: "high", description: "Current task or goal the agent is working on" }, tone: { priority: "medium", description: "Communication style and tone for responses" }, domain: { priority: "medium", description: "Specific knowledge domain to draw from" }, user: { priority: "high", description: "User-specific context and preferences" }, environment: { priority: "low", description: "Environmental factors like time, location, etc." }, multimodal: { priority: "medium", description: "Context from non-text sources like images or audio" } }, // Trigger words/phrases that can cause context switches triggers: { "task": [ "let's switch to", "can we focus on", "I need help with", "let's work on" ], "tone": [ "be more formal", "speak casually", "be professional", "be creative", "be technical" ], "domain": [ "in terms of", "from a marketing perspective", "technically speaking", "creatively speaking" ] } } };

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/Chris-June/MCP-Server'

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