Skip to main content
Glama

Search Documentation

search_docs
Read-onlyIdempotent

Search documentation with hybrid semantic (vector) and keyword (BM25) search. Use semanticWeight to choose keyword-only (0), semantic-only (1), or a blend; mid values fuse rankings with RRF. Supports Tiger Cloud (TimescaleDB), PostgreSQL, and PostGIS.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYesThe maximum number of matches to return. Defaults to 20.
queryYesThe search query. Used for BM25 when keyword or hybrid search applies, and for the embedding when semantic or hybrid search applies.
sourceYesThe documentation source to search. "tiger" for Tiger Cloud and TimescaleDB, "postgres" for PostgreSQL, "postgis" for PostGIS spatial extension. Specific versions provided with _X.X suffixes.
semanticWeightYesControls the balance between semantic and keyword search. 0 = keyword only, 0.5 = equal mix, 1 = semantic only. Default is 0.7 (favor semantic search).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed6 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"The maximum number of matches to return. If not provided, default is 10."New value: +"The maximum number of matches to return. Defaults to 20."
    • changedInput schema / properties / query / description
      Previous value: -"The search query. For semantic search, use natural language. For keyword search, provide keywords."New value: +"The search query. Used for BM25 when keyword or hybrid search applies, and for the embedding when semantic or hybrid search applies."
    • removedInput schema / properties / search_type
      Removed value: -{
      -  "description": "The type of search to perform. \"semantic\" uses natural language vector similarity, \"keyword\" uses BM25 keyword matching.",
      -  "enum": [
      -    "semantic",
      -    "keyword"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / semanticWeight
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 1,
      +      "minimum": 0,
      +      "multipleOf": 0.1,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Controls the balance between semantic and keyword search. 0 = keyword only, 0.5 = equal mix, 1 = semantic only. Default is 0.7 (favor semantic search)."
      +}
    • changedInput schema / required
      Previous value: -[
      -  "source",
      -  "search_type",
      -  "query",
      -  "limit"
      -]New value: +[
      +  "source",
      +  "query",
      +  "limit",
      +  "semanticWeight"
      +]
    • changedOutput schema / properties / results / items / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "description": "The content of the documentation entry.",
      -        "type": "string"
      -      },
      -      "distance": {
      -        "description": "The distance score indicating the relevance of the entry to the query. Lower values indicate higher relevance.",
      -        "type": "number"
      -      },
      -      "id": {
      -        "description": "The unique identifier of the documentation entry.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "metadata": {
      -        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "content",
      -      "metadata",
      -      "distance"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "description": "The content of the documentation entry.",
      -        "type": "string"
      -      },
      -      "id": {
      -        "description": "The unique identifier of the documentation entry.",
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "metadata": {
      -        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      -        "type": "string"
      -      },
      -      "score": {
      -        "description": "The score indicating the relevance of the entry to the keywords. Higher values indicate higher relevance.",
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "content",
      -      "metadata",
      -      "score"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "description": "The content of the documentation entry.",
      +        "type": "string"
      +      },
      +      "distance": {
      +        "description": "The distance score indicating the relevance of the entry to the query. Lower values indicate higher relevance.",
      +        "type": "number"
      +      },
      +      "id": {
      +        "description": "The unique identifier of the documentation entry.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "metadata": {
      +        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "content",
      +      "metadata",
      +      "distance"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "description": "The content of the documentation entry.",
      +        "type": "string"
      +      },
      +      "id": {
      +        "description": "The unique identifier of the documentation entry.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "metadata": {
      +        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      +        "type": "string"
      +      },
      +      "score": {
      +        "description": "The score indicating the relevance of the entry to the keywords. Higher values indicate higher relevance.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "content",
      +      "metadata",
      +      "score"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "description": "The content of the documentation entry.",
      +        "type": "string"
      +      },
      +      "id": {
      +        "description": "The unique identifier of the documentation entry.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "metadata": {
      +        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      +        "type": "string"
      +      },
      +      "rrf_score": {
      +        "description": "Hybrid search: fused RRF score from combining semantic and keyword result rankings.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "content",
      +      "metadata",
      +      "rrf_score"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed9 schema fields changed
    • addedInput schema / properties / limit / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / limit / description
      Previous value: -"The maximum number of matches to return. Default is 10."New value: +"The maximum number of matches to return. If not provided, default is 10."
    • removedInput schema / properties / limit / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / limit / minimum
      Removed value: --9007199254740991
    • removedInput schema / properties / limit / type
      Removed value: -"integer"
    • changedInput schema / properties / source / description
      Previous value: -"The documentation source to search. \"tiger\" for Tiger Cloud and TimescaleDB, \"postgres\" for PostgreSQL, \"postgis\" for PostGIS spatial extension."New value: +"The documentation source to search. \"tiger\" for Tiger Cloud and TimescaleDB, \"postgres\" for PostgreSQL, \"postgis\" for PostGIS spatial extension. Specific versions provided with _X.X suffixes."
    • changedInput schema / properties / source / enum
      Previous value: -[
      -  "tiger",
      -  "postgres",
      -  "postgis"
      -]New value: +[
      +  "tiger",
      +  "postgres_14",
      +  "postgres_15",
      +  "postgres_16",
      +  "postgres_17",
      +  "postgres_18",
      +  "postgis_3.3",
      +  "postgis_3.4",
      +  "postgis_3.5",
      +  "postgis_3.6"
      +]
    • removedInput schema / properties / version
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "enum": [
      -        "14",
      -        "15",
      -        "16",
      -        "17",
      -        "18",
      -        "latest"
      -      ],
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "The PostgreSQL major version (ignored when searching \"tiger\"). Recommended to assume the latest version if unknown. Only applicable when source is Postgres. Defaults to latest version."
      -}
    • changedInput schema / required
      Previous value: -[
      -  "source",
      -  "search_type",
      -  "query",
      -  "version",
      -  "limit"
      -]New value: +[
      +  "source",
      +  "search_type",
      +  "query",
      +  "limit"
      +]
  4. Changed4 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / limit / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / limit / minimum
      Added value: +-9007199254740991
    • changedOutput schema / properties / results / items / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "description": "The content of the documentation entry.",
      -        "type": "string"
      -      },
      -      "distance": {
      -        "description": "The distance score indicating the relevance of the entry to the query. Lower values indicate higher relevance.",
      -        "type": "number"
      -      },
      -      "id": {
      -        "description": "The unique identifier of the documentation entry.",
      -        "type": "integer"
      -      },
      -      "metadata": {
      -        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "content",
      -      "metadata",
      -      "distance"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "$ref": "#/properties/results/items/anyOf/0/properties/content"
      -      },
      -      "id": {
      -        "$ref": "#/properties/results/items/anyOf/0/properties/id"
      -      },
      -      "metadata": {
      -        "$ref": "#/properties/results/items/anyOf/0/properties/metadata"
      -      },
      -      "score": {
      -        "description": "The score indicating the relevance of the entry to the keywords. Higher values indicate higher relevance.",
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "content",
      -      "metadata",
      -      "score"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "description": "The content of the documentation entry.",
      +        "type": "string"
      +      },
      +      "distance": {
      +        "description": "The distance score indicating the relevance of the entry to the query. Lower values indicate higher relevance.",
      +        "type": "number"
      +      },
      +      "id": {
      +        "description": "The unique identifier of the documentation entry.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "metadata": {
      +        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "content",
      +      "metadata",
      +      "distance"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "description": "The content of the documentation entry.",
      +        "type": "string"
      +      },
      +      "id": {
      +        "description": "The unique identifier of the documentation entry.",
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "metadata": {
      +        "description": "Additional metadata about the documentation entry, as a JSON encoded string.",
      +        "type": "string"
      +      },
      +      "score": {
      +        "description": "The score indicating the relevance of the entry to the keywords. Higher values indicate higher relevance.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "content",
      +      "metadata",
      +      "score"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed4 schema fields changed
    • addedInput schema / properties / version / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "14",
      +      "15",
      +      "16",
      +      "17",
      +      "18",
      +      "latest"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / version / description
      Previous value: -"The PostgreSQL major version (ignored when searching \"tiger\"). Recommended to assume the latest version if unknown."New value: +"The PostgreSQL major version (ignored when searching \"tiger\"). Recommended to assume the latest version if unknown. Only applicable when source is Postgres. Defaults to latest version."
    • removedInput schema / properties / version / enum
      Removed value: -[
      -  "14",
      -  "15",
      -  "16",
      -  "17",
      -  "18",
      -  "latest"
      -]
    • removedInput schema / properties / version / type
      Removed value: -"string"
  6. Changed2 schema fields changed
    • changedInput schema / properties / source / description
      Previous value: -"The documentation source to search. \"tiger\" for Tiger Cloud and TimescaleDB, \"postgres\" for PostgreSQL."New value: +"The documentation source to search. \"tiger\" for Tiger Cloud and TimescaleDB, \"postgres\" for PostgreSQL, \"postgis\" for PostGIS spatial extension."
    • changedInput schema / properties / source / enum
      Previous value: -[
      -  "tiger",
      -  "postgres"
      -]New value: +[
      +  "tiger",
      +  "postgres",
      +  "postgis"
      +]
  7. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.