@vectros-ai/mcp-server
OfficialClick on "Install 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., "@@vectros-ai/mcp-serversearch my indexed records for project updates"
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.
@vectros-ai/mcp-server
One-click badges install the server entry in your client. You still supply a key — run
npx -y @vectros-ai/cli bootstrap(recommended) or paste yourssk_.... See Connect from your client and the honest caveats.
A Model Context Protocol server for Vectros — a typed, multi-tenant record store unified with hybrid search and citation-grounded RAG. Deterministic lookups and enumeration and semantic search over one isolated, per-customer index of records and documents — so an agent gets memory that's precise, not just fuzzy recall. Reached agent-natively here over MCP (Claude Desktop, Cursor, Claude Code, Cline, Continue, VS Code, hosted platforms) — and the same data is human-accessible through the Vectros app + SDKs.
npx -y @vectros-ai/mcp-serverYour agent can search your indexed corpus, query structured records, ingest documents, and ask questions grounded against documents — reaching only your tenant's data, never the public web (there are no web tools).
Quick start — one command
The fastest way to set up is the @vectros-ai/cli
bootstrap command. It mints a least-privilege scoped key (ssk_*)
bound to a narrowed AccessProfile, optionally scaffolds a use-case data
model, and safe-merges the vectros server into your MCP client config —
no root key, and no hand-editing JSON:
npx -y @vectros-ai/cli bootstrapYou pick what to set up (a blank read-only credential, or a blueprint like task tracking) and sign in once with a token from the developer portal. The command then:
mints a scoped
ssk_*for this machine (independently rotatable),creates the matching AccessProfile — data-plane only; the command refuses to provision control-plane scope (keys / profiles / billing / …),
backs up and merges the entry into
claude_desktop_config.json(Claude Desktop, Cursor, Cline). For Claude Code, add--client code: it merges the project.mcp.jsonand prints the equivalentclaude mcp addcommand.
Restart your MCP client and you're done. It's idempotent (re-run any time);
--rotate replaces this machine's key.
Want to browse the data yourself? bootstrap sets up the key for your
agent, not a login for you — so a blueprint's context won't appear in the
data-plane app's switcher until you join your own user to it (the app lists only
contexts your user has access in). Grant yourself a role once, either in the admin
app (Access → Contexts → your context → Profiles → Create profile, pick
yourself from the by-email picker, choose a role — no raw id needed) or from the
CLI with --principal me (resolves to your own user):
vectros access grant --principal me --context <context-id> --role <role>Blueprints that ship a human role (e.g. agentic-sdlc's editor) let you use
--role; otherwise grant inline scopes with --actions records:r,search:r,….
For scripted / agent use, set the sign-in token in the environment and skip the prompts:
VECTROS_BOOTSTRAP_TOKEN=… npx -y @vectros-ai/cli bootstrap \
--blueprint task-management --yesPrefer to wire it up by hand? See Configure manually below.
Related MCP server: ragi
Connect from your client
Client | One-click | Manual |
Claude Desktop | Desktop Extension ( | |
Cursor |
| |
VS Code |
| |
Claude Code |
| |
Cline / Continue | — | same JSON snippet as Claude Desktop |
Smithery |
| — |
Codex | — | TOML snippet (below) |
The fastest path on every client is npx -y @vectros-ai/cli bootstrap — it
mints a scoped key and writes the config for you. The one-click buttons install
the server entry; you then supply the key (bootstrap, or paste your ssk_...).
Codex (~/.codex/config.toml):
[mcp_servers.vectros]
command = "npx"
args = ["-y", "@vectros-ai/mcp-server"]
env = { VECTROS_API_KEY = "ssk_live_..." }Honest caveats
Precision is the pitch — what this server deliberately does not do:
There's a human step. Bootstrap needs a developer-portal sign-in / bridge token. One command, but a person signs in — there is no fully unattended provisioning.
No web tools, on purpose. The agent surface has no web-search or web-fetch tools at all. Vectros is the memory, not the browser.
Agent document upload is text-inline today. An agent ingests document text inline; on the stdio transport a jailed local-file upload is supported, but bulk file upload from the agent surface isn't the path today.
Audit history is tamper-evident, not tamper-proof. A state-continuity chain makes out-of-band alteration detectable; it is not continuous automated verification.
Configure manually (Claude Desktop or any MCP client)
{
"mcpServers": {
"vectros": {
"command": "npx",
"args": ["-y", "@vectros-ai/mcp-server"],
"env": {
"VECTROS_API_KEY": "ssk_live_..."
}
}
}
}Restart Claude Desktop. The agent now sees the Vectros tools and two resources as callable surfaces.
Configure manually (Claude Code)
Claude Code reads a project-scoped .mcp.json with the same shape — drop this
at your project root (commit it to share the server with the repo):
{
"mcpServers": {
"vectros": {
"command": "npx",
"args": ["-y", "@vectros-ai/mcp-server"],
"env": {
"VECTROS_API_KEY": "ssk_live_..."
}
}
}
}Or let Claude Code's CLI write it for you:
claude mcp add vectros -e VECTROS_API_KEY=ssk_live_... -- npx -y @vectros-ai/mcp-serverAdd -e VECTROS_API_BASE_URL=https://api.staging.vectros.ai for a non-production
environment. Reopen the project in Claude Code and the Vectros tools are
available.
Tools (21 tools)
Search & RAG
Tool | What it does |
| Hybrid BM25 + dense search across the tenant's indexed content (records + documents). Narrow by ownership, folder, type, metadata filters, a created date window, and keyword-precision ( |
| Ask a question grounded against the indexed corpus. Scope retrieval (ownership / folder / type / metadata filters / date window) and steer generation ( |
| Ask a question grounded against a single document. Same aggregation + progress-notification shape as |
Records (structured, schema-validated data)
Tool | What it does |
| List the record-schema catalog the credential can see (filter by |
| Query records by lookup field (equality / range / prefix, with |
| Fetch one record by id, including its full payload (large payloads truncated to protect the agent context window). |
| Create a record of a given type; idempotent by |
| Patch a record's payload (deep-merged; |
| Permanently delete a record by id (leaves a tombstone). |
Documents (text/file content, indexed for search + Q&A)
Tool | What it does |
| Create a document — inline text body OR local file upload (file mode is stdio-transport only). Idempotent by |
| Query documents by lookup field (equality / range / prefix, with |
| Fetch a document by id (metadata incl. lifecycle |
| Patch a document's metadata / typed payload (deep-merged); archive/restore via |
| Permanently delete a document by id (removes it and its indexed content). |
Folders (group records + documents)
Tool | What it does |
| Get a folder by id, or list folders (a parent's children for tree navigation, or a flat tenant list; paginated via |
| Create a folder. |
| Update a folder's name / description / ownership (merge-patch; optimistic concurrency via |
| Delete a folder. |
Identity & history
Tool | What it does |
| Describe the credential: tenantId, environment, principalType, principalKeyId, and (for scoped credentials) allowedActions + dataScope. |
| Resolve a user / org / client by your own |
| Read the audit/version trail (CREATE/UPDATE/DELETE, with actor + diff) for one record or document. Read-only. |
All 21 tools wrap published Vectros HTTP API endpoints. JSON
responses are what the agent sees as tool output. Per-call cost
surfaces via the usage field on inference responses.
Opting into a subset
Pass VECTROS_MCP_TOOLS=hybrid_search,rag_ask to register only those
two — useful for giving an agent read-only search access without
exposing ingestion or inference costs to the credential. Unknown tool
names fail fast at startup.
Resources
Two read-only resources for ambient context (no tool call required):
URI | What it returns |
| Same payload as |
| Same payload as |
Recommended credential
Use a scoped permanent API key (ssk_*), not a root key (sk_*).
A scoped key is bound to a narrowed AccessProfile — e.g. read-only
across one org scope (scope:org). If your MCP install is compromised, the blast
radius is whatever the profile allows, not the whole tenant. The
server emits a warn log line on startup when you pass a wildcard
sk_* for exactly this reason.
The easiest way to get one is npx -y @vectros-ai/cli bootstrap (above)
— it mints a least-privilege ssk_* and an AccessProfile for you, no root
key required. To do it by hand instead: mint a scoped key from the developer
portal under Keys → Create scoped key, bind it to an AccessProfile
titled mcp-read-all or mcp-read-scoped, and drop the resulting
ssk_live_... into the config above.
See the Vectros developer documentation on scoped tokens ("Recommended
AccessProfile for MCP") for least-privilege credential setup — the
vectros bootstrap flow provisions a scoped ssk_* key and its AccessProfile
in one command.
Credential resolution
The server resolves its API key from the first source that yields one:
VECTROS_API_KEY— always wins when set.The
vectrosCLI keyring — if the key is unset and@vectros-ai/cli0.9.0+ is on yourPATH, the server runsvectros keyring show --format rawas a subprocess and uses the key it prints. By default that is your active identity; setVECTROS_KEYRING_ALIASto pick a specific entry. This is the same pattern asgit credential/docker-credential-*/aws credential_process: the key lives in one place, and the server, your scripts, and your agent hooks all read it from there instead of each keeping a plaintext copy that drifts.Neither — startup fails with a message naming both options.
The resolved key is held in memory and never logged. Startup logs which alias it
resolved (not the key), so you can tell at a glance which identity the server is
running as — vectros keyring doctor shows the same view.
Startup warns when it picks an identity you didn't name. If
VECTROS_API_KEYis unset and noVECTROS_KEYRING_ALIASis set, the server falls back to your active keyring entry and logs a warning — it is running as whatever identityvectros switchlast selected, which may be assk_live_*key acting on real data or assk_test_*one that isn't. Either can be an unwelcome surprise, because a blank placeholder ("VECTROS_API_KEY": ""in a client config, or-e VECTROS_API_KEYpassing through an unset var in Docker) reads as "not configured yet" but resolves like an unset key. Nothing is blocked — name an entry withVECTROS_KEYRING_ALIAS, or setVECTROS_API_KEY, and the warning goes away.vectros keyring doctorshows which entry is active and which of your keys are live.
Environment variables
Var | Required | Default | Purpose |
| no* | — | Vectros API key. Accepts |
| no | (the active entry) | Resolve this |
| no |
| Override for staging or other envs. Validated: must be |
| no | — | Set |
| no | process cwd | Directory |
| no | (all tools) | Comma-separated tool names (e.g. |
| no | — | Set |
| no | — | Set |
| HTTP only |
| Port for HTTP transport. |
| HTTP only |
| Bind address. Use |
| HTTP only | — | Client→server bearer token. Strongly recommended beyond localhost; required for a non-loopback bind. |
| HTTP only | — | Comma-separated extra |
| HTTP only | — | Comma-separated extra |
| HTTP only | — | Set |
Startup credential validation
Before the first tool call, the server runs a GET /v1/ping check
against your credential. Bad keys fail at startup with a clear
error instead of opaquely 401'ing mid-conversation. Set
VECTROS_MCP_SKIP_PING_VALIDATION=1 to disable.
HTTP transport
For hosted-MCP scenarios — running the server behind a network boundary, sharing it across multiple agent instances, deploying as a sidecar — the package also ships an HTTP binary:
VECTROS_API_KEY=ssk_live_... \
VECTROS_MCP_HTTP_PORT=8765 \
VECTROS_MCP_HTTP_BEARER_TOKEN=$(openssl rand -hex 32) \
npx -y -p @vectros-ai/mcp-server vectros-mcp-server-httpThe HTTP binary is not the default — select it explicitly with
npx -p <pkg> vectros-mcp-server-http. A barenpx -y @vectros-ai/mcp-serveralways starts the stdio server.
The server listens on http://127.0.0.1:8765/mcp by default. The
bearer token is optional but strongly recommended for any
deployment beyond localhost — without it, anyone who can reach the
port can call Vectros with your credentials.
Health probe lives at GET /healthz (always unauthenticated, k8s
readiness-friendly).
Current limitation: the server uses one upstream credential per process (the key resolved at startup). Per-request credential override via the incoming Authorization header is a planned enhancement. For now, deploy one server per credential boundary you want.
Programmatic use (advanced)
Most consumers use the CLI shape above. If you need to embed the server in your own Node process:
import { VectrosMCPServer, createStdioTransport } from '@vectros-ai/mcp-server';
const server = new VectrosMCPServer({
apiKey: process.env.VECTROS_API_KEY!,
tools: ['hybrid_search', 'rag_ask'],
resources: ['schemas'], // opt-in resource filter; default = all
validateOnStart: true, // default — set false to skip startup ping
});
await server.connect(createStdioTransport());What this server doesn't do (yet)
No prompts capability —
/ragand/ingest_pdfslash-command templates land in a future release. (Provisioning — thebootstrapcommand — lives in the separate@vectros-ai/clipackage, above.)HTTP transport is single-tenant per process — per-request credential override via incoming Authorization header is a v1.0+ enhancement.
No Python implementation — TS only. Python users can
npxthis server from any project.rag_askanddocument_askare not natively streaming — full answer aggregated before the tool returns. Progress notifications cover the latency. Native MCP-spec streaming lands when the spec stabilizes.
The server is on a pre-1.0 track toward a stable 1.0 release.
Rate limits
Tool calls hit the same per-account per-minute rate limit as any API client (writes, searches,
and inference count against it; reads do not). On a 429 the server surfaces the error with its
Retry-After hint so the agent can pace and retry rather than blind-retrying. See the
rate limits guide for the per-plan
limits.
Building from source
git clone https://github.com/vectros-ai/vectros-mcp-server
cd mcp-server
npm install
npm run build
npm testnpm install pulls @vectros-ai/sdk from the configured npm
registry.
npm run build runs tsup to produce the dual ESM/CJS output in
dist/. The SDK is bundled into the build (see
tsup.config.ts) — the published npm package is
self-contained and works without .npmrc config on the consumer's
machine.
Security & trust
Vectros enforces per-customer, fail-closed isolation and least-privilege scoped keys, with a tamper-evident audit and version history. Customer-facing surfaces are hardened through extensive adversarial security review. For the full trust posture, drawn plainly with its boundaries, see the compliance and trust guide.
License
Apache-2.0. See the LICENSE file.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceMCP server for document ingestion and semantic search on Qdrant. Enables ingesting local documents, generating embeddings with OpenAI, and performing vector search with metadata filters.Last updatedApache 2.0
- AlicenseAqualityBmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.Last updated325MIT
- Alicense-qualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).Last updated3736MIT
- Alicense-qualityDmaintenanceA Model Context Protocol (MCP) server for Retrieval-Augmented Generation (RAG) operations. It provides tools for building and querying vector-based knowledge bases from document collections, enabling semantic search and document retrieval capabilities.Last updated3MIT
Related MCP Connectors
Remote ChromaDB vector database MCP server with streamable HTTP transport
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vectros-ai/vectros-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server