Server
Loading...
Namespace: -
Loading...
Load Corpus
Namespace: - - / - docs
All documents loaded!

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

Loading KVS data...
API Documentation

JSON-RPC 2.0 endpoint: POST /rpc

info

Get server configuration and loaded models info.

{"jsonrpc":"2.0","id":1,"method":"info","params":[]}
health

Check server health status.

{"jsonrpc":"2.0","id":1,"method":"health","params":[]}

namespace.list

List all namespaces with doc counts and storage.

{"jsonrpc":"2.0","id":1,"method":"namespace.list","params":[]}
namespace.create

Create a namespace with quality level (1-4).

name string - Namespace name
quality int - Quality 1-4 (default: 2)
{"jsonrpc":"2.0","id":1,"method":"namespace.create","params":["my-ns",3]}
namespace.delete

Delete a namespace and all its data.

{"jsonrpc":"2.0","id":1,"method":"namespace.delete","params":["my-ns"]}
namespace.stats

Get statistics for a namespace.

{"jsonrpc":"2.0","id":1,"method":"namespace.stats","params":["default"]}

embed

Generate embeddings for texts.

texts string[] - Texts to embed
quality int? - Quality 1-4 (default: 1)
{"jsonrpc":"2.0","id":1,"method":"embed","params":[["hello","world"],1]}

index.add

Add documents to a namespace.

docs {id,text}[] - Documents
namespace string? - Namespace (default: "default")
{"jsonrpc":"2.0","id":1,"method":"index.add","params":[[{"id":"1","text":"hello"}],"default"]}
index.get

Get a document by ID.

{"jsonrpc":"2.0","id":1,"method":"index.get","params":["doc-id","default"]}
index.delete

Delete a document by ID.

{"jsonrpc":"2.0","id":1,"method":"index.delete","params":["doc-id","default"]}
index.count

Get document count in namespace.

{"jsonrpc":"2.0","id":1,"method":"index.count","params":["default"]}
index.clear

Clear all documents from namespace.

{"jsonrpc":"2.0","id":1,"method":"index.clear","params":["default"]}
index.delete_db

Delete database file completely.

{"jsonrpc":"2.0","id":1,"method":"index.delete_db","params":["default"]}

corpus.download

Download TriviaQA dataset (~604MB).

{"jsonrpc":"2.0","id":1,"method":"corpus.download","params":[]}
corpus.stats

Get corpus database statistics.

{"jsonrpc":"2.0","id":1,"method":"corpus.stats","params":[]}
corpus.load

Load Q&A pairs into a namespace.

count int? - Pairs to load (default: 1000)
namespace string? - Target namespace
{"jsonrpc":"2.0","id":1,"method":"corpus.load","params":[1000,"default"]}
corpus.benchmark

Run search benchmark on namespace.

{"jsonrpc":"2.0","id":1,"method":"corpus.benchmark","params":[null,10,"default"]}

vectors.add

Store pre-computed vectors with IDs and optional text.

entries {id,vector,text?}[] - Vector entries
namespace string? - Namespace (default: "default")
{"jsonrpc":"2.0","id":1,"method":"vectors.add","params":[[{"id":"v1","vector":[0.1,0.2,0.3],"text":"hello"}],"default"]}
vectors.get

Get a vector and optional text by ID.

id string - Vector ID
namespace string? - Namespace (default: "default")
{"jsonrpc":"2.0","id":1,"method":"vectors.get","params":["v1","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")
{"jsonrpc":"2.0","id":1,"method":"vectors.search","params":[[0.1,0.2,0.3],10,"default"]}
vectors.delete

Delete a vector by ID.

id string - Vector ID
namespace string? - Namespace (default: "default")
{"jsonrpc":"2.0","id":1,"method":"vectors.delete","params":["v1","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
{"jsonrpc":"2.0","id":1,"method":"kvs.set","params":{"namespace":"default","key":"config.db.host","value":"localhost"}}
kvs.get

Get a value by key from a namespace.

namespace string - Namespace name
key string - Key to retrieve
{"jsonrpc":"2.0","id":1,"method":"kvs.get","params":{"namespace":"default","key":"config.db.host"}}
kvs.delete

Delete a key from a namespace.

namespace string - Namespace name
key string - Key to delete
{"jsonrpc":"2.0","id":1,"method":"kvs.delete","params":{"namespace":"default","key":"config.db.host"}}
kvs.list

List all keys in a namespace (with optional prefix filter).

namespace string - Namespace name
prefix string? - Optional prefix filter
{"jsonrpc":"2.0","id":1,"method":"kvs.list","params":{"namespace":"default","prefix":"config."}}
kvs.clear

Clear all keys in a namespace.

namespace string - Namespace name
{"jsonrpc":"2.0","id":1,"method":"kvs.clear","params":{"namespace":"default"}}

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)
{"jsonrpc":"2.0","id":1,"method":"logs.get","params":[{"limit":20,"operation":"search"}]}
logs.clear

Clear all operation logs.

{"jsonrpc":"2.0","id":1,"method":"logs.clear","params":[]}
logs.stream

Get new logs since a given ID (for polling).

since_id int? - Get logs after this ID
{"jsonrpc":"2.0","id":1,"method":"logs.stream","params":[{"since_id":42}]}
Quality Levels
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.

Connection Details
MCP Endpoint loading...
Port loading...
Protocol JSON-RPC 2.0 over HTTP
Authentication None (Public)
Claude Code Setup

Add HeroEmbedder as an MCP server in Claude Code:

loading...

After adding, Claude will be able to:

  • Generate embeddings for text
  • Search for similar documents
  • Rerank search results
  • Manage namespaces and corpus
  • Access server logs and statistics
  • Manage KVS (Key-Value Store)
Claude Desktop Setup

Add this to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

loading...
Available MCP Tools
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
Protocol Details

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.

Operation Logs
Loading logs...