ZettaQuant V-SLM

भाषा मॉडल द्वारा पढ़े जाने से पहले वाक्यों के एक बैच को केवल उन्हीं तक सीमित करें जो किसी विषय से प्रासंगिक हों, जिससे शोरगुल वाले संदर्भ पर टोकन खर्च कम हो।

दस्तावेज़

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 filter noisy context (earnings-call transcripts, news articles, long reports, log lines) using ZettaQuant's topic-conditioned relevancy classifier — typically cutting token spend before the language model even sees the input.


What it exposes

One tool, over stdio, via the Model Context Protocol:

ToolPurpose
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

VariableRequiredDefaultNotes
ZQ_API_KEYYesYour ZettaQuant API key. Must have the vslm scope.
ZQ_BASE_URLhttps://api.zettaquant.aiOverride 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.


Development

uv venv
uv pip install -e .
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 env block 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.
  • ZettaQuant access denied (403) → your key doesn't have the vslm scope. Contact ZettaQuant.
  • ZettaQuant quota exceeded (429) → you hit your per-period cap; the error message includes the reset time.

License

MIT.