Search files

veryfront__search_files

Requires project.knowledge.read.

Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

Call type: Read-only.

Arguments

FieldTypeRequiredDescription and constraints
project_referencestringNoProject ID or slug whose indexed file chunks should be searched.
modelobjectNoAI model id or alias. Call list_models for the ids this deployment serves; never invent a version suffix.
query_vectornumber[]YesEmbedding vector for the search query, generated with a compatible embedding model.
dimensionstringYesEmbedding dimension that matches the supplied query vector. Values: "768", "1024", "1536", "3072", "4096".
modestringNoSearch mode. Only SEMANTIC (the default) is supported; KEYWORD and HYBRID are refused. Values: "SEMANTIC", "KEYWORD", "HYBRID".
environmentstringNoIndex to search: the preview branch, the production deployment or a release. Values: "PREVIEW", "PRODUCTION", "RELEASE".
branch_idstring or nullNoPreview branch ID to search. Use null for the main branch.
release_idstringNoRelease ID to search instead of the current branch or mainline index. Format: uuid.
release_versionstringNoRelease version to search when you do not have the release ID.
limitnumberNoMaximum number of ranked chunk matches to return, as an integer from 1 to 100. Minimum: 1. Maximum: 100.
cursorstringNoOpaque pagination cursor from a previous response.
optionsobjectNoSearch options. Tool results carry no embedding vectors, so include_embeddings has no effect here. Non-empty folders or file_types are refused: the search does not filter by them yet.

Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See MCP client setup.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__search_files",
    "arguments": {
      "query_vector": [],
      "dimension": "768"
    }
  }
}

Result

The published output shape is summarized below. Inspect both the MCP response content and isError when handling a call.

FieldTypeRequiredDescription and constraints
dataobject[]YesRanked semantic matches for the supplied query vector.
page_infoobjectYesPagination cursors for traversing semantic search results.
total_matchesnumberYesTotal number of chunk matches that met the similarity threshold.
search_time_msnumberYesServer-side search execution time in milliseconds.

Full schemas

json
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "description": "Project ID or slug whose indexed file chunks should be searched."
    },
    "model": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "description": "Human-readable name for the target record."
        },
        "provider": {
          "type": "string",
          "minLength": 1,
          "description": "Provide the provider."
        }
      },
      "required": [
        "name",
        "provider"
      ],
      "additionalProperties": false,
      "description": "AI model id or alias. Call list_models for the ids this deployment serves; never invent a version suffix."
    },
    "query_vector": {
      "type": "array",
      "items": {
        "type": "number",
        "description": "One query vector item supplied to the tool."
      },
      "maxItems": 4096,
      "description": "Embedding vector for the search query, generated with a compatible embedding model."
    },
    "dimension": {
      "type": "string",
      "enum": [
        "768",
        "1024",
        "1536",
        "3072",
        "4096"
      ],
      "description": "Embedding dimension that matches the supplied query vector."
    },
    "mode": {
      "type": "string",
      "enum": [
        "SEMANTIC",
        "KEYWORD",
        "HYBRID"
      ],
      "description": "Search mode. Only SEMANTIC (the default) is supported; KEYWORD and HYBRID are refused."
    },
    "environment": {
      "type": "string",
      "enum": [
        "PREVIEW",
        "PRODUCTION",
        "RELEASE"
      ],
      "description": "Index to search: the preview branch, the production deployment or a release."
    },
    "branch_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "description": "Branch identifier. Use null for the main branch when the tool supports it."
        },
        {
          "type": "null",
          "description": "Branch identifier. Use null for the main branch when the tool supports it."
        }
      ],
      "description": "Preview branch ID to search. Use null for the main branch."
    },
    "release_id": {
      "type": "string",
      "format": "uuid",
      "description": "Release ID to search instead of the current branch or mainline index."
    },
    "release_version": {
      "type": "string",
      "description": "Release version to search when you do not have the release ID."
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "description": "Maximum number of ranked chunk matches to return, as an integer from 1 to 100."
    },
    "cursor": {
      "type": "string",
      "description": "Opaque pagination cursor from a previous response."
    },
    "options": {
      "type": "object",
      "properties": {
        "similarity_threshold": {
          "type": "number",
          "minimum": 0,
          "maximum": 1,
          "description": "Minimum similarity score required for a chunk to be returned."
        },
        "include_embeddings": {
          "type": "boolean",
          "description": "Include embedding vectors in results."
        },
        "folders": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "One folder item supplied to the tool."
          },
          "description": "Reserved folder filter. A non-empty list is refused until folder filtering is supported."
        },
        "file_types": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "One file type item supplied to the tool."
          },
          "description": "Reserved file-type filter. A non-empty list is refused until file-type filtering is supported."
        }
      },
      "additionalProperties": false,
      "description": "Search options. Tool results carry no embedding vectors, so include_embeddings has no effect here. Non-empty folders or file_types are refused: the search does not filter by them yet."
    }
  },
  "required": [
    "query_vector",
    "dimension"
  ],
  "additionalProperties": false,
  "description": "Arguments for semantic file search over indexed project chunks.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "chunk": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Indexed chunk identifier."
              },
              "file_path": {
                "type": "string",
                "description": "Project-relative file path that produced this chunk."
              },
              "file_id": {
                "type": "string",
                "description": "File identifier when the source file is tracked as a project file."
              },
              "file_version_id": {
                "type": "string",
                "description": "File version identifier used to generate this chunk."
              },
              "index": {
                "type": "number",
                "description": "Zero-based chunk position within the file version."
              },
              "content": {
                "type": "string",
                "description": "Chunk text content used for retrieval and inspection."
              },
              "start_offset": {
                "type": "number",
                "description": "Inclusive character offset where the chunk begins in the source file."
              },
              "end_offset": {
                "type": "number",
                "description": "Exclusive character offset where the chunk ends in the source file."
              },
              "token_count": {
                "type": "number",
                "description": "Approximate token count for the chunk content."
              },
              "embedding": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Embedding record identifier for this indexed chunk."
                      },
                      "model": {
                        "type": "string",
                        "description": "Embedding model name used to create the vector."
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "ready",
                          "stale",
                          "missing"
                        ],
                        "description": "Embedding availability status for the chunk."
                      }
                    },
                    "required": [
                      "id",
                      "model",
                      "status"
                    ],
                    "additionalProperties": false,
                    "description": "Embedding metadata attached to an indexed file chunk."
                  },
                  {
                    "type": "null",
                    "description": "The embedding returned by the tool."
                  }
                ],
                "description": "Embedding metadata for the chunk, or null when no embedding is stored."
              }
            },
            "required": [
              "id",
              "file_path",
              "file_version_id",
              "index",
              "content",
              "start_offset",
              "end_offset",
              "token_count",
              "embedding"
            ],
            "additionalProperties": false,
            "description": "Matched file chunk with the most useful retrieval fields for ranking and display."
          },
          "score": {
            "type": "number",
            "description": "Similarity score between the query vector and the returned chunk."
          }
        },
        "required": [
          "chunk",
          "score"
        ],
        "additionalProperties": false,
        "description": "One ranked chunk match returned by semantic file search."
      },
      "description": "Ranked semantic matches for the supplied query vector."
    },
    "page_info": {
      "type": "object",
      "properties": {
        "self": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor representing this result page."
        },
        "first": {
          "type": "object",
          "description": "Always null because semantic search pagination is forward-only."
        },
        "next": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page of ranked matches, or null when exhausted."
        },
        "prev": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the previous page when supported by the backend, otherwise null."
        }
      },
      "required": [
        "self",
        "first",
        "next",
        "prev"
      ],
      "additionalProperties": false,
      "description": "Pagination cursors for traversing semantic search results."
    },
    "total_matches": {
      "type": "number",
      "description": "Total number of chunk matches that met the similarity threshold."
    },
    "search_time_ms": {
      "type": "number",
      "description": "Server-side search execution time in milliseconds."
    }
  },
  "required": [
    "data",
    "page_info",
    "total_matches",
    "search_time_ms"
  ],
  "additionalProperties": false,
  "description": "Semantic file search results ranked by vector similarity.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}