← Universal OpenAI Vector Store MCP Server

Universal OpenAI Vector Store MCP Server 6febd2a2dc4bf182925448d02a0415cf59d0fa2e

source_git · jezweb/openai-vector-assistant-mcp · current release

21
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-25T09:38:31.959Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2024-11-05.

Server capabilities
{
  "tools": {
    "listChanged": false
  }
}

Tools 21

ToolCategoryAnnotationsRisk
file-contentDownload and retrieve the actual content of an uploaded file. Perfect for reviewing file contents, verifying uploads, or extracting text for analysis.
Input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "OpenAI file ID to download content from (starts with \"file-\")"
    }
  },
  "required": [
    "file_id"
  ]
}
— · —
file-deletePermanently delete a file from your OpenAI account. This will remove the file from all vector stores and make it unavailable for future use. Use with caution as this action cannot be undone.
Input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "OpenAI file ID to delete (starts with \"file-\"). Double-check this ID as deletion is irreversible."
    }
  },
  "required": [
    "file_id"
  ]
}
— · —
file-getGet detailed information about a specific uploaded file including size, purpose, creation date, and processing status. Use this to verify file details before adding to vector stores.
Input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "OpenAI file ID to retrieve details for (starts with \"file-\")"
    }
  },
  "required": [
    "file_id"
  ]
}
— · —
file-listList all uploaded files in your OpenAI account with filtering options. Essential for managing your file storage and finding file IDs for vector store operations.
Input schema
{
  "type": "object",
  "properties": {
    "purpose": {
      "type": "string",
      "enum": [
        "assistants",
        "vision",
        "batch"
      ],
      "description": "Filter files by purpose. Use \"assistants\" to see files available for vector stores."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of files to return (1-10000, default: 20)"
    },
    "order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ],
      "description": "Sort order by created_at: \"desc\" for newest first, \"asc\" for oldest first"
    },
    "after": {
      "type": "string",
      "description": "File ID to start listing after (for pagination)"
    }
  }
}
— · —
file-uploadUpload a local file to OpenAI for use with vector stores and assistants. This enables the complete workflow: upload file → add to vector store.
Input schema
{
  "type": "object",
  "properties": {
    "file_path": {
      "type": "string",
      "description": "Path to the local file to upload (e.g., \"./documents/manual.pdf\", \"/home/user/data.txt\")"
    },
    "purpose": {
      "type": "string",
      "enum": [
        "assistants",
        "vision",
        "batch"
      ],
      "description": "Purpose of the file upload. Use \"assistants\" for vector stores and chat."
    },
    "filename": {
      "type": "string",
      "description": "Optional custom filename for the uploaded file. If not provided, uses the original filename."
    }
  },
  "required": [
    "file_path"
  ]
}
— · —
upload-createCreate a multipart upload session for large files (>25MB). This enables efficient upload of large documents by splitting them into chunks. Use this for files that exceed the standard upload limit.
Input schema
{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string",
      "description": "Name of the file to upload (e.g., \"large-dataset.pdf\")"
    },
    "purpose": {
      "type": "string",
      "enum": [
        "assistants",
        "vision",
        "batch"
      ],
      "description": "Purpose of the file upload. Use \"assistants\" for vector stores."
    },
    "bytes": {
      "type": "number",
      "description": "Total size of the file in bytes"
    },
    "mime_type": {
      "type": "string",
      "description": "MIME type of the file (e.g., \"application/pdf\", \"text/plain\")"
    }
  },
  "required": [
    "filename",
    "bytes",
    "mime_type"
  ]
}
— · —
vector-store-createCreate a new vector store for organizing and searching through files. Perfect for setting up document collections, knowledge bases, or project-specific file repositories. Use this when starting a new project that needs file search capabilities.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Descriptive name for the vector store (e.g., \"Project Documentation\", \"Research Papers\", \"Customer Support KB\")"
    },
    "expires_after_days": {
      "type": "number",
      "description": "Auto-deletion after specified days (1-365). Useful for temporary projects or testing. Leave empty for permanent storage."
    },
    "metadata": {
      "type": "object",
      "description": "Custom metadata for organization (e.g., {\"project\": \"alpha\", \"department\": \"engineering\", \"version\": \"1.0\"})"
    }
  },
  "required": [
    "name"
  ]
}
— · —
vector-store-deletePermanently delete a vector store and all its associated files. This action cannot be undone. Use for cleanup, project completion, or when storage limits are reached. All files in the store will be removed.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "ID of the vector store to permanently delete. Double-check this ID as deletion is irreversible."
    }
  },
  "required": [
    "vector_store_id"
  ]
}
— · —
vector-store-file-addAdd a previously uploaded file to a vector store for search and retrieval. The file must already exist in your OpenAI account (uploaded via Files API). This enables the file to be searched and referenced in conversations.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Target vector store ID where the file will be added"
    },
    "file_id": {
      "type": "string",
      "description": "OpenAI file ID (starts with \"file-\") of an already uploaded file. Get this from the Files API or OpenAI dashboard."
    }
  },
  "required": [
    "vector_store_id",
    "file_id"
  ]
}
— · —
vector-store-file-batch-cancelCancel a running batch operation before it completes. Useful when you need to stop a large batch due to errors, changed requirements, or resource constraints. Files already processed will remain in the vector store.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store containing the batch to cancel"
    },
    "batch_id": {
      "type": "string",
      "description": "Batch operation ID to cancel (starts with \"vsfb-\")"
    }
  },
  "required": [
    "vector_store_id",
    "batch_id"
  ]
}
— · —
vector-store-file-batch-createCreate a batch operation to add multiple files to a vector store simultaneously. Much more efficient than adding files one by one. Perfect for bulk uploads, project migrations, or when adding large document collections. Provides a single operation to track.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Target vector store for the batch operation"
    },
    "file_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of file IDs to add (e.g., [\"file-abc123\", \"file-def456\"]). All files must already exist in your OpenAI account."
    }
  },
  "required": [
    "vector_store_id",
    "file_ids"
  ]
}
— · —
vector-store-file-batch-filesList all files in a specific batch operation with their individual processing status. Perfect for detailed monitoring, troubleshooting failed files, or getting a complete audit of batch results. Shows which files succeeded or failed.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store containing the batch"
    },
    "batch_id": {
      "type": "string",
      "description": "Batch operation ID to list files from"
    },
    "limit": {
      "type": "number",
      "description": "Maximum files to return (1-100, default: 20). Use pagination for large batches."
    },
    "filter": {
      "type": "string",
      "enum": [
        "in_progress",
        "completed",
        "failed",
        "cancelled"
      ],
      "description": "Filter by file status: \"failed\" to see errors, \"completed\" for successful files"
    }
  },
  "required": [
    "vector_store_id",
    "batch_id"
  ]
}
— · —
vector-store-file-batch-getCheck the status and progress of a batch file operation. Shows how many files have been processed, completed, or failed. Essential for monitoring long-running batch operations and identifying any processing issues.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store containing the batch"
    },
    "batch_id": {
      "type": "string",
      "description": "Batch operation ID to check (starts with \"vsfb-\"). Get this from vector-store-file-batch-create."
    }
  },
  "required": [
    "vector_store_id",
    "batch_id"
  ]
}
— · —
vector-store-file-contentRetrieve the actual content/text of a file stored in a vector store. Perfect for reviewing file contents, debugging search issues, or extracting specific information. Returns the processed text that is used for search.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store containing the file"
    },
    "file_id": {
      "type": "string",
      "description": "File ID to retrieve content from (starts with \"file-\")"
    }
  },
  "required": [
    "vector_store_id",
    "file_id"
  ]
}
— · —
vector-store-file-deleteRemove a file from a vector store permanently. The file will no longer be searchable or accessible through this store. The original file in your OpenAI account remains unchanged - only the vector store association is removed.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store to remove the file from"
    },
    "file_id": {
      "type": "string",
      "description": "File ID to remove from the store (starts with \"file-\")"
    }
  },
  "required": [
    "vector_store_id",
    "file_id"
  ]
}
— · —
vector-store-file-getGet detailed information about a specific file in a vector store including processing status, chunk count, error details, and metadata. Use this to troubleshoot file processing issues or verify file readiness.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store containing the file"
    },
    "file_id": {
      "type": "string",
      "description": "File ID to get details for (starts with \"file-\")"
    }
  },
  "required": [
    "vector_store_id",
    "file_id"
  ]
}
— · —
vector-store-file-listList all files in a vector store with their processing status, metadata, and usage statistics. Essential for monitoring file processing progress and managing store contents. Shows which files are ready for search.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store ID to list files from"
    },
    "limit": {
      "type": "number",
      "description": "Maximum files to return (1-100, default: 20). Use pagination for large stores."
    },
    "filter": {
      "type": "string",
      "enum": [
        "in_progress",
        "completed",
        "failed",
        "cancelled"
      ],
      "description": "Filter by processing status: \"completed\" for ready files, \"in_progress\" for processing, \"failed\" for errors"
    }
  },
  "required": [
    "vector_store_id"
  ]
}
— · —
vector-store-file-updateUpdate the metadata associated with a file in a vector store. Useful for adding tags, categories, version numbers, or other organizational information. Does not change the file content, only its metadata.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Vector store containing the file"
    },
    "file_id": {
      "type": "string",
      "description": "File ID to update metadata for"
    },
    "metadata": {
      "type": "object",
      "description": "New metadata object (e.g., {\"category\": \"manual\", \"version\": \"2.1\", \"author\": \"team-alpha\"})"
    }
  },
  "required": [
    "vector_store_id",
    "file_id",
    "metadata"
  ]
}
— · —
vector-store-getGet comprehensive details about a specific vector store including file count, processing status, expiration date, metadata, and usage statistics. Use this to monitor store health and understand its current state.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "Unique identifier of the vector store (starts with \"vs_\"). Find this ID using vector-store-list."
    }
  },
  "required": [
    "vector_store_id"
  ]
}
— · —
vector-store-listRetrieve all your vector stores with their details, file counts, and status. Essential for managing multiple projects and understanding your storage usage. Shows creation dates, expiration times, and file statistics.
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Maximum results to return (1-100, default: 20). Use smaller limits for quick overviews, larger for comprehensive audits."
    },
    "order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ],
      "description": "Sort by creation date: \"desc\" for newest first (default), \"asc\" for oldest first"
    }
  }
}
— · —
vector-store-modifyUpdate vector store properties like name, expiration date, or metadata. Perfect for renaming projects, extending deadlines, or updating organizational tags. Only specified fields will be changed.
Input schema
{
  "type": "object",
  "properties": {
    "vector_store_id": {
      "type": "string",
      "description": "ID of the vector store to modify"
    },
    "name": {
      "type": "string",
      "description": "New descriptive name (e.g., rename \"Test Store\" to \"Production Knowledge Base\")"
    },
    "expires_after_days": {
      "type": "number",
      "description": "New expiration period in days from now (1-365), or null to remove expiration"
    },
    "metadata": {
      "type": "object",
      "description": "Updated metadata object. This replaces existing metadata entirely."
    }
  },
  "required": [
    "vector_store_id"
  ]
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.