Skip to main content
Glama
Cognitive-Stack

Hermes Search MCP Server

Hermes Search MCP Server 🔍

🔌 Compatible with Cline, Cursor, Claude Desktop, and any other MCP Clients!

The Model Context Protocol (MCP) is an open standard that enables AI systems to interact seamlessly with various data sources and tools, facilitating secure, two-way connections.

The Hermes Search MCP server provides:

  • Full-text and semantic search capabilities over structured/unstructured data

  • Document indexing and management in Azure Cognitive Search

  • Efficient search operations with customizable parameters

  • Type-safe operations with TypeScript

Prerequisites 🔧

Before you begin, ensure you have:

  • Azure Cognitive Search service and credentials

  • Claude Desktop or Cursor

  • Node.js (v20 or higher)

  • Git installed (only needed if using Git installation method)

Related MCP server: AXYS MCP Lite

Hermes Search MCP server installation ⚡

Running with NPX

npx -y hermes-search-mcp@latest

Installing via Smithery

To install Hermes Search MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @hermes-search/mcp --client claude

Configuring MCP Clients ⚙️

Configuring Cline 🤖

The easiest way to set up the Hermes Search MCP server in Cline is through the marketplace with a single click:

  1. Open Cline in VS Code

  2. Click on the Cline icon in the sidebar

  3. Navigate to the "MCP Servers" tab (4 squares)

  4. Search "Hermes Search" and click "install"

  5. When prompted, enter your Azure Cognitive Search credentials

Alternatively, you can manually set up the Hermes Search MCP server in Cline:

  1. Open the Cline MCP settings file:

# For macOS:
code ~/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

# For Windows:
code %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
  1. Add the Hermes Search server configuration to the file:

{
  "mcpServers": {
    "hermes-search-mcp": {
      "command": "npx",
      "args": ["-y", "hermes-search-mcp@latest"],
      "env": {
        "AZURE_SEARCH_ENDPOINT": "your-search-endpoint",
        "AZURE_SEARCH_API_KEY": "your-api-key",
        "AZURE_SEARCH_INDEX_NAME": "your-index-name"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
  1. Save the file and restart Cline if it's already running.

Configuring Cursor 🖥️

Note: Requires Cursor version 0.45.6 or higher

To set up the Hermes Search MCP server in Cursor:

  1. Open Cursor Settings

  2. Navigate to Features > MCP Servers

  3. Click on the "+ Add New MCP Server" button

  4. Fill out the following information:

    • Name: Enter a nickname for the server (e.g., "hermes-search-mcp")

    • Type: Select "command" as the type

    • Command: Enter the command to run the server:

    env AZURE_SEARCH_ENDPOINT=your-search-endpoint AZURE_SEARCH_API_KEY=your-api-key AZURE_SEARCH_INDEX_NAME=your-index-name npx -y hermes-search-mcp@latest

    Important: Replace the environment variables with your Azure Cognitive Search credentials

Configuring the Claude Desktop app 🖥️

For macOS:

# Create the config file if it doesn't exist
touch "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

# Opens the config file in TextEdit
open -e "$HOME/Library/Application Support/Claude/claude_desktop_config.json"

For Windows:

code %APPDATA%\Claude\claude_desktop_config.json

Add the Hermes Search server configuration:

{
  "mcpServers": {
    "hermes-search-mcp": {
      "command": "npx",
      "args": ["-y", "hermes-search-mcp@latest"],
      "env": {
        "AZURE_SEARCH_ENDPOINT": "your-search-endpoint",
        "AZURE_SEARCH_API_KEY": "your-api-key",
        "AZURE_SEARCH_INDEX_NAME": "your-index-name"
      }
    }
  }
}

Usage in Claude Desktop App 🎯

Once the installation is complete, and the Claude desktop app is configured, you must completely close and re-open the Claude desktop app to see the hermes-search-mcp server. You should see a search icon in the bottom left of the app, indicating available MCP tools.

Hermes Search Examples

  1. Search Documents:

Search for documents containing "machine learning" in the Azure Cognitive Search index, returning the top 10 results.
  1. Index Content:

Index the following documents into Azure Cognitive Search: [{"id": "1", "title": "AI Overview", "content": "Artificial Intelligence is..."}]
  1. Delete Index:

Delete the current Azure Cognitive Search index.

Troubleshooting 🛠️

Common Issues

  1. Server Not Found

    • Verify the npm installation by running npm --version

    • Check Claude Desktop configuration syntax

    • Ensure Node.js is properly installed by running node --version

  2. Azure Search Credentials Issues

    • Confirm your Azure Cognitive Search credentials are valid

    • Check the credentials are correctly set in the config

    • Verify no spaces or quotes around the credentials

  3. Index Access Issues

    • Verify the index exists in your Azure Cognitive Search service

    • Check the index permissions

    • Ensure the API key has appropriate access rights

Acknowledgments ✨

  • Model Context Protocol for the MCP specification

  • Anthropic for Claude Desktop

  • Microsoft Azure for Cognitive Search

Available Tools

3 tools
delete-indexA

Delete the Azure Cognitive Search index

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, and the description lacks details about behavioral traits such as permanence, required permissions, or side effects. As a destructive operation, more transparency is needed.

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, well-structured sentence with no extraneous words. It is concise and front-loaded with the key action.

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 simple delete operation with no parameters or output schema, the description is minimally complete. However, it lacks context about effects or prerequisites, which would improve completeness.

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

Parameters4/5

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

With no parameters, the baseline is 4. The description adds minimal but adequate meaning by specifying the operation type and target, which suffices given the absence of parameters.

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

Purpose5/5

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

The description clearly states the verb 'Delete' and the resource 'Azure Cognitive Search index', making the action unambiguous. It effectively distinguishes from sibling tools like index-content and search-documents.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., when deletion is appropriate or prerequisites). The description only states the action without context.

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

index-contentB

Index or update documents in Azure Cognitive Search

ParametersJSON Schema
NameRequiredDescriptionDefault
documentsYesArray of documents to index

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Index or update' without explaining side effects, permissions, or whether documents are overwritten or merged. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single sentence, front-loaded with purpose, and is not verbose. However, it sacrifices necessary details for brevity, missing usage and behavioral context.

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 the simple schema (1 param, no output schema) and lack of annotations, the description is too minimal. It fails to explain document handling (e.g., partial updates, conflict resolution) or the indexing process.

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 description coverage is 100%, providing a baseline of 3. The description repeats the schema's 'Array of documents to index' without adding extra meaning, such as required fields or document structure.

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

Purpose5/5

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

The description clearly states the action ('Index or update') and the resource ('documents in Azure Cognitive Search'), with a specific verb and resource. It distinguishes from sibling tools 'delete-index' and 'search-documents' by focusing on adding/updating.

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?

No guidance is provided on when to use this tool versus its siblings. There is no mention of prerequisites or alternative tools for deletion or searching, leaving the agent without context for selection.

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

search-documentsB

Search documents in Azure Cognitive Search index

ParametersJSON Schema
NameRequiredDescriptionDefault
topNoNumber of results to return (default: 5)
queryYesThe search query to execute
filterNoOData filter expression
selectNoFields to include in the results

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits like pagination, relevance scoring, access requirements, or result format.

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

Conciseness4/5

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

The description is a single sentence, which is concise. However, it is somewhat underspecified for a search tool.

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 output schema and no annotations, the description is too minimal. It does not explain search behavior, result structure, or how parameters interact, leaving significant gaps for an AI agent.

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 description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the verb (Search) and resource (documents in Azure Cognitive Search index), and distinguishes from sibling tools (delete-index, index-content) which have different purposes.

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?

No guidance on when to use this tool vs alternatives. No mention of prerequisites, limitations, or exclusions.

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. 3 tool updatesv1.0.0
    • First observeddelete-index
    • First observedindex-content
    • First observedsearch-documents

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct operation: deleting an index, indexing content, and searching documents. No overlap in purpose.

Naming Consistency5/5

All tools follow a consistent verb-noun pattern with hyphens (delete-index, index-content, search-documents), making them predictable.

Tool Count4/5

Three tools is on the low side but covers the core search lifecycle (index, search, delete). Slightly under but reasonable for a focused MCP server.

Completeness3/5

Missing critical operations like creating an index or listing indexes. The server assumes an existing index, limiting its standalone usability.

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
    D
    maintenance
    Enables Claude to search and retrieve documents from Azure AI Search indexes with intelligent summarization and analysis using LangGraph workflows and optional Google Gemini integration.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search and query Lucene/NRTSearch indexes using natural language, supporting full Lucene query syntax including Boolean, phrase, range, wildcard, and fuzzy searches with highlighting and custom field retrieval.
    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/Cognitive-Stack/hermes-search-mcp'

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