Skip to main content
Glama
ruegreen

Cisco MCP Pods Server

by ruegreen

create_pod

Create a new pod in a collection by providing required fields including pod number, name, admin/agent/supervisor logins, password, phone numbers, status, and CRM credentials.

Instructions

Create a new pod in a collection. All required fields must be provided.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
AdminLoginYesAdmin email login (e.g., admin1@coelab.wbx.ai)
AgentLoginYesAgent email login
CRMLoginYesCRM username
CRMPasswordYesCRM password
NumberYesUnique pod number
PODYesPod name (e.g., Pod1, TestPod1)
PasswordYesPod password
SMSNumberYesSMS number (e.g., 14085386001)
StatusYesPod status (e.g., unassigned, assigned)
SupervisorLoginYesSupervisor email login
TelephoneNumberYesTelephone number (e.g., 16692845001)
TestDateNoTest date (optional)
TestStatusNoTest status (optional)
collectionYesCollection name to add the pod to

Implementation Reference

  • The handler logic for the 'create_pod' tool call within the CallToolRequestSchema handler. It destructures the arguments to separate collection and podData, calls podsClient.createPod, and returns the result as JSON text content.
    case 'create_pod': {
      const { collection, ...podData } = args;
      const result = await podsClient.createPod(collection, podData);
      return {
        content: [
          {
            type: 'text',
            text: JSON.stringify(result, null, 2),
          },
        ],
      };
    }
  • src/index.js:86-151 (registration)
    The tool registration object for 'create_pod' returned by the ListToolsRequestSchema handler, including name, detailed description, and complete input schema.
    {
      name: 'create_pod',
      description: 'Create a new pod in a collection. All required fields must be provided.',
      inputSchema: {
        type: 'object',
        properties: {
          collection: {
            type: 'string',
            description: 'Collection name to add the pod to',
          },
          Number: {
            type: 'number',
            description: 'Unique pod number',
          },
          POD: {
            type: 'string',
            description: 'Pod name (e.g., Pod1, TestPod1)',
          },
          AdminLogin: {
            type: 'string',
            description: 'Admin email login (e.g., admin1@coelab.wbx.ai)',
          },
          AgentLogin: {
            type: 'string',
            description: 'Agent email login',
          },
          SupervisorLogin: {
            type: 'string',
            description: 'Supervisor email login',
          },
          Password: {
            type: 'string',
            description: 'Pod password',
          },
          TelephoneNumber: {
            type: 'number',
            description: 'Telephone number (e.g., 16692845001)',
          },
          SMSNumber: {
            type: 'number',
            description: 'SMS number (e.g., 14085386001)',
          },
          Status: {
            type: 'string',
            description: 'Pod status (e.g., unassigned, assigned)',
          },
          CRMLogin: {
            type: 'string',
            description: 'CRM username',
          },
          CRMPassword: {
            type: 'string',
            description: 'CRM password',
          },
          "Test Date": {
            type: 'string',
            description: 'Test date (optional)',
          },
          "Test Status": {
            type: 'string',
            description: 'Test status (optional)',
          },
        },
        required: ['collection', 'Number', 'POD', 'AdminLogin', 'AgentLogin', 'SupervisorLogin', 'Password', 'TelephoneNumber', 'SMSNumber', 'Status', 'CRMLogin', 'CRMPassword'],
      },
    },
  • Detailed input schema for the create_pod tool, defining all properties and required fields for pod creation.
    inputSchema: {
      type: 'object',
      properties: {
        collection: {
          type: 'string',
          description: 'Collection name to add the pod to',
        },
        Number: {
          type: 'number',
          description: 'Unique pod number',
        },
        POD: {
          type: 'string',
          description: 'Pod name (e.g., Pod1, TestPod1)',
        },
        AdminLogin: {
          type: 'string',
          description: 'Admin email login (e.g., admin1@coelab.wbx.ai)',
        },
        AgentLogin: {
          type: 'string',
          description: 'Agent email login',
        },
        SupervisorLogin: {
          type: 'string',
          description: 'Supervisor email login',
        },
        Password: {
          type: 'string',
          description: 'Pod password',
        },
        TelephoneNumber: {
          type: 'number',
          description: 'Telephone number (e.g., 16692845001)',
        },
        SMSNumber: {
          type: 'number',
          description: 'SMS number (e.g., 14085386001)',
        },
        Status: {
          type: 'string',
          description: 'Pod status (e.g., unassigned, assigned)',
        },
        CRMLogin: {
          type: 'string',
          description: 'CRM username',
        },
        CRMPassword: {
          type: 'string',
          description: 'CRM password',
        },
        "Test Date": {
          type: 'string',
          description: 'Test date (optional)',
        },
        "Test Status": {
          type: 'string',
          description: 'Test status (optional)',
        },
      },
      required: ['collection', 'Number', 'POD', 'AdminLogin', 'AgentLogin', 'SupervisorLogin', 'Password', 'TelephoneNumber', 'SMSNumber', 'Status', 'CRMLogin', 'CRMPassword'],
    },
  • Core helper method in PodsClient class that performs the actual API POST request to create a pod in the Cisco API Gateway.
    async createPod(collection, podData) {
      const url = `${this.baseUrl}/api/v2/pods/${collection}`;
      return this.makeRequest(url, {
        method: 'POST',
        body: JSON.stringify(podData),
      });
    }
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states 'Create a new pod' implying a write/mutation operation, but doesn't disclose permissions needed, side effects (e.g., if it affects existing pods), rate limits, or what happens on failure. The requirement for all fields is noted, but overall transparency is lacking for a creation tool.

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

Conciseness5/5

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

The description is extremely concise with two sentences that are front-loaded and waste-free. The first sentence states the core purpose, and the second adds a critical constraint. Every word earns its place, making it easy to parse quickly.

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?

Given the complexity (14 parameters, 12 required) and lack of annotations or output schema, the description is incomplete. It doesn't explain what a 'pod' is, the creation process, expected outcomes, error handling, or how it interacts with the collection. For a tool with many parameters and no structured safety hints, more context is needed to guide effective use.

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?

Schema description coverage is 100%, so the schema fully documents all 14 parameters. The description adds no additional parameter semantics beyond stating 'All required fields must be provided,' which is implied by the required array. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't compensate with extra context like field relationships or examples.

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 action ('Create a new pod') and resource ('in a collection'), making the purpose evident. It distinguishes from siblings like delete_pod or update_pod by focusing on creation, but doesn't explicitly differentiate from tools like get_all_pods beyond the verb. The mention of 'All required fields must be provided' adds specificity about prerequisites.

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 like update_pod or delete_pod. It mentions that required fields must be provided, which is a prerequisite but not usage context. There's no indication of scenarios, dependencies, or comparisons with sibling tools.

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/ruegreen/CiscoMCPPods'

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