Enter a query to search
Generate embeddings using the selected namespace's model
Results will appear here
Rerank documents using cross-encoder model
Results will appear here
Add documents to the current namespace
Results will appear here
Key-Value Store for current namespace
JSON-RPC 2.0 endpoint: POST /rpc
info
Get server configuration and loaded models info.
health
Check server health status.
namespace.list
List all namespaces with doc counts and storage.
namespace.create
Create a namespace with quality level (1-4).
| name |
string - Namespace name
|
| quality |
int - Quality 1-4 (default:
2)
|
namespace.delete
Delete a namespace and all its data.
namespace.stats
Get statistics for a namespace.
embed
Generate embeddings for texts.
| texts |
string[] - Texts to embed
|
| quality |
int? - Quality 1-4
(default: 1)
|
index.add
Add documents to a namespace.
| docs |
{id,text}[] - Documents
|
| namespace |
string? - Namespace
(default: "default")
|
index.get
Get a document by ID.
index.delete
Delete a document by ID.
index.count
Get document count in namespace.
index.clear
Clear all documents from namespace.
index.delete_db
Delete database file completely.
search
Semantic search with optional reranking.
| query | string - Search query |
| top_k |
int? - Results count
(default: 10)
|
| namespace |
string? - Namespace
(default: "default")
|
| rerank |
bool? - Use reranker
(default: true)
|
rerank
Rerank documents by query relevance.
| query | string - Query text |
| docs |
{id,text}[] - Documents to
rerank
|
| top_k |
int? - Results count
(default: 10)
|
corpus.download
Download TriviaQA dataset (~604MB).
corpus.stats
Get corpus database statistics.
corpus.load
Load Q&A pairs into a namespace.
| count |
int? - Pairs to load
(default: 1000)
|
| namespace |
string? - Target namespace
|
corpus.benchmark
Run search benchmark on namespace.
vectors.add
Store pre-computed vectors with IDs and optional text.
| entries |
{id,vector,text?}[] -
Vector entries
|
| namespace |
string? - Namespace
(default: "default")
|
vectors.get
Get a vector and optional text by ID.
| id | string - Vector ID |
| namespace |
string? - Namespace
(default: "default")
|
vectors.search
Search using a raw f32 vector (no embedding step).
| vector | float[] - Query vector |
| top_k |
int? - Results count
(default: 10)
|
| namespace |
string? - Namespace
(default: "default")
|
vectors.delete
Delete a vector by ID.
| id | string - Vector ID |
| namespace |
string? - Namespace
(default: "default")
|
kvs.set
Set a key-value pair in a namespace.
| namespace |
string - Namespace name
|
| key |
string - Key (dot-notation
supported)
|
| value |
any - JSON value to store
|
kvs.get
Get a value by key from a namespace.
| namespace |
string - Namespace name
|
| key |
string - Key to retrieve
|
kvs.delete
Delete a key from a namespace.
| namespace |
string - Namespace name
|
| key | string - Key to delete |
kvs.list
List all keys in a namespace (with optional prefix filter).
| namespace |
string - Namespace name
|
| prefix |
string? - Optional prefix
filter
|
kvs.clear
Clear all keys in a namespace.
| namespace |
string - Namespace name
|
logs.get
Retrieve operation logs with optional filters.
| limit |
int? - Max entries
(default: 50)
|
| operation |
string? - Filter by type
(embed, search, rerank, etc.)
|
| namespace |
string? - Filter by
namespace
|
| status |
string? - Filter by status
(running, success, error)
|
logs.clear
Clear all operation logs.
logs.stream
Get new logs since a given ID (for polling).
| since_id |
int? - Get logs after this
ID
|
| Q | Name | Model | Dim |
|---|---|---|---|
| 1 | Fast | bge-small INT8 | 384 |
| 2 | Balanced | bge-small FP32 | 384 |
| 3 | Quality | bge-base INT8 | 768 |
| 4 | Best | bge-base FP32 | 768 |
Connect AI assistants (Claude, etc.) to this HeroEmbedder server via the Model Context Protocol (MCP). No authentication required - the MCP endpoint is public.
| MCP Endpoint | loading... |
| Port | loading... |
| Protocol | JSON-RPC 2.0 over HTTP |
| Authentication | None (Public) |
Add HeroEmbedder as an MCP server in Claude Code:
loading...
After adding, Claude will be able to:
Add this to your Claude Desktop config file (~/Library/Application
Support/Claude/claude_desktop_config.json
on macOS):
loading...
| Tool | Description | Category |
|---|---|---|
embed |
Generate embeddings for text | Core |
search |
Search for similar documents in namespace | Core |
rerank |
Rerank documents by relevance | Ranking |
corpus_load |
Load corpus documents from bundled data | Data |
namespace_create |
Create a new embedding namespace | Server |
namespace_list |
List all namespaces | Server |
namespace_delete |
Delete a namespace and its data | Server |
namespace_create_with_quality |
Create namespace with quality level (1-4) | Server |
stats |
Get server and namespace statistics | Server |
logs_get |
Retrieve operation logs | Server |
kvs_set |
Set a key-value pair | Storage |
kvs_get |
Get a value from KVS | Storage |
kvs_list |
List keys in KVS | Storage |
kvs_delete |
Delete a KVS entry | Storage |
kvs_clear |
Clear all KVS data | Storage |
The MCP endpoint speaks JSON-RPC 2.0. Supported methods:
initialize |
Handshake with protocol version and capabilities |
tools/list |
List all available tools with JSON schemas |
tools/call |
Execute a tool by name with arguments |
ping |
Health check |
Security Note: The MCP endpoint is public with no authentication. Deploy behind a reverse proxy with access controls if you need to restrict access.