home / mcp / semantic search mcp server

Semantic Search MCP Server

Provides semantic search over Markdown notes and duplicates detection to Claude Code.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "bborbe-semantic-search-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/bborbe/semantic-search-mcp",
        "semantic-search-mcp",
        "serve"
      ],
      "env": {
        "CONTENT_PATH": "/path/to/your/content"
      }
    }
  }
}

You can add semantic search over your markdown notes to Claude Code, so you find related content by meaning and detect duplicates before creating new notes. This MCP indexes your Markdown vaults and lets Claude surface semantically related notes quickly.

How to use

Ask Claude questions like “Do I have notes about X?” to search for related notes, or “Find similar notes to Y” to surf semantically related content. When you try to create new notes, Claude checks for duplicates automatically so you avoid duplicates and keep your notes organized.

How to install

Prerequisites you need before installing: you should have the MCP runtime available via the uvx tool. You also need access to your Markdown content directories that you want to index.

claude mcp remove -s project semantic-search
claude mcp add -s project semantic-search \
--env CONTENT_PATH=/path/to/your/content \
-- \
uvx --from git+https://github.com/bborbe/semantic-search-mcp semantic-search-mcp serve

If you are developing locally, use the same setup but install from your local copy of the MCP package and start the server with the local path you have available.

claude mcp remove -s project semantic-search
claude mcp add -s project semantic-search \
--env CONTENT_PATH=/path/to/your/content \
-- \
uvx --reinstall --from /path/to/semantic-search-mcp semantic-search-mcp serve

Notes on configuring content paths

You can index multiple directories by separating paths with commas. All directories are indexed together and searched as one unified index.

--env CONTENT_PATH=/path/to/vault1,/path/to/vault2,/path/to/docs

Available tools

search_related

Find semantically related notes using a semantic embedding model to surface notes with meaningful connections.

check_duplicates

Detect duplicate or highly similar notes to prevent creating redundant content.