io.github.mushfique-dgist/vox-pop
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_HOST | No | Host URL for a local Ollama instance to enable Tier 2 LLM query rewriting locally and for free. | |
| OPENAI_API_KEY | No | OpenAI API key to enable Tier 2 LLM query rewriting using GPT-4o Mini. If set, query text is sent to OpenAI API for routing. | |
| ANTHROPIC_API_KEY | No | Anthropic API key to enable Tier 2 LLM query rewriting using Claude Haiku. If set, query text is sent to Anthropic API for routing. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_opinionsA | Search for real public opinions across multiple platforms. Args: query: What to search for (e.g. "best laptop for programming") platforms: Comma-separated platform names, or "auto" for all. Available: hackernews, reddit, 4chan, stackexchange, telegram, lobsters, lemmy, lesswrong, forums limit: Max results per platform (default 5). routing_hints: Optional. Comma-separated platform:destination pairs specifying which communities/boards to search. This dramatically improves result quality. Format: "reddit:subreddit,4chan:board,stackexchange:site,telegram:channel, lemmy:community,forums:forum_id" Examples: "reddit:fitness,reddit:loseit,4chan:fit,lemmy:fitness@lemmy.world" "reddit:MechanicalKeyboards,4chan:g,forums:headfi" "reddit:berlin,reddit:germany,4chan:int,lemmy:asklemmy@lemmy.ml" "stackexchange:stackoverflow,reddit:programming,lemmy:programming@programming.dev" Forum IDs: headfi, anandtech If empty, destinations are auto-detected from the query. |
| search_opinions_perspectiveA | Search for opinions with a Then vs Now perspective. Returns both historical (1+ year old) and recent (last 6 months) opinions side by side, showing how public sentiment has evolved. Works best with HackerNews, Reddit, and Stack Exchange which support time filtering. 4chan and Telegram return current data only. Args: query: What to search for platforms: Comma-separated platform names, or "auto" for all limit: Max results per time period per platform (default 5) routing_hints: Optional. Comma-separated platform:destination pairs specifying which communities/boards to search. Format: "reddit:subreddit,4chan:board,stackexchange:site,telegram:channel" If empty, destinations are auto-detected from the query. |
| get_thread_opinionsB | Get all opinions/comments from a specific thread. Args: platform: Platform name (hackernews, reddit, 4chan, stackexchange) thread_id: The thread/post ID on that platform limit: Max comments to return (default 20) |
| list_available_platformsA | List all available opinion platforms and their capabilities. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
search_opinions and search_opinions_perspective overlap heavily in purpose, differing only in the time-comparison angle. An agent may struggle to decide which to call for a given query, though get_thread_opinions and list_available_platforms are clearly distinct.
Tool names follow a consistent verb_noun pattern (search, get, list). search_opinions_perspective is slightly awkward compared to a cleaner alternative like search_opinions_trend, but the pattern remains readable and predictable.
Four tools is a well-scoped set for a focused opinion-search server. Each tool serves a meaningful purpose without redundancy or bloat.
The surface covers the core lifecycle of searching and retrieving opinions: generic search, time-perspective search, thread detail fetching, and platform discovery. A minor gap is the lack of a direct 'get opinion by ID' operation, but it's not essential for the server's purpose.