VectorSmith
Your vector database, forged into tools an agent can actually use.
Write a tools.yaml. VectorSmith compiles it into typed, tenant-guarded tools — then you either import them in Python or serve them over MCP.
pip install "vectorsmith[qdrant]"
Store extras: qdrant · pgvector · chroma · pinecone · weaviate · milvus — which stores ship.
Two doors, one YAML
| You are building… | Install | Call |
|---|---|---|
| A Python agent (LangChain, LangGraph, OpenAI Agents, Anthropic SDK) | pip install "vectorsmith[qdrant,langchain]" |
from vectorsmith import load_tools |
| A chat / IDE host (Claude Desktop, Claude Code, Codex, Cursor) | pip install "vectorsmith[qdrant]" so vectorsmith is on PATH |
vectorsmith serve tools.yaml --name invoices |
The agent never sees the store URL, the API key, or hidden tenant filters.
from vectorsmith import load_tools, connect
tools = load_tools("tools.invoices.yaml", env_file=".env")
# or
vs = connect("tools.invoices.yaml", env_file=".env")
rows = await vs.call("search_invoices", {"query": "Globex", "limit": 3})
await vs.aclose()
{
"mcpServers": {
"invoices": {
"command": "vectorsmith",
"args": ["serve", "/absolute/path/tools.invoices.yaml", "--env-file", "/absolute/path/.env", "--name", "invoices"]
}
}
}
Host guides: Claude Desktop · Claude Code · Codex · Cursor.
Write a tool, not a prompt
tds_version: "1"
connections:
invoices:
backend: qdrant
url: ${QDRANT_URL}
api_key: ${QDRANT_API_KEY:-}
tools:
- name: search_invoices
kind: search
description: >
Search invoices by free text and filter by client, status, or amount.
target: { connection: invoices, collection: invoices }
query: { param: query, required: false }
static_filters:
- { path: tenant, op: eq, value: acme }
parameters:
- { name: client, path: client_name, dtype: keyword, op: eq }
- { name: status, path: status, dtype: keyword, op: in,
enum: [draft, sent, paid, overdue] }
output:
fields: [invoice_id, client_name, status, amount]
tenant: acme is not in the model-facing schema. Full contract: tools.yaml reference.
Apache-2.0. Forge the tools. Keep the store.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vectorsmith-0.1.1.tar.gz.
File metadata
- Download URL: vectorsmith-0.1.1.tar.gz
- Upload date:
- Size: 54.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
281429e410b27df740b41e8127f2c9c4cb1f18357c40472f63c6889a3a95af79
|
|
| MD5 |
848bb45746426e894a73bb05d1ec0b66
|
|
| BLAKE2b-256 |
8410818f0ff94ac451732ee4b9945d0d094b60b52ba551ac5aee512f177ed20a
|
Provenance
The following attestation bundles were made for vectorsmith-0.1.1.tar.gz:
Publisher:
release.yml on kjgpta/vectorsmith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vectorsmith-0.1.1.tar.gz -
Subject digest:
281429e410b27df740b41e8127f2c9c4cb1f18357c40472f63c6889a3a95af79 - Sigstore transparency entry: 2518428225
- Sigstore integration time:
-
Permalink:
kjgpta/vectorsmith@a4a2c9ca1750baec9a2fa2511bc3325a793d2171 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/kjgpta
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a4a2c9ca1750baec9a2fa2511bc3325a793d2171 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vectorsmith-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vectorsmith-0.1.1-py3-none-any.whl
- Upload date:
- Size: 81.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c4962e3602a7ea9e57bd280fb7c426a58675edf04ac0da2acd31d7134e4f1ce
|
|
| MD5 |
8f2e5d13c4bd99d2f8d9954b71e14544
|
|
| BLAKE2b-256 |
ac95aa7124437981118539b344bebe9ff1b4e89e8d5b2b1d0080220017e92c85
|
Provenance
The following attestation bundles were made for vectorsmith-0.1.1-py3-none-any.whl:
Publisher:
release.yml on kjgpta/vectorsmith
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vectorsmith-0.1.1-py3-none-any.whl -
Subject digest:
0c4962e3602a7ea9e57bd280fb7c426a58675edf04ac0da2acd31d7134e4f1ce - Sigstore transparency entry: 2518428599
- Sigstore integration time:
-
Permalink:
kjgpta/vectorsmith@a4a2c9ca1750baec9a2fa2511bc3325a793d2171 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/kjgpta
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a4a2c9ca1750baec9a2fa2511bc3325a793d2171 -
Trigger Event:
push
-
Statement type: