Skip to main content
Glama
supavec

Supavec MCP Server

by supavec

Supavec MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to fetch relevant embeddings and content from Supavec.

Features

  • 🔍 Fetch Embeddings: Search and retrieve relevant content from Supavec files using embeddings

  • 🤖 AI Integration: Works with Cursor, Claude, VS Code Copilot, and other MCP-compatible tools

  • 🔑 Flexible Authentication: Support for both command-line arguments and environment variables

  • Easy Setup: One-command installation via npx

Related MCP server: SourceSync.ai MCP Server

Installation

No installation required! Use directly with npx:

npx @supavec/mcp-server --api-key your_api_key

Global Installation

npm install -g @supavec/mcp-server
supavec-mcp --api-key your_api_key

Configuration

Cursor

Add to your .cursor/mcp.json:

{
  "mcpServers": {
    "supavec": {
      "command": "npx",
      "args": [
        "-y",
        "@supavec/mcp-server@latest",
        "--api-key",
        "your_supavec_api_key"
      ]
    }
  }
}

VS Code (Copilot)

Add to your .vscode/mcp.json:

{
  "servers": {
    "supavec": {
      "command": "npx",
      "args": [
        "-y", 
        "@supavec/mcp-server@latest",
        "--api-key",
        "your_supavec_api_key"
      ]
    }
  }
}

Claude Desktop

Add to your Claude configuration:

{
  "mcpServers": {
    "supavec": {
      "command": "npx",
      "args": [
        "-y",
        "@supavec/mcp-server@latest", 
        "--api-key",
        "your_supavec_api_key"
      ]
    }
  }
}

Environment Variables

Alternatively, set your API key as an environment variable:

export SUPAVEC_API_KEY=your_supavec_api_key

Then use in your MCP configuration without the --api-key argument:

{
  "mcpServers": {
    "supavec": {
      "command": "npx",
      "args": ["-y", "@supavec/mcp-server@latest"]
    }
  }
}

Authentication

Get Your API Key

  1. Visit Supavec

  2. Sign up or log in to your account

  3. Navigate to your API settings

  4. Generate a new API key

Usage Priority

The server checks for API keys in this order:

  1. --api-key command line argument (highest priority)

  2. SUPAVEC_API_KEY environment variable

Available Tools

fetch-embeddings

Fetch embeddings for a file by ID and query.

Parameters:

  • file_id (string, required): ID of the file to get embeddings for

  • query (string, required): Query to search for in the file

Example:

Ask your AI assistant: "Using Supavec, find information about 'authentication' in file abc123"

list-user-files

List all files uploaded to Supavec for the current user.

Parameters:

  • limit (number, optional): Number of files to fetch (default: 10)

  • offset (number, optional): Offset for pagination (default: 0)

  • order_dir (string, optional): Order direction for results - "asc" or "desc" (default: "desc")

Example:

Ask your AI assistant: "List my Supavec files" or "Show me the first 20 files from my Supavec account"

Response includes:

  • File ID and name

  • File type and creation date

  • Team ID

  • Pagination information

Command Line Usage

Help

supavec-mcp --help

With API Key

supavec-mcp --api-key your_api_key_here

With Environment Variable

export SUPAVEC_API_KEY=your_api_key_here
supavec-mcp

Examples

Using with Cursor

  1. Configure Supavec MCP in .cursor/mcp.json

  2. Open Cursor and start a new chat

  3. Ask: "Search for 'database setup' information in my Supavec file xyz789"

  4. The AI will use the Supavec MCP to fetch relevant content

Using with Claude

  1. Configure Supavec MCP in Claude settings

  2. In a conversation, ask: "Find documentation about API endpoints in file abc123"

  3. Claude will search your Supavec files and return relevant information

Troubleshooting

Common Issues

"Error: Supavec API key is required"

  • Ensure you've provided an API key via --api-key or SUPAVEC_API_KEY environment variable

"Failed to fetch data: status 401"

  • Your API key may be invalid or expired. Check your Supavec account settings

"Failed to fetch data: status 404"

  • The file ID may not exist or you may not have access to it

Debug Mode

Run with environment variables to see more details:

DEBUG=1 supavec-mcp --api-key your_key

Development

Requirements

  • Node.js 16.0.0 or higher

  • TypeScript

Setup

git clone https://github.com/supavec/mcp-server.git
cd supavec-mcp-server
npm install
npm run build

Testing

# Test with MCP Inspector
npm run inspector

# Test command line
npm run build
node build/index.js --help

Contributing

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature-name

  3. Make your changes and add tests

  4. Commit your changes: git commit -am 'Add feature'

  5. Push to the branch: git push origin feature-name

  6. Submit a pull request

License

MIT License - see LICENSE for details.

Support

Available Tools

2 tools
fetch-embeddingsC

Fetch embeddings for a file by ID and query

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesID of the file to get embeddings for
queryYesQuery to search for in the file

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool fetches embeddings but doesn't describe what 'embeddings' are in this context, how they are returned, any rate limits, authentication needs, or potential side effects. This leaves significant gaps for an AI agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is front-loaded and appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'embeddings' are, how they are structured, or what the return values look like, which is crucial for a tool with undefined outputs and behavioral traits. The description should provide more context to compensate for the lack of structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with clear descriptions for both parameters ('file_id' and 'query'), so the schema does the heavy lifting. The description adds no additional meaning beyond what the schema provides, such as format details or usage examples, but this is acceptable given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('fetch embeddings') and the target resource ('for a file by ID and query'), which is specific and unambiguous. However, it doesn't explicitly differentiate from the sibling tool 'list-user-files', which appears to list files rather than fetch embeddings, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'list-user-files', or any context about prerequisites, scenarios, or exclusions. It merely restates the basic functionality without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-user-filesB

List all files uploaded to Supavec for the current user

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of files to fetch (default: 10)
offsetNoOffset for pagination (default: 0)
order_dirNoOrder direction for resultsdesc

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a list operation but doesn't mention whether it requires authentication, has rate limits, returns paginated results, or what format the output takes. The description is minimal and lacks important behavioral context for a tool that presumably accesses user data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states exactly what the tool does without any wasted words. It's appropriately sized for a simple list operation and gets straight to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list operation with 3 well-documented parameters and no output schema, the description provides the basic purpose but lacks important context. Without annotations, it should ideally mention authentication requirements, return format, or pagination behavior. The description is adequate but has clear gaps given the tool's data access nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all three parameters well-documented in the schema itself. The description doesn't add any parameter information beyond what's already in the schema, so it meets the baseline for high schema coverage without adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all files') and resource ('uploaded to Supavec for the current user'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling tool 'fetch-embeddings', which appears to be a different operation rather than a direct alternative for listing files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'fetch-embeddings' or any other context for selection. The only implied usage is for listing user files, but there's no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedfetch-embeddings
    • First observedlist-user-files

TDQS

B3.1/5.0
Disambiguation5/5

The two tools have completely distinct purposes: one fetches embeddings for a specific file, while the other lists all user files. There is no overlap or ambiguity between these operations, making it clear when to use each tool.

Naming Consistency4/5

Both tools use a verb_noun pattern (fetch-embeddings, list-user-files), which is consistent and readable. The minor deviation is the use of hyphens instead of underscores, but this is a consistent stylistic choice across both tools.

Tool Count2/5

With only 2 tools, the server feels thin for a Supavec MCP Server, which likely involves file and embedding management. Key operations like uploading files, deleting files, or managing embeddings beyond fetching are missing, making the scope incomplete.

Completeness2/5

The toolset is severely incomplete for file and embedding management. There are no tools for uploading files, deleting files, updating embeddings, or other CRUD operations, leaving significant gaps that will hinder agent workflows in this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/supavec/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server