zettaquant-vslm-mcp
MCP server that exposes ZettaQuant V-SLM to any MCP-aware LLM host.
Add three lines to your Claude Desktop / Cursor / Zed / Windsurf config and your model can autonomously filter noisy context (earnings-call transcripts, news articles, long reports, log lines) using ZettaQuant's topic-conditioned relevancy classifier — typically cutting token spend 5-10× before the LLM even sees the input.
What it exposes
One tool, over stdio, via the Model Context Protocol:
| Tool | Purpose |
|---|---|
vslm_predict(sentences, query) |
Filter sentences to only those relevant to query. Returns relevant_sentences plus stats. Uses the broad-domain V-SLM general_context_agent under the hood. |
The LLM decides when to call it on its own — no code you have to write in the host.
Install & configure
You need a ZettaQuant API key with the vslm scope. Get one at zettaquant.ai (or ask your account contact).
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"zettaquant-vslm": {
"command": "uvx",
"args": ["zettaquant-vslm-mcp"],
"env": {
"ZQ_API_KEY": "<your api key>"
}
}
}
}
Restart Claude Desktop. The tools appear under the "Tools" menu.
Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"zettaquant-vslm": {
"command": "uvx",
"args": ["zettaquant-vslm-mcp"],
"env": { "ZQ_API_KEY": "<your api key>" }
}
}
}
Restart Cursor.
Zed
In ~/.config/zed/settings.json:
{
"context_servers": {
"zettaquant-vslm": {
"command": {
"path": "uvx",
"args": ["zettaquant-vslm-mcp"],
"env": { "ZQ_API_KEY": "<your api key>" }
}
}
}
}
Windsurf / other MCP hosts
Any host that supports the standard mcpServers config shape works — use the same command + args + env block as above.
Environment variables
| Variable | Required | Default | Notes |
|---|---|---|---|
ZQ_API_KEY |
✅ | — | Your ZettaQuant API key. Must have the vslm scope. |
ZQ_BASE_URL |
https://api.zettaquant.ai |
Override for staging or a private gateway. |
Usage examples in the LLM
Once installed, just ask naturally. Some prompts that will trigger vslm_predict:
- "Here are 40 sentences from Apple's Q3 earnings call. Pull out the ones about AI capex plans."
- "Filter these log lines down to anything related to lateral movement."
- "I pasted a 10-K risk section. Only show me sentences about supply-chain exposure."
The model calls vslm_predict under the hood, gets back the relevant sentences, and works from those — cheaper and more precise than reading the full input.
What is MCP?
The Model Context Protocol is an open standard (released by Anthropic, November 2024) for connecting LLM hosts to external tools and data. It's essentially "USB-C for AI apps" — write one integration and every MCP-aware host can use it. This package is a server in MCP parlance; the LLM host is the client.
Development
uv venv
uv pip install -e ".[dev]"
export ZQ_API_KEY="..."
python -m zettaquant_vslm_mcp
The server speaks JSON-RPC on stdin/stdout. To poke it manually, use the MCP Inspector:
npx @modelcontextprotocol/inspector uvx zettaquant-vslm-mcp
Troubleshooting
- "ZQ_API_KEY is not set" in the host logs → the
envblock in your MCP config didn't propagate. Confirm the config file path and restart the host. - 401 in tool output → key is valid but wrong. Try it directly:
curl -H "x-api-key: $ZQ_API_KEY" https://api.zettaquant.ai/v1/usage/me. - 403 SCOPE_DENIED → your key doesn't have the
vslmscope. Contact ZettaQuant. - 429 QUOTA_EXCEEDED → you hit your per-period cap; the error message includes the reset time.
License
MIT.
Metadata
Release files for zettaquant-vslm-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zettaquant_vslm_mcp-0.1.1.tar.gz | 6.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zettaquant_vslm_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.0 kB
Release files / zettaquant_vslm_mcp-0.1.1.tar.gz
| Download URL | zettaquant_vslm_mcp-0.1.1.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
088eeea7aebe96203f513b4a08f5a02fab8e9302eb8efc9960304417298a161b
|
|
BLAKE2b-256 checksum How to use checksums |
ea8f0d37d3d4d65f6497d1bfb011fadcc6ed026ce7cf4a9cc5d102761e0b4af6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / zettaquant_vslm_mcp-0.1.1-py3-none-any.whl
| Download URL | zettaquant_vslm_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cab3d6d3903067ae2e24b3a6d24510a3ad08b14ff6fa318935ddfde6d43438db
|
|
BLAKE2b-256 checksum How to use checksums |
374871186c5f36fea2e93a30dfd2ebb0ab1bc2ab35c45f4de75bc3583022cf2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for zettaquant-vslm-mcp 0.1.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.