Weaviate MCP Server for Cloudflare Workers
44 tools available in the Weaviate MCP server. Each tool can be called by AI assistants to perform specific actions.
weaviate_create_backupCreate a backup of Weaviate data.
Backups can be stored in different backends (filesystem, s3, gcs, azure).
Args:
Returns the backup status.
{
"type": "object",
"required": [
"backend",
"backupId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"backend": {
"enum": [
"filesystem",
"s3",
"gcs",
"azure"
],
"type": "string",
"description": "Backup storage backend"
},
"exclude": {
"type": "array",
"items": {
"type": "string"
},
"description": "Classes to exclude"
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "Classes to include"
},
"backupId": {
"type": "string",
"description": "Unique backup identifier"
}
}
}weaviate_get_backup_statusGet the status of a backup operation.
Args:
Returns the current backup status.
{
"type": "object",
"required": [
"backend",
"backupId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"backend": {
"enum": [
"filesystem",
"s3",
"gcs",
"azure"
],
"type": "string",
"description": "Backup storage backend"
},
"backupId": {
"type": "string",
"description": "Backup identifier"
}
}
}weaviate_restore_backupRestore data from a backup.
Args:
Returns the restore operation status.
{
"type": "object",
"required": [
"backend",
"backupId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"backend": {
"enum": [
"filesystem",
"s3",
"gcs",
"azure"
],
"type": "string",
"description": "Backup storage backend"
},
"exclude": {
"type": "array",
"items": {
"type": "string"
},
"description": "Classes to exclude from restore"
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "Classes to include in restore"
},
"backupId": {
"type": "string",
"description": "Backup identifier"
}
}
}weaviate_get_restore_statusGet the status of a restore operation.
Args:
Returns the current restore status.
{
"type": "object",
"required": [
"backend",
"backupId"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"backend": {
"enum": [
"filesystem",
"s3",
"gcs",
"azure"
],
"type": "string",
"description": "Backup storage backend"
},
"backupId": {
"type": "string",
"description": "Backup identifier"
}
}
}weaviate_cancel_backupCancel an in-progress backup or restore operation.
Args:
Returns confirmation of cancellation.
{
"type": "object",
"required": [
"backend",
"backupId"
],
"properties": {
"backend": {
"enum": [
"filesystem",
"s3",
"gcs",
"azure"
],
"type": "string",
"description": "Backup storage backend"
},
"backupId": {
"type": "string",
"description": "Backup identifier"
}
}
}weaviate_deactivate_tenantsDeactivate (cool down) tenants to reduce resource usage.
Deactivated tenants are still stored but not loaded into memory. This is a convenience method that sets tenant status to INACTIVE.
Args:
Returns confirmation of deactivation.
{
"type": "object",
"required": [
"className",
"tenantNames"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class"
},
"tenantNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tenant names to deactivate"
}
}
}weaviate_batch_createCreate multiple objects in a single batch request.
This is the most efficient way to import large amounts of data.
Args:
Returns the batch operation results.
{
"type": "object",
"required": [
"class",
"properties"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID)"
},
"class": {
"type": "string",
"description": "Class name"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"vector": {
"type": "array",
"items": {
"type": "number"
},
"description": "Custom vector"
},
"properties": {
"type": "object",
"description": "Object properties"
}
}
}weaviate_batch_deleteDelete multiple objects matching a filter in a single batch request.
Args:
Returns the deletion results.
{
"type": "object",
"required": [
"className"
],
"properties": {
"dryRun": {
"type": "boolean",
"default": false,
"description": "Dry run mode (no actual deletion)"
},
"output": {
"enum": [
"minimal",
"verbose"
],
"type": "string",
"default": "minimal",
"description": "Output verbosity"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_batch_add_referencesAdd multiple cross-references in a single batch request.
Args:
Returns the batch operation results.
{
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Target beacon (weaviate://localhost/ClassName/uuid)"
}
}
}weaviate_create_classificationStart a classification task to automatically classify objects.
Classification types:
Args:
Returns the classification task status.
{
"type": "object",
"required": [
"className",
"classifyProperties",
"basedOnProperties"
],
"properties": {
"k": {
"type": "integer",
"minimum": 1,
"description": "Number of neighbors for knn"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"className": {
"type": "string",
"description": "Class to classify"
},
"basedOnProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "Properties to base classification on"
},
"classifyProperties": {
"type": "array",
"items": {
"type": "string"
},
"description": "Reference properties to classify"
}
}
}weaviate_get_classificationGet the status of a classification task.
Args:
Returns the classification status and results.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Classification task ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}weaviate_get_metaGet Weaviate server metadata including version and modules.
Returns server information including hostname, version, and configured modules.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}weaviate_is_liveCheck if Weaviate is alive (liveness probe).
This is a simple health check that returns ok if the server is running.
{
"type": "object",
"properties": {}
}weaviate_is_readyCheck if Weaviate is ready to accept requests (readiness probe).
This checks if the server is fully initialized and ready for queries.
{
"type": "object",
"properties": {}
}weaviate_get_nodesGet information about all nodes in the Weaviate cluster.
Returns status, version, and statistics for each node.
Args:
Returns list of nodes with their status.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"output": {
"enum": [
"minimal",
"verbose"
],
"type": "string",
"description": "Output verbosity"
}
}
}weaviate_get_cluster_statisticsGet cluster-wide statistics.
Returns aggregate statistics across all nodes in the cluster.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}weaviate_list_objectsList objects from a Weaviate class with pagination.
Args:
Returns a paginated list of objects.
{
"type": "object",
"required": [
"className"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of objects to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Offset for pagination"
},
"tenant": {
"type": "string",
"description": "Tenant name for multi-tenant collections"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_get_objectGet a single object by ID.
Args:
Returns the object with all its properties.
{
"type": "object",
"required": [
"className"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID)"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"tenant": {
"type": "string",
"description": "Tenant name for multi-tenant collections"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_create_objectCreate a new object in a Weaviate class.
Args:
Returns the created object.
{
"type": "object",
"required": [
"className",
"properties"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID, auto-generated if not provided)"
},
"tenant": {
"type": "string",
"description": "Tenant name for multi-tenant collections"
},
"vector": {
"type": "array",
"items": {
"type": "number"
},
"description": "Custom vector"
},
"className": {
"type": "string",
"description": "Name of the class"
},
"properties": {
"type": "object",
"description": "Object properties"
}
}
}weaviate_update_objectUpdate an existing object (replaces all properties).
Args:
Returns the updated object.
{
"type": "object",
"required": [
"className",
"id",
"properties"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID)"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"vector": {
"type": "array",
"items": {
"type": "number"
},
"description": "New vector"
},
"className": {
"type": "string",
"description": "Name of the class"
},
"properties": {
"type": "object",
"description": "New object properties (replaces all)"
}
}
}weaviate_patch_objectPartially update an object (only provided properties are updated).
Args:
Returns confirmation of update.
{
"type": "object",
"required": [
"className",
"id",
"properties"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID)"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"className": {
"type": "string",
"description": "Name of the class"
},
"properties": {
"type": "object",
"description": "Properties to update"
}
}
}weaviate_delete_objectDelete an object by ID.
Args:
Returns confirmation of deletion.
{
"type": "object",
"required": [
"className",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID) to delete"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_object_existsCheck if an object exists by ID (HEAD request).
Args:
Returns whether the object exists.
{
"type": "object",
"required": [
"className",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID (UUID) to check"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_add_referenceAdd a cross-reference from one object to another.
Cross-references link objects together. The source object must have a reference property defined in its class schema.
Args:
Returns confirmation of reference addition.
{
"type": "object",
"required": [
"className",
"id",
"propertyName",
"targetClass",
"targetId"
],
"properties": {
"id": {
"type": "string",
"description": "Source object ID"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"targetId": {
"type": "string",
"description": "Target object ID"
},
"className": {
"type": "string",
"description": "Source class name"
},
"targetClass": {
"type": "string",
"description": "Target class name"
},
"propertyName": {
"type": "string",
"description": "Reference property name"
}
}
}weaviate_update_referencesReplace all references for a property with a new set.
This replaces ALL existing references on the property with the provided list.
Args:
Returns confirmation of reference update.
{
"type": "object",
"required": [
"className",
"id",
"propertyName"
],
"properties": {
"id": {
"type": "string",
"description": "Source object ID"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"className": {
"type": "string",
"description": "Source class name"
},
"propertyName": {
"type": "string",
"description": "Reference property name"
}
}
}weaviate_delete_referenceDelete a specific cross-reference from an object.
Args:
Returns confirmation of reference deletion.
{
"type": "object",
"required": [
"className",
"id",
"propertyName",
"targetClass",
"targetId"
],
"properties": {
"id": {
"type": "string",
"description": "Source object ID"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"targetId": {
"type": "string",
"description": "Target object ID to remove"
},
"className": {
"type": "string",
"description": "Source class name"
},
"targetClass": {
"type": "string",
"description": "Target class name"
},
"propertyName": {
"type": "string",
"description": "Reference property name"
}
}
}weaviate_get_schemaGet the full Weaviate schema with all collections/classes.
Returns the complete schema including all classes, their properties, vectorizers, and configurations.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}weaviate_get_classGet a specific class/collection from the schema.
Args:
Returns the class configuration including properties, vectorizer, and module config.
{
"type": "object",
"required": [
"className"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"className": {
"type": "string",
"description": "Name of the class to retrieve"
}
}
}weaviate_create_classCreate a new class/collection in Weaviate.
Args:
Returns the created class configuration.
{
"type": "object",
"required": [
"className"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class (must start with uppercase)"
},
"description": {
"type": "string",
"description": "Description of the class"
},
"moduleConfig": {
"type": "object",
"description": "Module-specific configuration"
},
"vectorIndexType": {
"enum": [
"hnsw",
"flat"
],
"type": "string",
"description": "Vector index type"
},
"replicationFactor": {
"type": "number",
"description": "Replication factor"
},
"multiTenancyEnabled": {
"type": "boolean",
"description": "Enable multi-tenancy"
}
}
}weaviate_update_classUpdate an existing class/collection configuration.
Note: Not all properties can be updated after creation. Typically you can update:
Args:
Returns the updated class configuration.
{
"type": "object",
"required": [
"className"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class to update"
},
"description": {
"type": "string",
"description": "New description"
},
"replicationFactor": {
"type": "number",
"description": "New replication factor"
}
}
}weaviate_delete_classDelete a class/collection and all its data.
WARNING: This permanently deletes the class and all objects in it.
Args:
Returns confirmation of deletion.
{
"type": "object",
"required": [
"className"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class to delete"
}
}
}weaviate_add_propertyAdd a new property to an existing class.
Args:
Returns confirmation of property addition.
{
"type": "object",
"required": [
"className",
"name",
"dataType"
],
"properties": {
"name": {
"type": "string",
"description": "Property name"
},
"dataType": {
"type": "array",
"items": {
"type": "string"
},
"description": "Data types (e.g., [\"text\"], [\"int\"])"
},
"className": {
"type": "string",
"description": "Name of the class"
},
"description": {
"type": "string",
"description": "Property description"
},
"indexFilterable": {
"type": "boolean",
"description": "Enable filtering"
},
"indexSearchable": {
"type": "boolean",
"description": "Enable full-text search"
}
}
}weaviate_graphqlExecute a raw GraphQL query against Weaviate.
Use this for complex queries not covered by other search tools.
Args:
Returns the GraphQL response.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "GraphQL query string"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}weaviate_near_vectorSearch for objects similar to a given vector.
Args:
Returns matching objects sorted by similarity.
{
"type": "object",
"required": [
"className",
"vector"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"vector": {
"type": "array",
"items": {
"type": "number"
},
"description": "Query vector"
},
"distance": {
"type": "number",
"description": "Maximum distance"
},
"certainty": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Minimum certainty (0-1)"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_near_textSearch for objects semantically similar to text concepts.
Requires a text vectorizer module (text2vec-openai, text2vec-cohere, etc.)
Args:
Returns matching objects sorted by semantic similarity.
{
"type": "object",
"required": [
"className",
"concepts"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"concepts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Text concepts to search for"
},
"distance": {
"type": "number",
"description": "Maximum distance"
},
"certainty": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Minimum certainty (0-1)"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_near_objectSearch for objects similar to an existing object by ID.
Args:
Returns matching objects sorted by similarity.
{
"type": "object",
"required": [
"className",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Object ID to find similar objects to"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"distance": {
"type": "number",
"description": "Maximum distance"
},
"certainty": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Minimum certainty (0-1)"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_hybridPerform hybrid search combining vector search with keyword search (BM25).
Args:
Returns matching objects combining both search methods.
{
"type": "object",
"required": [
"className",
"query"
],
"properties": {
"alpha": {
"type": "number",
"default": 0.5,
"maximum": 1,
"minimum": 0,
"description": "Vector (1) vs keyword (0) balance"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
},
"query": {
"type": "string",
"description": "Search query text"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"vector": {
"type": "array",
"items": {
"type": "number"
},
"description": "Custom query vector"
},
"className": {
"type": "string",
"description": "Name of the class"
},
"properties": {
"type": "array",
"items": {
"type": "string"
},
"description": "Properties to search for BM25"
}
}
}weaviate_bm25Perform BM25 keyword search (no vector search).
Args:
Returns matching objects based on keyword relevance.
{
"type": "object",
"required": [
"className",
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Maximum results"
},
"query": {
"type": "string",
"description": "Search query text"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fields to return"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"tenant": {
"type": "string",
"description": "Tenant name"
},
"className": {
"type": "string",
"description": "Name of the class"
},
"properties": {
"type": "array",
"items": {
"type": "string"
},
"description": "Properties to search in"
}
}
}weaviate_get_tenantsList all tenants for a multi-tenant class.
Args:
Returns list of tenants with their activity status.
{
"type": "object",
"required": [
"className"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_create_tenantsCreate one or more tenants for a multi-tenant class.
The class must have multi-tenancy enabled.
Args:
Returns the created tenants.
{
"type": "object",
"required": [
"className"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_update_tenantsUpdate tenant activity status for a multi-tenant class.
Use this to activate (HOT/ACTIVE), deactivate (COLD/INACTIVE), freeze (FROZEN), or offload (OFFLOADED) tenants.
Args:
Returns confirmation of update.
{
"type": "object",
"required": [
"className"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class"
}
}
}weaviate_delete_tenantsDelete tenants from a multi-tenant class.
WARNING: This permanently deletes the tenants and all their data.
Args:
Returns confirmation of deletion.
{
"type": "object",
"required": [
"className",
"tenantNames"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class"
},
"tenantNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tenant names to delete"
}
}
}weaviate_tenant_existsCheck if a tenant exists in a multi-tenant class.
Args:
Returns whether the tenant exists.
{
"type": "object",
"required": [
"className",
"tenantName"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class"
},
"tenantName": {
"type": "string",
"description": "Tenant name to check"
}
}
}weaviate_activate_tenantsActivate (warm up) tenants to make them available for queries.
This is a convenience method that sets tenant status to ACTIVE.
Args:
Returns confirmation of activation.
{
"type": "object",
"required": [
"className",
"tenantNames"
],
"properties": {
"className": {
"type": "string",
"description": "Name of the class"
},
"tenantNames": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tenant names to activate"
}
}
}