MCP server that exposes ZettaQuant V-SLM (topic-conditioned sentence relevancy) to any MCP-aware LLM host — Claude Desktop, Cursor, Zed, Windsurf.
Project description
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.
Project details
Release history Release notifications | RSS feed
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 zettaquant_vslm_mcp-0.1.0.tar.gz.
File metadata
- Download URL: zettaquant_vslm_mcp-0.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04c2b535f53de6efccb070f8091af124e65280ff534de70ab9f74c5ac18bbba1
|
|
| MD5 |
79f7a633a9971c223ddbd33056f54561
|
|
| BLAKE2b-256 |
32fbb647dfe23063d3691c9445ff9da8aab50e57492b15bec54ed33f1aa0eb5c
|
File details
Details for the file zettaquant_vslm_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: zettaquant_vslm_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fc42b2f95e5c1e58ac11079a48e8494e483c3274df2a172ae591f7e760ca6d7
|
|
| MD5 |
ddf050aa195ff37fa4e05a8c9bb5c734
|
|
| BLAKE2b-256 |
2869da55ebf7b27b54295607f00ed6c40fb4b8e5203a1fca62a3ffd39b3ef052
|