@voxell/forge-mcp
OfficialEmbed text into vectors and list available Forge models via MCP for semantic search, RAG, and related tasks.
Generate embeddings for one or more texts with the
embedtool.Choose model tier:
turbo(1024d, default),pro(2560d), orultra(4096d).Set
input_typetoqueryfor search queries ordocumentfor indexed content.Optionally truncate vectors via
dim(Matryoshka) to shrink storage and cost.Get back the vectors plus model, dimension, and token count.
List available models and their dimensions with
list_models.Use for semantic search, RAG, finding similar/duplicate text, clustering/classification, and vector storage optimization.
Compatible with the OpenAI embeddings API, allowing OpenAI clients to use Forge's embedding models with no code changes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@voxell/forge-mcp Embed 'How to train a model?' with input_type query."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@voxell/forge-mcp
An MCP server for Forge — Voxell's hosted text-embedding API. It exposes Forge to any MCP client (Claude, Cursor, Cline, Windsurf, VS Code, …) as two tools:
embed— turn text into vectorslist_models— list available models and their dimensions
You bring a Forge API key. The server is stateless, and Voxell does not store the text you send or the vectors it returns — only usage metadata (token counts) is recorded, for billing. It does embeddings only — no storage, no search, no RAG. Those are different products.
Quick install
One-click install in your editor (then replace your-key-here with a real key from
dash.voxell.ai):
Claude Code — one command:
claude mcp add forge -e FORGE_API_KEY=your-key-here -- npx -y @voxell/forge-mcpAny other client (Claude Desktop, Cline, Windsurf, Zed, …) uses the standard mcpServers
block — see Use it below.
Related MCP server: @restforge-dev/mcp-server
Why Forge
Quality you can dial. Three tiers:
turbo(1024d, fast, the default),pro(2560d) andultra(4096d, highest quality). Pick your point on the quality and cost curve.Benchmark-leading. Voxell's Ingot-8B-R3 ranks #1 for English on the public MTEB leaderboard (English v2), with a 75.98 mean task score across 41 tasks: the top usable English embedding model. See the model card.
Measured on public documents. Voxell's retrieval pipeline, built on Forge, is measured on four public corpora (7,817 documents, 980,885 passages). On 800 model-written questions, which are easier than a test set written by people, the first result answers the question for 83%. Method and limits: Measured retrieval.
Matryoshka (MRL). Set
dimto truncate (re-normalized) for ~4× smaller, cheaper vectors.Low latency (Go + CUDA engine), zero-trust (per-key auth; mTLS available), and free to start (
turbois free forever, no card: dash.voxell.ai; more at voxell.ai/forge).
Measured retrieval
This server returns vectors only. Voxell also runs a retrieval pipeline built on Forge, and publishes what it measures on documents anyone can read.
Four public corpora, 7,817 documents and 980,885 passages in total, 800 questions (200 per corpus), measured 2026-10-05:
corpus | documents | first result answers the question | one of the top three answers it |
SEC filings | 2,010 | 91% | 95% |
USPTO patents | 4,008 | 86.5% | 91.5% |
NASA technical reports | 1,210 | 67% | 78% |
arXiv technical papers | 589 | 86.5% | 96% |
all four | 7,817 | 83% | 90% |
The right document is in the top ten for 95% of the questions.
Read these numbers for what they are. The questions were written by a model from the documents
and judged against the passage text, which is easier than a test set written by people. The
numbers describe what this pipeline does on these corpora. They are not a comparison with any
other vendor, and they are not what the embed tool does on its own: the pipeline adds the steps
the receipts list, such as a cross-encoder reranker, a one-line document identity in every
passage, and routing to the documents a question names. Each receipt is published with a fixed
sample of its questions, misses included: voxell.ai/retrieval.
What you can do with it
Add semantic search — embed your documents with
input_type: "document"and each query withinput_type: "query", then rank by cosine similarity.Build RAG — embed a knowledge base, store the vectors, and retrieve the closest chunks to ground an LLM.
Find similar or duplicate text — embed two texts and compare their vectors.
Cluster or classify — embed a batch, then cluster or train a classifier on the vectors.
Shrink vector storage — set
dimto truncate (Matryoshka) and trade a little accuracy for smaller, cheaper vectors.Straight from your editor — ask your AI agent (Cursor, Claude, …) to embed a snippet, a batch, or a file via the
embedtool — no separate script.
Requirements
Node.js ≥ 18 (tested on 20)
A Forge API key — create one at https://dash.voxell.ai.
turbois free forever, no card.
Use it
Most MCP clients run it on demand with npx. Add this to your client's MCP config:
{
"mcpServers": {
"forge": {
"command": "npx",
"args": ["-y", "@voxell/forge-mcp"],
"env": { "FORGE_API_KEY": "your-key-here" }
}
}
}(Cursor, Claude Desktop, Cline, Windsurf, and VS Code all use this mcpServers shape.)
Tools
embed
arg | type | default | notes |
| string or string[] | — | text(s) to embed (required) |
| string |
|
|
| number | model default | truncate to N dimensions (Matryoshka) — works on every model |
|
|
| use |
Returns the vectors plus the model, dimension, and token count.
Default is turbo — the one you probably want. pro/ultra trade size and speed for more
dimensions.
list_models
Lists the available models and their dimensions.
Configuration
env | required | default |
| yes | — |
| no |
|
Beyond MCP: OpenAI-compatible API
Forge speaks the OpenAI embeddings API. Point any OpenAI client at Forge — no code change, and your existing vector dimensions are preserved:
from openai import OpenAI
client = OpenAI(base_url="https://api.voxell.ai/v1", api_key="your-forge-key")
# the exact call you already make — now on a higher-ranked engine:
client.embeddings.create(model="text-embedding-3-large", input=["hello world"]) # -> 3072-dYour OpenAI model names map to a matching-dimension Forge tier (text-embedding-3-small/
ada-002 → 1536-d, text-embedding-3-large → 3072-d), so existing vector stores slot in
unchanged. Or address Forge tiers directly — turbo | pro | ultra. Also supports dimensions
(Matryoshka, re-normalized) and encoding_format: "base64".
It's an upgrade on every path. Forge's smallest tier (turbo) outranks OpenAI's
largest embedding model (text-embedding-3-large) on MTEB, so there's no drop-in that lands
worse. And Voxell's Ingot-8B-R3 ranks #1 for English on the public MTEB leaderboard: a different
league.
Why re-embedding onto Forge is worth it. Embedding is a one-way door: whatever an encoder discards at write time is gone — no reranker, longer prompt, or bigger LLM downstream reconstructs what the vectors never captured. The model you embed with sets the ceiling on everything above it. Re-embed once onto a higher-ranked engine and that ceiling rises — permanently.
License
MIT © Voxell, Inc.
Available Tools
2 toolsembedEmbed text with ForgeA
Generate vector embeddings for one or more texts with Forge (Voxell's hosted embedding API). Use it to turn text into vectors for semantic search, RAG, clustering, or similarity. Set input_type='query' for search queries and 'document' for content you index. Choose model by quality/cost: turbo (1024d, fast, default) -> pro (2560d) -> ultra (4096d, highest quality). Optionally set dim to truncate (Matryoshka, re-normalized).
Inputs: input (required), dim, model, input_type. Returns: dim, count, model, tokens, +1 more
list_modelsList Forge embedding modelsA
List the available Forge embedding models and their dimensions. Call this to pick a model before embedding.
Inputs: no named parameters. Returns: models
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
embed and list_models have clearly distinct purposes: one generates vector embeddings, the other lists available models. There is no overlap or ambiguity between them.
Both names use snake_case, but 'embed' is a bare verb while 'list_models' follows a verb_noun pattern. This is a minor deviation from a fully consistent convention.
With only 2 tools, the set feels thin relative to the typical 3-15 range. However, for a narrowly scoped embedding API, each tool earns its place, so it is borderline rather than mismatched.
The surface covers the core embedding workflow: generating embeddings with configurable model and dimension, plus discovering available models. Minor gaps exist (e.g., no batch job management or usage statistics), but the essential operations are present.
Maintenance
Related MCP Connectors
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
MCP server for Flux AI image generation
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAn MCP server that provides Hugging Face Hub API and Search endpoints through multiple transport protocols (STDIO, SSE, StreamableHTTP, and StreamableHTTPJson), enabling integration with AI model capabilities.314MIT
- AlicenseAqualityCmaintenanceMCP server that exposes RESTForge capabilities to AI agents, enabling them to set up, configure, generate code, and manage RESTForge projects through natural language.2944 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides RAG-based access to Neoforge Mod API documentation, enabling LLMs to query the latest Neoforge modding knowledge.2MIT
- AlicenseBqualityCmaintenanceMCP server for Forge Minecraft modding documentation. Gives AI assistants direct access to Forge docs with structured search results.518 npm3AGPL 3.0