SIP News MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Host for HTTP transport. | 0.0.0.0 |
| MCP_PORT | No | Port for HTTP transport. | 8000 |
| QDRANT_URL | No | URL for Qdrant server (required if backend is qdrant). | |
| MCP_TRANSPORT | No | Transport protocol: stdio or http. | stdio |
| QDRANT_API_KEY | No | API key for Qdrant server (optional). | |
| OPENROUTER_API_KEY | No | API key for OpenRouter, required for semantic search/indexing. | |
| SIP_NEWS_CHROMA_DIR | No | Directory for local ChromaDB index (local disk only). | %LOCALAPPDATA% |
| SIP_NEWS_EMBED_MODEL | No | Embedding model id for semantic search. | nvidia/llama-nemotron-embed-vl-1b-v2:free |
| SIP_NEWS_VECTOR_BACKEND | No | Vector backend: chroma or qdrant. | chroma |
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_newsA | Full-text search across the entire SIP news archive (back to ~2012). |
| browse_latest_newsA | Browse the latest SIP news, newest first (no search query needed). |
| get_articleA | Fetch and return the full, cleaned text of a single SIP article. Returns the title, an optional summary, the body text (whitespace cleaned, markup removed), a word count, the category and the content language. |
| list_categoriesA | List the content categories and interface languages understood by the SIP site. |
| semantic_searchA | Meaning-based search over the SIP news index (vector similarity). |
| build_semantic_indexA | Build or update the local vector index that powers semantic_search. |
| semantic_index_statusA | Report the size and coverage of the semantic (vector) index. Returns how many items are indexed, the date range and content languages covered, the embedding model, the on-disk location, and whether an OpenRouter API key is configured. |
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 7 tools
Each tool has a clearly distinct purpose: browsing chronological feed, keyword search, semantic search, fetching articles, listing categories, and index management are all well-separated. Descriptions explicitly clarify differences (e.g., search vs. semantic_search).
Most tool names follow a verb_noun snake_case pattern (browse_latest_news, get_article, list_categories, search_news, build_semantic_index). However, 'semantic_index_status' and 'semantic_search' are noun phrases without a verb, breaking the pattern and introducing inconsistency.
With 7 tools, the server is well-scoped. It covers all core functionalities for a news archive (browsing, searching, retrieving, and managing the semantic index) without unnecessary bloat.
The tool surface is nearly complete for a read-only news server: both chronological and full-text search, plus semantic search, article retrieval, and index management. A minor gap is the lack of a dedicated 'get_article_by_id' tool, but URLs serve as identifiers.