Searchcraft

by searchcraft-inc

9 340 downloads Not rated yet Apache-2.0

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Searchcraft
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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.

.env sample

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:
bash
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.