Skip to main content

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.

Docs · GitHub · Changelog

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
A remote / Kubernetes MCP server pip install "vectorsmith[qdrant,auth-jwt,otel]" vectorsmith serve tools.yaml --http 0.0.0.0:8080 --auth jwt

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. Production HTTP (JWT, /readyz, OTel, Helm): self-host · enterprise.

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.

0.2.0 is the production HTTP server: JWT / API keys, request tenancy, RBAC, Vault / AWS SM / Kubernetes credentials, audit (file / HTTP / OTLP), OpenTelemetry traces, Prometheus /metrics, Redis rate limits, profiles.enterprise at serve time. Extras: auth-jwt · auth-redis · otel · creds-aws · embed-openai · embed-cohere · rerank-local.

Apache-2.0. Forge the tools. Keep the store.

Metadata

Release files for vectorsmith 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vectorsmith 0.2.0
File Size Uploaded
vectorsmith-0.2.0.tar.gz 99.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vectorsmith 0.2.0
File Interpreter ABI Platform
vectorsmith-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 245.2 kB

Release files / vectorsmith-0.2.0.tar.gz

Download URL vectorsmith-0.2.0.tar.gz
Size 99.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3cd1c678d5c3153575bec47750e17fbcb66bb337c108b2cf81bb733f32f1f590
BLAKE2b-256 checksum
How to use checksums
f03b092898e92fd632ed1b8cbe4145e51dec1cd2d82ba36aafa3b6afd24e0534
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.

Transparency log

Release files / vectorsmith-0.2.0-py3-none-any.whl

Download URL vectorsmith-0.2.0-py3-none-any.whl
Size 146.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60c32f48d2a9e43ad46e7d01889305f890b8071f5efbff46d76f570f66d2dbd6
BLAKE2b-256 checksum
How to use checksums
408410f0a281c1481c18e4babc7c6b97390536a85b0298aa94b2d64b38c7c02a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page