MCP Tools Reference

Complete reference for all NoLag MCP tools available to AI assistants.

Project Management

nolag_create_project

Creates a new NoLag project within your organization.

{
  "name": "nolag_create_project",
  "description": "Create a new NoLag project",
  "inputSchema": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "description": "Project name"
      },
      "description": {
        "type": "string",
        "description": "Project description"
      },
      "environment": {
        "type": "string",
        "enum": ["production", "staging", "development"],
        "description": "Project environment"
      }
    },
    "required": ["name"]
  }
}

nolag_list_projects

Lists all projects in your organization.

{
  "name": "nolag_list_projects",
  "description": "List all NoLag projects",
  "inputSchema": {
    "type": "object",
    "properties": {
      "environment": {
        "type": "string",
        "enum": ["production", "staging", "development"],
        "description": "Filter by environment"
      }
    }
  }
}

App Management

nolag_create_app

Creates a new app within a project.

{
  "name": "nolag_create_app",
  "description": "Create a new app in a project",
  "inputSchema": {
    "type": "object",
    "properties": {
      "projectId": {
        "type": "string",
        "description": "Project ID"
      },
      "name": {
        "type": "string",
        "description": "App name"
      },
      "blueprintId": {
        "type": "string",
        "description": "Optional blueprint to use"
      }
    },
    "required": ["projectId", "name"]
  }
}

nolag_get_app

Gets details about a specific app.

{
  "name": "nolag_get_app",
  "description": "Get app details",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      }
    },
    "required": ["appId"]
  }
}

Topic Management

nolag_create_topic

Creates a new topic with optional access control.

{
  "name": "nolag_create_topic",
  "description": "Create a topic with ACL configuration",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "name": {
        "type": "string",
        "description": "Topic name (e.g., 'chat/general')"
      },
      "description": {
        "type": "string",
        "description": "Topic description"
      },
      "acl": {
        "type": "object",
        "description": "Access control configuration",
        "properties": {
          "publish": {
            "type": "string",
            "enum": ["all", "authenticated", "none"],
            "description": "Who can publish"
          },
          "subscribe": {
            "type": "string",
            "enum": ["all", "authenticated", "none"],
            "description": "Who can subscribe"
          }
        }
      }
    },
    "required": ["appId", "name"]
  }
}

nolag_list_topics

Lists all topics in an app.

{
  "name": "nolag_list_topics",
  "description": "List all topics in an app",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      }
    },
    "required": ["appId"]
  }
}

Messaging

nolag_publish

Publishes a message to a topic.

{
  "name": "nolag_publish",
  "description": "Publish a message to a topic",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "topic": {
        "type": "string",
        "description": "Topic name"
      },
      "data": {
        "type": "object",
        "description": "Message payload"
      },
      "qos": {
        "type": "number",
        "enum": [0, 1, 2],
        "description": "Quality of Service level"
      }
    },
    "required": ["appId", "topic", "data"]
  }
}

nolag_subscribe

Subscribes to a topic and returns recent messages.

{
  "name": "nolag_subscribe",
  "description": "Subscribe to a topic and get recent messages",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "topic": {
        "type": "string",
        "description": "Topic name"
      },
      "limit": {
        "type": "number",
        "description": "Max messages to return",
        "default": 10
      }
    },
    "required": ["appId", "topic"]
  }
}

Presence

nolag_get_presence

Gets the list of users present on a topic.

{
  "name": "nolag_get_presence",
  "description": "Get users currently present on a topic",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "topic": {
        "type": "string",
        "description": "Topic name"
      }
    },
    "required": ["appId", "topic"]
  }
}

Code Generation

nolag_generate_code

Generates SDK client code for a specific use case.

{
  "name": "nolag_generate_code",
  "description": "Generate client code for NoLag SDK",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "language": {
        "type": "string",
        "enum": ["typescript", "javascript", "python", "go"],
        "description": "Target language"
      },
      "framework": {
        "type": "string",
        "enum": ["react", "vue", "svelte", "vanilla", "node"],
        "description": "Target framework"
      },
      "useCase": {
        "type": "string",
        "description": "Describe what the code should do"
      },
      "topics": {
        "type": "array",
        "items": { "type": "string" },
        "description": "Topics to include"
      }
    },
    "required": ["appId", "language", "useCase"]
  }
}

Monitoring

nolag_get_metrics

Gets metrics and statistics for an app.

{
  "name": "nolag_get_metrics",
  "description": "Get app metrics and statistics",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "metric": {
        "type": "string",
        "enum": ["connections", "messages", "bandwidth", "errors"],
        "description": "Metric type"
      },
      "period": {
        "type": "string",
        "enum": ["1h", "24h", "7d", "30d"],
        "description": "Time period"
      }
    },
    "required": ["appId"]
  }
}

nolag_get_connections

Gets active connections for an app.

{
  "name": "nolag_get_connections",
  "description": "Get active connections",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "topic": {
        "type": "string",
        "description": "Filter by topic"
      }
    },
    "required": ["appId"]
  }
}

Webhooks

nolag_configure_webhooks

Configures hydration and trigger webhooks for an app. Hydration webhooks are called when actors subscribe to pre-populate state. Trigger webhooks are called when messages are published.

{
  "name": "nolag_configure_webhooks",
  "description": "Configure webhooks for an app",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      },
      "hydrationWebhook": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Webhook URL (can include query params)"
          },
          "headers": {
            "type": "object",
            "description": "Custom headers"
          }
        }
      },
      "triggerWebhook": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Webhook URL"
          },
          "headers": {
            "type": "object",
            "description": "Custom headers"
          }
        }
      }
    },
    "required": ["appId"]
  }
}

nolag_get_webhook_config

Gets the current webhook configuration for an app.

{
  "name": "nolag_get_webhook_config",
  "description": "Get webhook configuration for an app",
  "inputSchema": {
    "type": "object",
    "properties": {
      "appId": {
        "type": "string",
        "description": "App ID"
      }
    },
    "required": ["appId"]
  }
}

nolag_list_webhook_dlq

Lists failed webhook requests in the Dead Letter Queue.

{
  "name": "nolag_list_webhook_dlq",
  "description": "List failed webhook requests",
  "inputSchema": {
    "type": "object",
    "properties": {
      "status": {
        "type": "string",
        "enum": ["pending", "failed", "dead"],
        "description": "Filter by status"
      },
      "type": {
        "type": "string",
        "enum": ["trigger", "hydration"],
        "description": "Filter by webhook type"
      },
      "limit": {
        "type": "number",
        "description": "Max entries to return"
      }
    }
  }
}

nolag_retry_webhook_dlq

Retries a failed webhook from the Dead Letter Queue.

{
  "name": "nolag_retry_webhook_dlq",
  "description": "Retry a failed webhook",
  "inputSchema": {
    "type": "object",
    "properties": {
      "dlqId": {
        "type": "string",
        "description": "DLQ entry ID"
      }
    },
    "required": ["dlqId"]
  }
}

Next Steps