Searchcraft
About
Manage Searchcraft cluster's Documents, Indexes, Federations, Access Keys, and Analytics.
Details
- License
- Apache-2.0
Explore
The created application includes:
- React + Vite → Modern, fast development setup
- Searchcraft SDK Integration → Full search functionality out of the box
- Responsive Design → Works on desktop and mobile devices
- Auto-generated Templates → Smart result display based on your data structure
- Environment Configuration → Easy setup for different environments
- Development Server → Hot reload for rapid customization
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
SearchcraftCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Existing Searchcraft Index → The index specified in VITE_INDEX_NAME should already exist
- Valid Read Key → The VITE_READ_KEY must have read permissions for the index
- Git Available → The tool uses git to clone the template repository
- Node.js & Yarn → Required for dependency installation
| Tool Name | Description |
|-----------|-------------|
| create_key | Create a new authentication key with specified permissions and access controls. |
| delete_all_keys | Delete all authentication keys on the Searchcraft cluster. Use with extreme caution! |
| delete_key | Delete a specific authentication key permanently. |
| get_application_keys | Get a list of all authentication keys associated with a specific application. |
| get_federation_keys | Get a list of all authentication keys associated with a specific federation. |
| get_key_details | Get detailed information for a specific authentication key. |
| get_organization_keys | Get a list of all authentication keys associated with a specific organization. |
| list_all_keys | Get a list of all authentication keys on the Searchcraft cluster. |
| update_key | Update an existing authentication key with new configuration. |
From a URL:
{
"source": "url",
"path": "https://api.example.com/products.json",
"index_name": "products",
"sample_size": 50,
"search_fields": ["title", "description", "category"],
"weight_multipliers": {
"title": 2.0,
"description": 1.0,
"category": 1.5
}
}
From a local file:
{
"source": "file",
"path": "/path/to/data.json",
"index_name": "my_data",
"language": "en"
}
Create .env file at the project's root and fill in the values:
USER_AGENT=searchcraft-mcp-server/<project-version>
DEBUG=true
PORT=3100
ENDPOINT_URL= # The endpoint url of your Searchcraft Cluster
CORE_API_KEY= # The Searchcraft API key of your Searchcraft cluster. Must match the permissions required by the tools you are using.
If you have already created an index through Vektron on Searchcraft Cloud you may use the write key for the index you are trying to access and use the MCP server for API operations that don't require admin privileges.
IMPORTANT: If you use the MCP server with a write key it should NOT be publicly exposed to the internet. Write keys are intended to be secured and by running an MCP server any user with access to the MCP server will be able to write to the index or delete data.
Make sure your environment has the correct version of node selected.
nvm use
Install dependencies with yarn
yarn
Build the server
yarn build
This creates two server versions:
- dist/server.js - HTTP server for testing and remote deployment
- dist/stdio-server.js - stdio server for Claude Desktop
claude mcp add searchcraft \
--env ENDPOINT_URL=https://your-cluster.searchcraft.io \
--env CORE_API_KEY=YOUR_API_KEY \
-- node /path/to/searchcraft-mcp-server/dist/stdio-server.js
Configuration scopes:
- --scope local (default): Available only to you in the current project
- --scope project: Shared with team via .mcp.json file (recommended for teams)
- --scope user: Available to you across all projects
Managing servers:
bash
claude mcp list
Start the HTTP server for testing, debugging, or remote deployment:
yarn start # Starts HTTP server on port 3100
For Claude Desktop with HTTP server, you'll need mcp-remote:
claude_desktop_config.json
{
"mcpServers": {
"searchcraft": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:3100/mcp"
]
}
}
}
| Feature | stdio (Recommended) | HTTP (Local) | Docker |
|---------|---------------------|--------------|--------|
| Performance | ✅ Best (Direct IPC) | ⚠️ HTTP overhead | ✅ Good |
| Security | ✅ No exposed ports | ⚠️ Network port required | ✅ Isolated environment |
| Setup Complexity | ✅ Simple | ⚠️ Port management needed | ✅ Simple (one command) |
| Claude Desktop | ✅ Native support | ⚠️ Requires mcp-remote | ⚠️ Requires mcp-remote |
| Claude Code | ✅ Native support | ✅ Supported | ✅ Supported |
| Open WebUI | ❌ Not supported | ✅ Via Pipelines | ✅ Via Pipelines |
| Remote Deployment | ❌ Local only | ✅ Possible but manual | ✅ Easy containerization |
| Testing | ⚠️ Requires MCP tools | ✅ Easy with curl | ✅ Easy with curl |
| Multiple Clients | ❌ One at a time | ✅ Concurrent access | ✅ Concurrent access |
| Portability | ⚠️ Node.js required | ⚠️ Node.js required | ✅ Runs anywhere |
Use stdio when:
- Using Claude Desktop or Claude Code locally
- You want the absolute best performance
- You prefer direct process communication
Use HTTP (local) when:
- You need to test/debug the HTTP interface
- You're developing custom integrations
- You need multiple concurrent local clients
Use Docker when:
- You need remote deployment
- You want easy, reproducible setup
- You're deploying to cloud platforms
- You want isolation and security
- You need to publish your server for inspection
The Searchcraft MCP Server currently provides three categories of tools, import tools, engine api tools, and app generation tools:
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"searchcraft": {
"searchcraft-mcp-server": {
"command": "docker",
"args": [
"run",
"-d",
"-p",
"3000:8080",
"\\"
]
}
}
}
}
McpServers
{
"searchcraft-mcp-server": {
"command": "docker",
"args": [
"run",
"-d",
"-p",
"3000:8080",
"\\"
]
}
}
Add the Searchcraft MCP server to Claude Code
claude mcp add searchcraft -- node /path/to/searchcraft-mcp-server/dist/stdio-server.js
With environment variables:
bashSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


