Hermes Search MCP Server
The Hermes Search MCP Server enables interaction with Azure Cognitive Search via the Model Context Protocol, offering three main capabilities:
Search Documents: Execute full-text and semantic searches over indexes with customizable parameters (query, filter, field selection, and result count).
Index Content: Add new documents or update existing ones in your search index.
Delete Index: Remove the entire Azure Cognitive Search index when needed.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hermes Search MCP Serversearch for recent customer feedback about our new product features"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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@latestInstalling via Smithery
To install Hermes Search MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @hermes-search/mcp --client claudeConfiguring 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:
Open Cline in VS Code
Click on the Cline icon in the sidebar
Navigate to the "MCP Servers" tab (4 squares)
Search "Hermes Search" and click "install"
When prompted, enter your Azure Cognitive Search credentials
Alternatively, you can manually set up the Hermes Search MCP server in Cline:
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.jsonAdd 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": []
}
}
}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:
Open Cursor Settings
Navigate to Features > MCP Servers
Click on the "+ Add New MCP Server" button
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@latestImportant: 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.jsonAdd 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
Search Documents:
Search for documents containing "machine learning" in the Azure Cognitive Search index, returning the top 10 results.Index Content:
Index the following documents into Azure Cognitive Search: [{"id": "1", "title": "AI Overview", "content": "Artificial Intelligence is..."}]Delete Index:
Delete the current Azure Cognitive Search index.Troubleshooting 🛠️
Common Issues
Server Not Found
Verify the npm installation by running
npm --versionCheck Claude Desktop configuration syntax
Ensure Node.js is properly installed by running
node --version
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
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 toolsdelete-indexA
Delete the Azure Cognitive Search index
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| documents | Yes | Array of documents to index |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Number of results to return (default: 5) | |
| query | Yes | The search query to execute | |
| filter | No | OData filter expression | |
| select | No | Fields to include in the results |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.0.0- First observed
delete-index - First observed
index-content - First observed
search-documents
TDQS
Each tool targets a distinct operation: deleting an index, indexing content, and searching documents. No overlap in purpose.
All tools follow a consistent verb-noun pattern with hyphens (delete-index, index-content, search-documents), making them predictable.
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.
Missing critical operations like creating an index or listing indexes. The server assumes an existing index, limiting its standalone usability.
Maintenance
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
The Needle MCP server enables semantic search on documents stored in files like PDFs, DOCX, and XLSX by connecting AI applications to external data sources. It provides capabilities to create and manage document collections, perform natural language searches on stored content, and retrieve relevant information without requiring exact keyword matches.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Search your knowledge bases from any AI assistant using hybrid RAG.
Agent-native search engine with live web research optimized for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntegrates Claude Desktop with Azure AI Search, allowing users to query search indexes using keyword, vector, or hybrid search methods.55-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search through structured databases and unstructured content (documents, videos, files) using natural language queries with semantic understanding.MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseNot gradedqualityDmaintenanceEnables 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
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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