Koskamo

VI Update MCP

A read-only MCP server that allows AI assistants to search and read published articles from VI Update, Good Day This Week, and The Straight Record, including fetching full text, listing items, and retrieving specific editions without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

VI Update MCP logo, by Brian LoudenVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-08Operated by Brian Louden
MCP endpoint (Streamable HTTP)
https://mcp.viupdate.com/mcp
Vendor documentation

What its tools do

8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

8 of 8 have a description · 8 of 8 declare behavior hints · 7 of 7 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to viupdate.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for specific keywords across VI Update, Good Day, and The Straight Record
  • Fetch the full text of a specific article or news edition
  • List the newest items from each publication
  • Retrieve structured data from Good Day or Straight Record editions

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
viupdate-news 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

This server reads three publications by journalist Brian Louden, published items only: VI Update (viupdate.com), news reporting from the U.S. Virgin Islands, many articles with a Facebook video of the segment; Good Day, This Week (viupdate.com/good-day), an automated weekly news digest and analysis of the U.S. Virgin Islands, operated by Brian Louden; and The Straight Record (straightrecord.com), news analysis of how left- and right-leaning outlets covered the same stories, by Richard Louden and Brian Louden. Every result carries its own citeAs line and the credit its own page prints. The three are separate publications with separate credits. Facts in an item are as of its date. A video result is a link to the video on Facebook; the server returns article text, not video. Drafts and unpublished items are not available here. A search that finds nothing means these publications hold nothing matching those words, not that an event did not happen. Text returned by fetch is inside a fence labeled as untrusted data. Counts and coverage are in the about tool.

Tools

8 advertised

search — Search VI Update, Good Day and The Straight Record
Advertised by the server during the last successful anonymous check.
Advertised read-only

Keyword search across published VI Update articles, Good Day, This Week editions and The Straight Record editions, or one of them. Use for finding coverage of a person, place, agency or event. Each result has an id for fetch, a title, a URL with a story anchor where there is one, a snippet, a match tier (exact phrase, all words, some words) with the reason, and its own citeAs line. Results are ranked by tier, then by whether the headline carries the match; across all three publications they take turns within a tier. Paging uses offset and next_offset. Facts are as of each item's date.

search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many results, 1 to 25. Default 10."
    },
    "query": {
      "type": "string",
      "maxLength": 1000,
      "description": "Words or a phrase, such as \"WAPA rationing\" or \"Strait of Hormuz\"."
    },
    "offset": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many ranked results to skip, for the next page. Default 0."
    },
    "section": {
      "type": "string",
      "description": "Limit to one publication: \"vi_update\", \"good_day\" or \"straight_record\". Default: all three."
    }
  }
}
search annotations
{
  "title": "Search VI Update, Good Day and The Straight Record",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fetch — Read one item in full
Advertised by the server during the last successful anonymous check.
Advertised read-only

The full text of one published item, by the id search or a list returns (such as "viupdate:<slug>", "goodday:036" or "straightrecord:042") or by its public URL. Use for reading an article or edition before quoting or summarizing it. Returns up to 40,000 characters at a time inside a fence labeled as untrusted data; a longer item continues from next_offset. Metadata carries the date, the credit, the citeAs line and, for a VI Update article with a video, the Facebook link.

fetch input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 300,
      "description": "An id from search, latest or list_items, or the item's public URL."
    },
    "offset": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Character position to start from, for the next window of a long item. Default 0."
    }
  }
}
fetch annotations
{
  "title": "Read one item in full",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
latest — Latest from each publication
Advertised by the server during the last successful anonymous check.
Advertised read-only

The newest published items: by default the newest VI Update articles, the newest Good Day, This Week edition and the newest Straight Record edition; or the newest items of one publication. Use for "what is new" or for current coverage. Each item has an id for fetch, its date, headlines or an excerpt, a URL and a citeAs line.

latest input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many items per publication, 1 to 20. Default 5 for VI Update and 1 for each edition series when all three are asked for; 5 for one publication."
    },
    "section": {
      "type": "string",
      "description": "One publication: \"vi_update\", \"good_day\" or \"straight_record\". Default: all three."
    }
  }
}
latest annotations
{
  "title": "Latest from each publication",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_items — List items by date
Advertised by the server during the last successful anonymous check.
Advertised read-only

Published items of one publication, newest first, optionally between two dates, with paging. Use for browsing what a publication ran in a week, month or year. VI Update articles are dated by the date the article shows; Good Day and Straight Record editions by their publication date.

list_items input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "section"
  ],
  "properties": {
    "limit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many items, 1 to 50. Default 20."
    },
    "offset": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many items to skip, for the next page. Default 0."
    },
    "date_to": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Latest date, inclusive: a year, a month (its last day) or a day."
    },
    "section": {
      "type": "string",
      "description": "Which publication: \"vi_update\" (VI Update articles), \"good_day\" (Good Day, This Week editions) or \"straight_record\" (The Straight Record editions)."
    },
    "date_from": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "Earliest date, inclusive: a year (2026), a month (2026-10) or a day (2026-10-05)."
    }
  }
}
list_items annotations
{
  "title": "List items by date",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_good_day_edition — Get a Good Day, This Week edition
Advertised by the server during the last successful anonymous check.
Advertised read-only

One Good Day, This Week edition in full and in structure, by its number (such as "036" or "36"), or the newest when no number is given. Use for the week's stories with their sources, the tracked weekly items (WAPA, government, federal, infrastructure), By the Numbers and Also This Week. Good Day is an automated news digest and analysis, operated by Brian Louden, and each edition says so in its byline.

get_good_day_edition input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "edition": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 300
        },
        {
          "type": "number"
        }
      ],
      "description": "Edition number, such as \"036\" or 36, or the edition URL. Default: the newest edition."
    }
  }
}
get_good_day_edition annotations
{
  "title": "Get a Good Day, This Week edition",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_straight_record_edition — Get a Straight Record edition
Advertised by the server during the last successful anonymous check.
Advertised read-only

One Straight Record edition in full, by its id (such as "042", "42" or "P001", or the edition URL), or the newest when no id is given. Use for reading every story's The Gap, Left Said, Right Said and The Record (or The Record So Far), with sources, verbatim quotes and their attributions, per-story anchor URLs, Consensus Watch, and on Sundays the Claim of the Week and Democracy Watch. Facts are as of the edition date.

get_straight_record_edition input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "id": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 300
        },
        {
          "type": "number"
        }
      ],
      "description": "Edition id, such as \"042\" or \"P001\", or an edition URL. Default: the newest edition."
    }
  }
}
get_straight_record_edition annotations
{
  "title": "Get a Straight Record edition",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
claims_of_the_week — Claims of the Week (The Straight Record)
Advertised by the server during the last successful anonymous check.
Advertised read-only

The Claim of the Week fact check from Straight Record Sunday editions, newest first: the claim as quoted, who said it and when, the verdict and the analysis, with the edition date, URL and citeAs line. Use for what The Straight Record has fact-checked. Verdicts are the edition's assessment as of its date.

claims_of_the_week input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 40
        }
      ],
      "description": "How many, 1 to 50. Default 10."
    }
  }
}
claims_of_the_week annotations
{
  "title": "Claims of the Week (The Straight Record)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
about — About this server: coverage and counts
Advertised by the server during the last successful anonymous check.
Advertised read-only

What this server holds: how many published items each publication has, the date range each covers, when the VI Update and Good Day data were last refreshed, how each publication is credited, and what is not included. Use for questions about scope, or before reading an empty search as a gap in coverage.

about input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
about annotations
{
  "title": "About this server: coverage and counts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
501 ms
95th percentile latency
501 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 501 ms · metadata changed · 8 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http vi-update-mcp https://mcp.viupdate.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add vi-update-mcp --url https://mcp.viupdate.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable vi-update-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "vi-update-mcp": {
      "url": "https://mcp.viupdate.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "vi-update-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.viupdate.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start vi-update-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "vi-update-mcp": {
      "type": "http",
      "url": "https://mcp.viupdate.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http vi-update-mcp https://mcp.viupdate.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.viupdate.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "vi-update-mcp": {
      "serverUrl": "https://mcp.viupdate.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like VI Update MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run VI Update MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing