{
  "service": "langbase",
  "displayName": "Langbase",
  "categories": [
    "AI",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "User/Org API Key",
      "placeholder": "LANGBASE_API_KEY",
      "description": "Langbase User or Org API key used with the Authorization Bearer header. Create it in Langbase Studio > API keys: https://studio.langbase.com/ and see the official guide: https://langbase.com/docs/api-reference/api-keys"
    }
  ],
  "homepageUrl": "https://langbase.com",
  "actions": [
    {
      "id": "langbase.create_memory",
      "service": "langbase",
      "name": "create_memory",
      "description": "Create a Langbase memory with the official Memory Create API and return the normalized created memory summary.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The memory name."
          },
          "description": {
            "type": "string",
            "description": "A short description of the memory."
          },
          "embedding_model": {
            "type": "string",
            "enum": [
              "openai:text-embedding-3-large",
              "cohere:embed-v4.0",
              "cohere:embed-multilingual-v3.0",
              "cohere:embed-multilingual-light-v3.0",
              "google:text-embedding-004"
            ],
            "description": "The embedding model to use for the memory."
          },
          "chunk_size": {
            "type": "integer",
            "maximum": 30000,
            "description": "The maximum number of characters in a chunk."
          },
          "chunk_overlap": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of overlapping characters between adjacent chunks."
          },
          "top_k": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The default number of chunks to return during retrieval."
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "Input parameters for creating a Langbase memory."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "memory": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The memory name."
              },
              "description": {
                "type": "string",
                "description": "The memory description."
              },
              "ownerLogin": {
                "type": "string",
                "description": "The login of the memory owner."
              },
              "url": {
                "type": "string",
                "description": "The Langbase Studio URL for the memory.",
                "format": "uri"
              },
              "chunkSize": {
                "type": "integer",
                "description": "The configured chunk size for this memory."
              },
              "chunkOverlap": {
                "type": "integer",
                "description": "The configured chunk overlap for this memory."
              },
              "embeddingModel": {
                "type": "string",
                "enum": [
                  "openai:text-embedding-3-large",
                  "cohere:embed-v4.0",
                  "cohere:embed-multilingual-v3.0",
                  "cohere:embed-multilingual-light-v3.0",
                  "google:text-embedding-004"
                ],
                "description": "The embedding model configured for this memory."
              }
            },
            "additionalProperties": false,
            "required": [
              "name",
              "description",
              "ownerLogin",
              "url"
            ],
            "description": "A Langbase memory summary."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Langbase memory returned by create."
      }
    },
    {
      "id": "langbase.delete_memory",
      "service": "langbase",
      "name": "delete_memory",
      "description": "Delete an existing Langbase memory by name and return whether the delete request succeeded.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "memoryName": {
            "type": "string",
            "minLength": 1,
            "description": "The Langbase memory name to delete."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for deleting a Langbase memory."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Langbase deleted the memory successfully."
          }
        },
        "additionalProperties": false,
        "description": "The Langbase delete result."
      }
    },
    {
      "id": "langbase.list_memories",
      "service": "langbase",
      "name": "list_memories",
      "description": "List Langbase memories available to the connected User or Org API key and return stable memory summaries.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "memories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The memory name."
                },
                "description": {
                  "type": "string",
                  "description": "The memory description."
                },
                "ownerLogin": {
                  "type": "string",
                  "description": "The login of the memory owner."
                },
                "url": {
                  "type": "string",
                  "description": "The Langbase Studio URL for the memory.",
                  "format": "uri"
                },
                "chunkSize": {
                  "type": "integer",
                  "description": "The configured chunk size for this memory."
                },
                "chunkOverlap": {
                  "type": "integer",
                  "description": "The configured chunk overlap for this memory."
                },
                "embeddingModel": {
                  "type": "string",
                  "enum": [
                    "openai:text-embedding-3-large",
                    "cohere:embed-v4.0",
                    "cohere:embed-multilingual-v3.0",
                    "cohere:embed-multilingual-light-v3.0",
                    "google:text-embedding-004"
                  ],
                  "description": "The embedding model configured for this memory."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "description",
                "ownerLogin",
                "url"
              ],
              "description": "A Langbase memory summary."
            },
            "description": "The Langbase memories returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Langbase memories returned by the list endpoint."
      }
    },
    {
      "id": "langbase.retrieve_memory",
      "service": "langbase",
      "name": "retrieve_memory",
      "description": "Retrieve similar chunks from one or more Langbase memories with the official Memory Retrieve API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The search query used to retrieve similar chunks."
          },
          "memory": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The name of the memory to search."
                },
                "filters": {
                  "description": "Optional Langbase memory filters forwarded as-is, such as [\"field\", \"Eq\", \"value\"] or nested [\"And\"|\"Or\", ...] filter trees."
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "A memory reference used during retrieval."
            },
            "description": "The Langbase memories to search.",
            "minItems": 1
          },
          "topK": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of top chunks to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "query",
          "memory"
        ],
        "description": "Input parameters for retrieving similar chunks from Langbase memories."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The retrieved text segment."
                },
                "similarity": {
                  "type": "number",
                  "description": "The similarity score returned by Langbase."
                },
                "meta": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "description": "A metadata value."
                  },
                  "description": "Additional metadata returned for the retrieved chunk."
                }
              },
              "additionalProperties": false,
              "description": "A single retrieved Langbase memory chunk."
            },
            "description": "The retrieved Langbase memory matches."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Langbase retrieval results."
      }
    }
  ]
}
