Skip to main content
Glama
dannwaneri

Vectorize MCP Server

by dannwaneri

Vectorize MCP Server

A Model Context Protocol (MCP) server that provides semantic search capabilities by connecting Claude Desktop to a Cloudflare Workers backend with Vectorize.

Architecture

Claude Desktop ──stdio──> MCP Server ──HTTP──> Vectorize Worker ──> Vectorize Index

This is a hybrid architecture - the MCP server runs locally and bridges Claude Desktop to a remote Cloudflare Workers backend.

Related MCP server: MCP-RAG

Features

  • Semantic Search Tool: Natural language search using vector similarity

  • stdio Transport: Works with Claude Desktop and other MCP clients

  • Remote Backend: Heavy lifting (embeddings, vector search) happens on Cloudflare Workers

  • Type-safe: Full TypeScript implementation

Prerequisites

Installation

1. Clone and install:

git clone https://github.com/dannwaneri/vectorize-mcp-server.git
cd vectorize-mcp-server
npm install

2. Build:

npm run build

3. Configure Claude Desktop:

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this server:

{
  "mcpServers": {
    "vectorize-search": {
      "command": "node",
      "args": [
        "/absolute/path/to/vectorize-mcp-server/dist/index.js"
      ]
    }
  }
}

4. Restart Claude Desktop

Usage

The server exposes one tool to Claude:

Search the knowledge base using semantic similarity.

Parameters:

  • query (string, required): Natural language search query

  • topK (number, optional): Number of results to return (default: 5)

Example in Claude Desktop:

Search for information about AI embeddings

Claude will automatically use the semantic_search tool and return results with similarity scores.

How It Works

  1. Claude sends query to MCP server via stdio

  2. MCP server forwards query to Vectorize Worker via HTTP

  3. Worker generates embedding using Workers AI

  4. Vectorize searches for similar vectors

  5. Results flow back through MCP server to Claude

  6. Claude synthesizes answer using the search results

Configuration

Change Backend URL

Edit src/index.ts and update the Worker URL:

const WORKER_URL = "https://your-worker.workers.dev";

Then rebuild:

npm run build

Adjust Result Count

The default topK is 5. Users can override this:

Search for "databases" and show me 10 results

Development

Run in development mode:

npm run dev

Build for production:

npm run build

Test locally:

node dist/index.js

The server will output: Vectorize MCP server running on stdio

Example Queries

Try these in Claude Desktop:

What do you know about vector databases?
Find information about RAG systems
Search for anything related to Cloudflare Workers
Tell me about machine learning at the edge

Response Format

The tool returns JSON with:

  • query: Original search query

  • resultsCount: Number of results found

  • results: Array of matches with:

    • id: Entry identifier

    • score: Similarity score (0-1, higher is better)

    • content: Actual content

    • category: Content category

Claude automatically parses this and presents it naturally.

Troubleshooting

Server not appearing in Claude Desktop:

  1. Check the config file path is correct

  2. Verify the absolute path to dist/index.js

  3. Make sure you restarted Claude Desktop completely (quit, not just close)

  4. Check Developer Console (Ctrl+Shift+I in Claude Desktop)

"Not connected" errors:

  1. Ensure Worker is deployed and accessible

  2. Check WORKER_URL in src/index.ts

  3. Verify Worker has data populated (POST /populate)

No results returned:

  1. Populate the Vectorize index using the Worker's /populate endpoint

  2. Try broader search terms

  3. Check Worker logs with wrangler tail

Technology Stack

  • TypeScript: Type-safe development

  • @modelcontextprotocol/sdk: Official MCP SDK

  • Node.js: Runtime environment

  • stdio transport: Standard MCP communication method

Why This Architecture?

Advantages:

  • Works with Claude Desktop (requires stdio)

  • Backend runs on edge (fast, scalable)

  • Can share Worker backend across multiple clients

  • Heavy processing (embeddings, search) happens remotely

Tradeoffs:

  • Requires both local server and remote Worker

  • Extra network hop adds latency (~50-100ms)

  • Need to keep local server running

For a fully remote solution, see mcp-server-worker.

License

MIT

Author

Daniel Nwaneri - GitHub | Upwork

Available Tools

2 tools
intelligent_answerA

Get an AI-synthesized answer to your question using semantic search. The server searches the knowledge base and uses Claude to generate a natural, direct answer to your question.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesYour question
topKNoNumber of search results to use (1-5)

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so description must carry behavioral info. It mentions using Claude and generating a natural answer, but does not disclose limitations, latency, or potential inaccuracies.

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?

Extremely concise with two sentences, no fluff. Every word adds value.

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?

Adequate for a simple tool with two parameters and no output schema. However, return format (string answer, possible citations) is not described.

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?

Schema coverage is 100% so baseline is 3. Description adds no parameter-specific information beyond what schema already provides.

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 tool provides an AI-synthesized answer using semantic search. It distinguishes from sibling 'semantic_search' only implicitly (synthesis vs. raw search), but does not explicitly differentiate.

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

Usage Guidelines3/5

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

The description implies use when a direct answer is needed, but lacks explicit guidance on when not to use or alternatives. Sibling tool 'semantic_search' exists but no comparison is made.

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 observedintelligent_answer
    • First observedsemantic_search

TDQS

A3.7/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one returns a synthesized answer using AI, the other returns raw search results by semantic similarity. No overlap or confusion possible.

Naming Consistency5/5

Both tool names follow a consistent adjective_noun pattern using snake_case, making them predictable and coherent.

Tool Count3/5

With only 2 tools, the server feels minimal for a knowledge base. While it covers query and Q&A, it lacks the breadth expected (e.g., CRUD), but the count is not extreme.

Completeness2/5

The server provides only read/query operations, missing essential write capabilities like adding, updating, or deleting documents. This is a significant gap for a knowledge base server.

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

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Turns Claude Desktop into a personal document question-answering system using local vector search. Index PDF, TXT, and Markdown documents into collections and get answers based strictly on your documents with zero hallucination.
    12
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude Desktop to search and query personal document collections (PDF, Word, Markdown, text) using semantic search and conversational AI with full context preservation across exchanges.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables local semantic search over documents and code for Claude Code and Claude Desktop, running entirely offline with local embeddings and vector storage.
    12
    3
    MIT

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/dannwaneri/vectorize-mcp-server'

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