Skip to main content
Glama

mcp_instruct_onboarding

Set up your personal profile and AI agent to enable long-term memory and context for AI assistants across sessions.

Instructions

Start the MCP Instruct onboarding process - sets up personal profile and AI agent

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionNoOnboarding action to performstart
dataNoOptional data for quick setup

Implementation Reference

  • Main handler for the mcp_instruct_onboarding MCP tool. Handles 'start', 'check_status', and 'quick_setup' actions. Initializes AgentManager, checks if knowledge base is new, provides onboarding messages or status, and performs quick setup by updating personal/professional info and activating agents based on role.
    case 'mcp_instruct_onboarding': {
      await am.initialize();
      const { action = 'start', data } = args as any;
      
      switch (action) {
        case 'start':
          const isNew = km.isNew();
          if (isNew) {
            return {
              content: [
                {
                  type: 'text',
                  text: `🎉 Welcome to MCP Instruct!\n\nI'll help you set up your personal knowledge base and AI agent.\n\nTell me:\n1. Your name\n2. Your role/occupation\n3. Preferred agent mode (IT, Security, Sales, etc.)\n\nOr use quick setup: mcp_instruct_onboarding with action="quick_setup"`
                }
              ]
            };
          } else {
            const kb = km.getKnowledgeBase();
            const activeAgent = am.getActiveAgent();
            return {
              content: [
                {
                  type: 'text',
                  text: `Welcome back, ${kb.personal.name || 'User'}!\n\nProfile: ${kb.professional.occupation || 'Not set'}\nActive Agent: ${activeAgent?.name || 'None'}\n\nYou can switch agents or update your profile anytime.`
                }
              ]
            };
          }
          
        case 'check_status':
          const kb = km.getKnowledgeBase();
          const agent = am.getActiveAgent();
          return {
            content: [
              {
                type: 'text',
                text: JSON.stringify({
                  isNew: km.isNew(),
                  profile: {
                    name: kb.personal.name,
                    role: kb.professional.occupation
                  },
                  activeAgent: agent?.name
                }, null, 2)
              }
            ]
          };
          
        case 'quick_setup':
          if (data?.name) {
            await km.updatePersonal({ name: data.name });
          }
          if (data?.role) {
            await km.updateProfessional({ occupation: data.role });
            
            // Auto-select agent based on role
            if (data.role.toLowerCase().includes('it')) {
              am.setActiveAgent('it-expert');
            } else if (data.role.toLowerCase().includes('security')) {
              am.setActiveAgent('ethical-hacker');
            } else if (data.role.toLowerCase().includes('sales')) {
              am.setActiveAgent('sales-expert');
            }
          }
          if (data?.preferredAgent) {
            am.setActiveAgent(data.preferredAgent);
          }
          
          return {
            content: [
              {
                type: 'text',
                text: `✅ Setup complete!\n\nProfile: ${data?.name} - ${data?.role}\nActive Agent: ${am.getActiveAgent()?.name || 'None'}\n\nYour profile is saved and will persist across sessions.`
              }
            ]
          };
          
        default:
          return {
            content: [
              {
                type: 'text',
                text: 'Unknown onboarding action'
              }
            ]
          };
      }
    }
  • Input schema definition for the mcp_instruct_onboarding tool, specifying parameters for action (start/check/quick_setup) and optional data (name, role, preferredAgent). This schema is used for tool listing and validation in the MCP server.
    {
      name: 'mcp_instruct_onboarding',
      description: 'Start the MCP Instruct onboarding process - sets up personal profile and AI agent',
      inputSchema: {
        type: 'object',
        properties: {
          action: {
            type: 'string',
            enum: ['start', 'check_status', 'quick_setup'],
            default: 'start',
            description: 'Onboarding action to perform'
          },
          data: {
            type: 'object',
            description: 'Optional data for quick setup',
            properties: {
              name: { type: 'string' },
              role: { type: 'string' },
              preferredAgent: { type: 'string' }
            }
          }
        }
      }
    }
  • src/index.ts:423-425 (registration)
    Registration of all tools including mcp_instruct_onboarding via the ListToolsRequestHandler, which returns the complete tools array containing the tool definition.
    server.setRequestHandler(ListToolsRequestSchema, async () => {
      return { tools };
    });
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions 'sets up personal profile and AI agent' which implies a write/mutation operation, it doesn't describe what this setup entails, whether it's reversible, what permissions are required, or what happens if onboarding fails. For a tool that presumably modifies user state, this is insufficient behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with a single sentence that front-loads the main purpose. Every word earns its place, though it could potentially benefit from slightly more context given the complexity of the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that presumably performs user onboarding (a potentially complex, state-changing operation) with no annotations and no output schema, the description is incomplete. It doesn't explain what 'onboarding process' entails, what gets set up, what the expected outcomes are, or how this differs from related sibling tools. The context signals show nested objects and multiple action types, suggesting more complexity than the description addresses.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents both parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain what 'quick_setup' action entails versus 'start', or provide context about the data fields. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Start') and resource ('MCP Instruct onboarding process'), and explains what it does ('sets up personal profile and AI agent'). However, it doesn't explicitly differentiate from sibling tools like 'kb_onboard' or 'kb_quick_setup', which appear related to onboarding/knowledge base operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'kb_onboard', 'kb_quick_setup', 'agent_activate', and others that might overlap in functionality, there's no indication of when this specific onboarding tool is appropriate versus those other options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/hlsitechio/mcp-instruct'

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