
Benefits
Managed Fusion’s MCP server provides these advantages:- Universal compatibility: Works with Claude Desktop, Claude Code, ChatGPT, Cursor IDE, and any MCP-compatible application.
- Self-service integration: Configure AI agents to access Managed Fusion data without custom API development.
- Enterprise security: Leverages Managed Fusion’s existing security controls, including field-level security, role-based access, and audit logging.
- Multi-tenant architecture: Support multiple use cases with different data access patterns using query profiles and collection isolation.
- Query pipeline integration: AI agents benefit from your custom query pipelines, ML models, and relevance tuning.
- Extensible tool framework: Add custom tools programmatically that automatically become available to all AI agents.
Supported AI clients
Managed Fusion’s MCP server works with any MCP-compatible AI client, including these popular clients:- Claude Code: Command-line AI agent with built-in MCP support (recommended for easiest setup)
- Claude Desktop: Desktop application for conversational AI
- Cursor IDE: AI-powered code editor
- ChatGPT Enterprise: ChatGPT with custom connector support
MCP server setup
Before you begin
Before configuring MCP access, ensure you have the following:- Managed Fusion 5.17 or later deployed with the MCP Server service running
- A Managed Fusion app configured with indexed content
- A query profile created for MCP access
- An API key generated in Managed Fusion with appropriate permissions
- An MCP-compatible AI client
https://FUSION_HOST:FUSION_PORT/mcp.
No client-side installation is required.Configure the MCP server
If you are using Managed Fusion, the Lucidworks team configures the MCP server for you. You can work with Lucidworks to define search experiences that map to specific Managed Fusion applications and query profiles.Connect an AI agent
To connect an AI agent to Managed Fusion, you need your Managed Fusion API key for authentication. The key is sent as an HTTP header with each request.Configure Claude Code (recommended)
Configure Claude Code (recommended)
-
Add the Managed Fusion MCP server:
Replace the header values with your specific credentials.If you receive errors when running this command, check your Claude Code version. The
--transportand--scopeflags require a recent version of Claude Code. -
Verify the configuration:
You should see
fusionlisted, with the HTTP transport. -
Test the connection by asking Claude to search Managed Fusion:
Claude should automatically call the
fusiontool and display results.
Configure Claude Desktop
Configure Claude Desktop
-
Locate the configuration file for your operating system.
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Edit the file to add the Managed Fusion MCP server:
Replace the header values with your specific credentials.
- Restart Claude Desktop.
-
Verify the connection.
Look for the hammer icon () in the Claude interface to confirm the MCP server is connected.
Ask Claude to search Managed Fusion, and it should automatically use the
fusiontool.
Configure Cursor IDE
Configure Cursor IDE
-
Locate the configuration file for your operating system.
- macOS:
~/Library/Application Support/Cursor/User/globalStorage/mcp-settings.json - Windows:
%APPDATA%\Cursor\User\globalStorage\mcp-settings.json - Linux:
~/.config/Cursor/User/globalStorage/mcp-settings.json
- macOS:
-
Edit the file to add the Managed Fusion MCP server:
Replace the header values with your specific credentials.
- Restart Cursor IDE.
Configure ChatGPT Enterprise
Configure ChatGPT Enterprise
- Log into the ChatGPT Enterprise admin console and navigate to Settings > Integrations > Custom Connectors.
-
Click Add Custom Connector and configure the connector:
Replace the header values with your specific credentials.
- Enable the connector for the appropriate users or teams.
- Test by asking ChatGPT to search Managed Fusion.
Configure custom applications
Configure custom applications
Test the connection
After configuring your AI agent, test the connection with these example prompts. These prompts verify that the MCP server is working correctly and that your AI agent can discover and use the configured search experiences.Retrieve search experiences
What search experiences are available?
Search by name
Search the Product Catalog for wireless headphones
Test multi-experience routing
Find recent HR policies in Employee Resources
Match natural language queries
What information can I find about benefits and time off policies?
Search with MCP
Managed Fusion’s MCP server provides four tools that work together in a discovery-to-execution pattern. The AI agent automatically determines which tool to call based on the user’s query.List search experiences
Thelist_search_experiences tool discovers available search experiences configured in Managed Fusion.
You can use this tool in the following situations:
- You need to see what search experiences are available.
- You need to determine which search experience to use for a specific query.
- You need to help users who don’t know what they can search for.
Search documents
Thesearch_documents tool searches for documents and returns relevant results from Managed Fusion collections.
Based on user input, it automatically selects a search experience and can optionally filter and sort results.
On the back end, this tool can implement all of the parameters in the required request format.
For example, in the AI agent a user can input “Find all reports from the last six months and sort them with the newest ones first” to trigger a query that uses filters to specify the document type and date range and sort to order the results by date, newest to oldest.
Get a document
Theget_document tool fetches a specific document by its ID.
This is useful when search_documents has already been called and the user inquires about a specific document returned in those results.
The tool returns complete details about the document, such as its title, description, URL, similar documents (if MoreLikeThis is implemented), and highlighted fields (if highlighting is implemented).
Parameters:
Get the field schema
Theget_schema tool retrieves available fields within a specific search experience and returns schema information with sortable and searchable capability flags.
You can use this tool in the following situations:
- You need to discover what fields exist within a particular search experience.
- You need to determine which fields can be used for sorting.
- You need to determine which fields can be used for filtering.
- You need to display field information to users with human-readable names.
sort or filters parameters when searching documents, or when users ask questions like “What fields can I sort by?” or “What can I filter by?”.
The tool returns field names with their display values and capability flags.
By default, the tool returns only populated fields.
Set includeEmptyFields=true to retrieve the complete schema.
Always use the displayValue when showing fields to users (for example, “Title” or “Publish Date”) rather than technical names (for example, title_s or publish_date_dt).
Parameters:
true to retrieve all fields, including those with no values. By default, only populated fields are returned.How the tools work together
The AI agent uses these tools in the following order:- When a user asks a question without specifying a search experience, the agent calls
list_search_experiencesto discover available options. - The agent analyzes the search experiences and matches them to the user’s query intent.
- The agent calls
search_documentswith the appropriate search experience. - The agent returns results to the user.
-
Calls
list_search_experiencesand receives the following data: - Identifies the “Hearthstone Knowledge” search experience as the one that best matches the prompt.
-
Calls
search_documentswithsearchExperience: "Hearthstone Knowledge"and the user’s query. - Returns the card results.
Develop custom applications
You can build your own MCP-compatible client applications for integration with Managed Fusion’s MCP server. See how to build a client to learn how to do this with an MCP SDK. Like other AI agents, your custom application needs an API key.STDIO mode setup
STDIO mode is useful when you are developing a custom application. STDIO mode makes it available to Claude Desktop and Claude Code clients only, using the Standard I/O (STDIO) protocol.Connect Claude (STDIO mode)
Connect Claude (STDIO mode)
- Open your Claude configuration file.
-
Configure the MCP server in Docker mode or JAR mode as follows:
You can configure a single search experience or multiple search experiences as follows:
- Save the file and restart Claude.
Request format
The request format varies by tool. Thelist_search_experiences tool takes no parameters:
search_documents tool requires the search experience name and query parameters:
search_documents are explained below:
list_search_experiences tool.
If the search experience is invalid or not configured, the response will include a list of available search experiences for fallback.*:* query.For field-specific searches (such as title contains X, type equals PDF, or date from 2024), use the arguments.filters parameter instead.- dates (“from 2024”, “last month”)
- types (“only PDFs”)
- categories (“HR documents”)
- exclusions (“not drafts”)
Supported operators
Supported operators
| Operator | Parameters | Description | Example |
|---|---|---|---|
equals | field, value | Exact match | {"field": "type_s", "operator": "equals", "value": "pdf"} |
not_equals | field, value | Exclude value | {"field": "status_s", "operator": "not_equals", "value": "draft"} |
in | field, values (array) | Match any value (OR) | {"field": "type_s", "operator": "in", "values": ["pdf", "docx"]} |
not_in | field, values (array) | Exclude all values | {"field": "status_s", "operator": "not_in", "values": ["draft", "archived"]} |
range | field, from, to | Inclusive range | {"field": "publish_date_dt", "operator": "range", "from": "2024-01-01T00:00:00Z", "to": "2024-12-31T23:59:59Z"} |
greater_than | field, value | Value > (exclusive) | {"field": "year_i", "operator": "greater_than", "value": 2020} |
greater_than_or_equals | field, value | Value >= (inclusive) | {"field": "page_count_i", "operator": "greater_than_or_equals", "value": 100} |
less_than | field, value | Value < (exclusive) | {"field": "file_size_l", "operator": "less_than", "value": 10485760} |
less_than_or_equals | field, value | Value <= (inclusive) | {"field": "price_f", "operator": "less_than_or_equals", "value": 99.99} |
contains | field, value | Wildcard match | {"field": "filename_s", "operator": "contains", "value": "report"} |
starts_with | field, value | Prefix match | {"field": "email_s", "operator": "starts_with", "value": "admin"} |
exists | field | Has any value | {"field": "author_s", "operator": "exists"} |
not_exists | field | Has no value | {"field": "email_s", "operator": "not_exists"} |
relative_date_range | field, timeUnit, timeValue | Relative to NOW | {"field": "publish_date_dt", "operator": "relative_date_range", "timeUnit": "DAYS", "timeValue": 7} |
date desc or score desc.Response format
- Invalid search experience
- No results
- Spelling suggestions
-
documentsis empty -
searchExperiencesis populated -
querySpellcheckSuggestionsis empty
searchExperiences array for available search experiences and retry with a valid name.Usage examples
List search experiences
List search experiences
Basic search
Basic search
Search with pagination
Search with pagination
Search with sorting
Search with sorting
Combined parameters
Combined parameters
Get all documents
Get all documents
query parameter or provide an empty string.*:* query).Search with spellcheck suggestions
Search with spellcheck suggestions
querySpellcheckSuggestions contains values, AI agents should inform users about the alternative search terms and offer to retry the search with a corrected query.Filtering examples
Simple equals filter
Simple equals filter
Date range filter
Date range filter
Relative date range
Relative date range
DAYS, WEEKS, MONTHS, YEARS, HOURS, MINUTES.Multiple values (OR logic)
Multiple values (OR logic)
Exclusion filter
Exclusion filter
Contains filter (wildcard)
Contains filter (wildcard)
Field existence
Field existence
Complex multi-filter
Complex multi-filter
Combining query and filters
Combining query and filters
query parameter performs a broad keyword search, while filters narrow results by specific field values.Example use cases
The following examples demonstrate common MCP integration patterns.Enterprise knowledge search
Enterprise knowledge search
Multi-language search
Multi-language search
Code search in developer tools
Code search in developer tools
Scoped search with specialized bots
Scoped search with specialized bots
security_docs_only_profile search experience restricts searches to the security documentation collection.
Even if a user asks for financial reports, the bot can only search and return security-related content.Response with highlighting and MoreLikeThis
Response with highlighting and MoreLikeThis
Example multi-tenant configurations
Managed Fusion’s MCP server supports multi-tenant architectures where different users or use cases access different data subsets.Employee vs. contractor access
Employee vs. contractor access
- The employee API key accesses a server with search experiences configured for full access to all collections.
- The contractor API key accesses a server with search experiences limited to public documentation and shared resources.
Public vs. authenticated access
Public vs. authenticated access
Troubleshooting
This section provides solutions for common MCP configuration issues.Connection failures
Connection failures
-
Verify the endpoint is accessible:
If the endpoint is accessible, it returns output similar to the example below. Any other result means that the endpoint is not accessible.The protocol version in this example (
2024-11-05) may differ from your installed version. See the MCP schema specification for the current version.
-
Check the URL path is exactly
/mcp(no trailing slash, not/api/mcp). -
Test with verbose logging:
401 Unauthorized - Invalid API Key
401 Unauthorized - Invalid API Key
403 Forbidden - Query Profile Not Authorized
403 Forbidden - Query Profile Not Authorized
400 Bad Request - Missing Required Header
400 Bad Request - Missing Required Header
x-api-key header is required for authentication:No results returned
No results returned
-
Verify the Managed Fusion app contains indexed content:
- Check that the query profile has access to the expected collections.
- Test the same query directly in Managed Fusion’s Query Workbench to confirm results exist.
- Review security trimming rules that might filter out documents for the API key’s role.
Slow response times
Slow response times
- Check the query profile’s pipeline stages for expensive operations.
- Review the query complexity (complex filter queries can impact performance).
- Monitor Managed Fusion’s query logs for slow queries.
- Consider optimizing ML model execution or caching strategies.
- Verify network latency between the AI client and Managed Fusion instance.
- Contact Lucidworks if performance tuning is needed.
Server fails to start - No valid search experiences
Server fails to start - No valid search experiences
-
Add at least one search experience with all required fields to
application.yaml: - Restart the server.
-
Verify startup logs show:
Found 1 valid search experience(s): [Company Knowledge]
Expected search experience doesn't appear in list
Expected search experience doesn't appear in list
list_search_experiences returns fewer search experiences than you configured, follow these steps.Solution:-
Check server startup logs for:
INFO - Found N valid search experience(s): [names] - Compare logged names with your configuration.
-
Verify all required fields are populated (
name,description,application-name,query-profile). - Fix configuration and restart.
Search returns 'Search experience is not configured'
Search returns 'Search experience is not configured'
-
Call
list_search_experiencesto get exact names. - Use the exact name (case-sensitive).
- ❌ “engineering docs” (wrong case)
- ✅ “Engineering Docs” (exact match)
Connection errors - Unable to process request
Connection errors - Unable to process request
- Verify Managed Fusion is running and accessible.
-
Check that
application-nameexists in Managed Fusion (case-sensitive). -
Verify
query-profileexists and is enabled in Managed Fusion. - Check authentication and network connectivity.
- Review MCP server logs for detailed error messages.
Empty search results (No documents found)
Empty search results (No documents found)
- Verify documents are indexed in Managed Fusion (check Collections in Managed Fusion UI).
-
Try omitting the query parameter to return all documents (defaults to
*:*): - Try a broader query.
- Test the same query directly in Query Workbench.
-
Verify
application-namepoints to the correct Managed Fusion application. - Check query profile settings for permission filters.